diff --git a/.env.example b/.env.example index ea3cd4e..af7a2c0 100644 --- a/.env.example +++ b/.env.example @@ -22,11 +22,10 @@ SEOUL_DATA_API_KEY= # --- 네이버 (장소 메타데이터 보강) --- NAVER_API_KEY= -# --- Neo4j (지식그래프 / 선택) --- -NEO4J_URI= -NEO4J_USERNAME= -NEO4J_PASSWORD= -NEO4J_DATABASE=neo4j - # --- 캐시 (선택) --- REDIS_URL= + +# --- API 운영 보호 --- +ENVIRONMENT=development +API_AUTH_TOKEN= +CORS_ALLOWED_ORIGINS=http://localhost:8000,http://127.0.0.1:8000 diff --git a/.impeccable/critique/2026-05-30T06-32-37Z__src-api-static-index-html.md b/.impeccable/critique/2026-05-30T06-32-37Z__src-api-static-index-html.md index ea43695..eb13e93 100644 --- a/.impeccable/critique/2026-05-30T06-32-37Z__src-api-static-index-html.md +++ b/.impeccable/critique/2026-05-30T06-32-37Z__src-api-static-index-html.md @@ -1,3 +1,4 @@ + --- target: src/api/static/index.html total_score: 28 diff --git a/.impeccable/critique/2026-05-30T06-43-35Z__src-api-static-index-html.md b/.impeccable/critique/2026-05-30T06-43-35Z__src-api-static-index-html.md index 686adce..46fac16 100644 --- a/.impeccable/critique/2026-05-30T06-43-35Z__src-api-static-index-html.md +++ b/.impeccable/critique/2026-05-30T06-43-35Z__src-api-static-index-html.md @@ -1,3 +1,4 @@ + --- target: src/api/static/index.html total_score: 31 diff --git a/.impeccable/critique/2026-06-09T16-23-22Z__src-api-static-index-html.md b/.impeccable/critique/2026-06-09T16-23-22Z__src-api-static-index-html.md index be1e351..686f97d 100644 --- a/.impeccable/critique/2026-06-09T16-23-22Z__src-api-static-index-html.md +++ b/.impeccable/critique/2026-06-09T16-23-22Z__src-api-static-index-html.md @@ -1,3 +1,4 @@ + --- target: src/api/static/index.html total_score: 28 diff --git a/.impeccable/critique/2026-06-09T16-52-59Z__src-api-static-index-html.md b/.impeccable/critique/2026-06-09T16-52-59Z__src-api-static-index-html.md index a278c27..8515a7d 100644 --- a/.impeccable/critique/2026-06-09T16-52-59Z__src-api-static-index-html.md +++ b/.impeccable/critique/2026-06-09T16-52-59Z__src-api-static-index-html.md @@ -1,3 +1,4 @@ + --- target: src/api/static/index.html total_score: 31 diff --git a/AGENTS.md b/AGENTS.md index 79c0466..c94a7e2 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -1,4 +1,4 @@ - + # 프로젝트: Explainable Travel Plan Validator ## 기술 스택 diff --git a/CLAUDE.md b/CLAUDE.md index 536b75a..60410c8 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -1,4 +1,4 @@ - + # 프로젝트: Explainable Travel Plan Validator ## 기술 스택 diff --git a/GEMINI.md b/GEMINI.md index 67a94da..ab11ba4 100644 --- a/GEMINI.md +++ b/GEMINI.md @@ -1,4 +1,4 @@ - + # GEMINI — 시니어 엔지니어 검토자 역할 정의 ## 역할 diff --git a/PRODUCT.md b/PRODUCT.md index 9f9f924..f5a8687 100644 --- a/PRODUCT.md +++ b/PRODUCT.md @@ -1,3 +1,4 @@ + # Product ## Register diff --git a/README.md b/README.md index 2e42a5e..51143a5 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ - + # 관광 일정 QA 엔진 — Explainable Travel Plan Validator diff --git a/SUMMARY.md b/SUMMARY.md index 7f5739b..b220020 100644 --- a/SUMMARY.md +++ b/SUMMARY.md @@ -1,4 +1,4 @@ - + 0. 실증 분석 근거 — "왜 이 시스템이 필요한가" diff --git a/api.md b/api.md index b44ddb3..0d59861 100644 --- a/api.md +++ b/api.md @@ -1,3 +1,4 @@ + # API 테스트 스니펫 API 키는 `.env`에서 읽는다. 실행 전 `pip install python-dotenv requests` 필요. diff --git a/data_construct.md b/data_construct.md index dee3323..f081486 100644 --- a/data_construct.md +++ b/data_construct.md @@ -1,4 +1,4 @@ - + # 제주 Place 지식그래프 스키마 (Head - Relation - Tail) diff --git a/docs/ADR.md b/docs/ADR.md index 94038f0..a620d7b 100644 --- a/docs/ADR.md +++ b/docs/ADR.md @@ -1,4 +1,4 @@ - + # Architecture Decision Records ## 철학 diff --git a/docs/ARCHITECTURE.md b/docs/ARCHITECTURE.md index 291408a..6945ee6 100644 --- a/docs/ARCHITECTURE.md +++ b/docs/ARCHITECTURE.md @@ -1,4 +1,4 @@ - + # 아키텍처 ## 시스템 흐름 @@ -49,7 +49,7 @@ src/ │ └── orchestrator.py # 전체 파이프라인 오케스트레이터 └── api/ ├── main.py # FastAPI app + lifespan - ├── routes.py # /validate, /repair/{plan_id}, /health + ├── router.py # /api/validate, /api/places, /health └── schemas.py # ValidateRequest, ValidateResponse Pydantic 스키마 tests/ ├── test_cluster_dispersion.py # M1-M4 밀집도 7개 테스트 diff --git a/docs/DATA_COLLECTION.md b/docs/DATA_COLLECTION.md index 3474186..259ea6e 100644 --- a/docs/DATA_COLLECTION.md +++ b/docs/DATA_COLLECTION.md @@ -1,4 +1,4 @@ - + # 데이터 파이프라인 가이드 본 시스템은 두 개의 외부 API를 데이터 소스로 사용한다: diff --git a/docs/ENHANCEMENT_PLAN.md b/docs/ENHANCEMENT_PLAN.md index 649db70..4a93404 100644 --- a/docs/ENHANCEMENT_PLAN.md +++ b/docs/ENHANCEMENT_PLAN.md @@ -1,4 +1,4 @@ - + # 패널티 통합 설계서 (Enhancement Plan v2) > "**진짜 갈 수 있는 길인가**"(현실 제약) + "**얼마나 좋은 경로인가**"(품질 평가) — 6개 패널티 요구사항을 VRPTW 엔진(이미 구현)과 3개 신규 scoring 모듈로 분담 처리. diff --git a/docs/PRD.md b/docs/PRD.md index 1f871aa..ea2d206 100644 --- a/docs/PRD.md +++ b/docs/PRD.md @@ -1,4 +1,4 @@ - + # PRD: Explainable Travel Plan Validator ## 목표 @@ -14,9 +14,9 @@ ## 핵심 기능 -1. **일정 검증** (`POST /validate`): 여행 일정 입력 → Hard Fail/Warning 탐지 → 점수 + 설명 보고서 -2. **수정 제안** (`GET /repair/{plan_id}`): 검증 결과 기반 제약 수정(Repair) 제안 반환 -3. **REST API**: FastAPI `/validate`, `/repair/{plan_id}`, `/health` 엔드포인트 +1. **일정 검증** (`POST /api/validate`): 여행 일정 입력 → Hard Fail/Warning 탐지 → 점수 + 설명 보고서 +2. **수정 제안**: 검증 응답의 `repair_suggestions` 필드로 즉시 반환 +3. **REST API**: FastAPI `/api/validate`, `/api/places`, `/health` 엔드포인트 ## 검증 프레임워크 @@ -118,7 +118,7 @@ Hard Fail 존재 시: Final Score = min(계산값, 59) ### Story 2 — 수정 제안 요청자 > "검증 결과에서 비효율적인 동선이 있었다. 자동 수정 제안을 받고 싶다." -- `GET /repair/{plan_id}` 로 Repair 제안 수신 +- `POST /api/validate` 응답의 `repair_suggestions`로 Repair 제안 수신 - 우선순위: Hard Fail 제거 → 재방문 제거 → 일정 과밀 완화 → 효율 개선 ### Story 3 — B2B 여행 플랫폼 diff --git a/docs/UI_GUIDE.md b/docs/UI_GUIDE.md index 66242ec..98826fe 100644 --- a/docs/UI_GUIDE.md +++ b/docs/UI_GUIDE.md @@ -1,4 +1,4 @@ - + # API 설계 가이드 ## 설계 원칙 @@ -98,7 +98,7 @@ --- -### GET /repair/{plan_id} +### Repair 제안 검증된 일정의 Repair 제안 반환. **Response** (200) @@ -168,4 +168,4 @@ | 에러를 500으로 퉁치기 | 클라이언트가 원인 알 수 없음. 구체적 4xx/5xx 사용 | | `time.sleep()` in async 함수 | `asyncio.sleep()` 사용 | | 전역 변수에 연결 객체 저장 | FastAPI lifespan + dependency injection 사용 | -| plan_id 없이 수정 제안 반환 | /repair는 항상 /validate 이후에 호출됨. plan_id 필수 | +| 수정 제안 반환 | POST /api/validate 응답의 repair_suggestions에서 반환한다. 별도 /repair 호출은 제공하지 않는다. | diff --git a/graphify-out/.graphify_detect.json b/graphify-out/.graphify_detect.json new file mode 100644 index 0000000..a0eba82 --- /dev/null +++ b/graphify-out/.graphify_detect.json @@ -0,0 +1 @@ +{"files": {"code": ["/Users/baiohelseu/Desktop/Project/Travel-QA/.codex/hooks.json", "/Users/baiohelseu/Desktop/Project/Travel-QA/data/barrier_free_places.json", "/Users/baiohelseu/Desktop/Project/Travel-QA/data/jeju_hours.json", "/Users/baiohelseu/Desktop/Project/Travel-QA/data/naver/naver_metadata.json", "/Users/baiohelseu/Desktop/Project/Travel-QA/data/naver/naver_progress.json", "/Users/baiohelseu/Desktop/Project/Travel-QA/data/supabase_migration_congestion.sql", "/Users/baiohelseu/Desktop/Project/Travel-QA/data/wellness_places.json", "/Users/baiohelseu/Desktop/Project/Travel-QA/gun/data/kakao_route_cache.json", "/Users/baiohelseu/Desktop/Project/Travel-QA/gun/scripts/build_hours_db.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/gun/scripts/build_itinerary_excel.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/gun/scripts/build_ppt.js", "/Users/baiohelseu/Desktop/Project/Travel-QA/gun/scripts/build_travel_matrix.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/gun/scripts/create_input_template.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/gun/scripts/curated_itineraries.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/gun/scripts/fetch_google_hours.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/gun/scripts/fetch_tourapi_to_csv.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/gun/scripts/inspect_json.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/gun/scripts/preprocess_pois.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/gun/scripts/setup_and_test.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/gun/src/__init__.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/gun/src/validation/__init__.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/gun/tests/__init__.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/package.json", "/Users/baiohelseu/Desktop/Project/Travel-QA/phases/0-setup/analysis_result.json", "/Users/baiohelseu/Desktop/Project/Travel-QA/phases/0-setup/analyze.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/phases/0-setup/analyze_triple.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/phases/0-setup/cache_route.json", "/Users/baiohelseu/Desktop/Project/Travel-QA/phases/0-setup/index.json", "/Users/baiohelseu/Desktop/Project/Travel-QA/phases/0-setup/statistical_report.json", "/Users/baiohelseu/Desktop/Project/Travel-QA/phases/0-setup/statistical_report.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/phases/0-setup/triple_analysis_result.json", "/Users/baiohelseu/Desktop/Project/Travel-QA/phases/0-setup/visualize.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/phases/0-setup/visualize_combined.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/phases/1-data/index.json", "/Users/baiohelseu/Desktop/Project/Travel-QA/phases/2-matrix/index.json", "/Users/baiohelseu/Desktop/Project/Travel-QA/phases/3-graph/index.json", "/Users/baiohelseu/Desktop/Project/Travel-QA/phases/4-validation/index.json", "/Users/baiohelseu/Desktop/Project/Travel-QA/phases/5-explain/index.json", "/Users/baiohelseu/Desktop/Project/Travel-QA/phases/6-api/index.json", "/Users/baiohelseu/Desktop/Project/Travel-QA/phases/index.json", "/Users/baiohelseu/Desktop/Project/Travel-QA/pyproject.toml", "/Users/baiohelseu/Desktop/Project/Travel-QA/scripts/build_knowledge_graph.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/scripts/build_poi_dataset.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/scripts/collect_naver_full.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/scripts/collect_naver_metadata.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/scripts/collect_naver_only.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/scripts/demo_live_e2e.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/scripts/execute.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/scripts/extract_visitor_stats.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/scripts/fetch_jeju_hours.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/scripts/fetch_missing_pois.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/scripts/geocode_jeju_missing_coords.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/scripts/load_knowledge_graph_neo4j.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/scripts/neo4j_coverage_analysis.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/scripts/test_execute.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/scripts/test_pipeline.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/src/__init__.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/src/api/__init__.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/src/api/main.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/src/api/router.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/src/api/schemas.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/src/api/static/manifest.json", "/Users/baiohelseu/Desktop/Project/Travel-QA/src/api/static/service-worker.js", "/Users/baiohelseu/Desktop/Project/Travel-QA/src/data/__init__.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/src/data/barrier_free_api.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/src/data/dwell_db.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/src/data/graph_retriever.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/src/data/hours_db.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/src/data/kakao_local.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/src/data/models.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/src/data/party_config.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/src/data/region_config.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/src/data/restaurant_catalog.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/src/data/seoul_citydata_client.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/src/data/theme_taxonomy.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/src/data/tour_api.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/src/data/wellness_api.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/src/explain/__init__.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/src/explain/explain_engine.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/src/explain/pipeline.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/src/explain/plan_extractor.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/src/explain/repair.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/src/matrix/__init__.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/src/matrix/redis_matrix.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/src/scoring/__init__.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/src/scoring/bonus_engine.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/src/scoring/cluster_dispersion.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/src/scoring/congestion_engine.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/src/scoring/reward_engine.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/src/scoring/theme_alignment.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/src/scoring/travel_ratio.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/src/utils/__init__.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/src/utils/geo.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/src/validation/__init__.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/src/validation/alternatives.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/src/validation/hard_fail.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/src/validation/kakao_matrix.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/src/validation/scoring.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/src/validation/vrptw_engine.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/src/validation/warning.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/tests/__init__.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/tests/conftest.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/tests/test_alternatives.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/tests/test_bonus_engine.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/tests/test_cluster_dispersion.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/tests/test_congestion_engine.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/tests/test_dwell_db.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/tests/test_estimated_hardfail.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/tests/test_explain_engine.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/tests/test_geo.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/tests/test_graph_retriever.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/tests/test_hard_fail.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/tests/test_kakao_local.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/tests/test_kakao_matrix.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/tests/test_party_config.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/tests/test_pipeline_orchestrator.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/tests/test_plan_extractor.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/tests/test_region_config.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/tests/test_repair.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/tests/test_resolve_poi.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/tests/test_restaurant_catalog.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/tests/test_reward_engine.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/tests/test_scoring.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/tests/test_theme_alignment.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/tests/test_theme_taxonomy.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/tests/test_travel_ratio.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/tests/test_vrptw_engine.py", "/Users/baiohelseu/Desktop/Project/Travel-QA/tests/test_warning.py"], "document": ["/Users/baiohelseu/Desktop/Project/Travel-QA/.github/workflows/ci.yml", "/Users/baiohelseu/Desktop/Project/Travel-QA/.impeccable/critique/2026-05-30T06-32-37Z__src-api-static-index-html.md", "/Users/baiohelseu/Desktop/Project/Travel-QA/.impeccable/critique/2026-05-30T06-43-35Z__src-api-static-index-html.md", "/Users/baiohelseu/Desktop/Project/Travel-QA/.impeccable/critique/2026-06-09T16-23-22Z__src-api-static-index-html.md", "/Users/baiohelseu/Desktop/Project/Travel-QA/.impeccable/critique/2026-06-09T16-52-59Z__src-api-static-index-html.md", "/Users/baiohelseu/Desktop/Project/Travel-QA/.serena/project.yml", "/Users/baiohelseu/Desktop/Project/Travel-QA/AGENTS.md", "/Users/baiohelseu/Desktop/Project/Travel-QA/CLAUDE.md", "/Users/baiohelseu/Desktop/Project/Travel-QA/GEMINI.md", "/Users/baiohelseu/Desktop/Project/Travel-QA/PRODUCT.md", "/Users/baiohelseu/Desktop/Project/Travel-QA/README.md", "/Users/baiohelseu/Desktop/Project/Travel-QA/SUMMARY.md", "/Users/baiohelseu/Desktop/Project/Travel-QA/api.md", "/Users/baiohelseu/Desktop/Project/Travel-QA/data_construct.md", "/Users/baiohelseu/Desktop/Project/Travel-QA/docker-compose.yml", "/Users/baiohelseu/Desktop/Project/Travel-QA/docs/ADR.md", "/Users/baiohelseu/Desktop/Project/Travel-QA/docs/ARCHITECTURE.md", "/Users/baiohelseu/Desktop/Project/Travel-QA/docs/DATA_COLLECTION.md", "/Users/baiohelseu/Desktop/Project/Travel-QA/docs/ENHANCEMENT_PLAN.md", "/Users/baiohelseu/Desktop/Project/Travel-QA/docs/PRD.md", "/Users/baiohelseu/Desktop/Project/Travel-QA/docs/UI_GUIDE.md", "/Users/baiohelseu/Desktop/Project/Travel-QA/gun/docs/COLLECTION_GUIDE.md", "/Users/baiohelseu/Desktop/Project/Travel-QA/gun/docs/DESIGN_RECONCILIATION.md", "/Users/baiohelseu/Desktop/Project/Travel-QA/gun/docs/README.md", "/Users/baiohelseu/Desktop/Project/Travel-QA/phases/0-setup/step0.md", "/Users/baiohelseu/Desktop/Project/Travel-QA/phases/0-setup/step1.md", "/Users/baiohelseu/Desktop/Project/Travel-QA/phases/1-data/step0.md", "/Users/baiohelseu/Desktop/Project/Travel-QA/phases/1-data/step1.md", "/Users/baiohelseu/Desktop/Project/Travel-QA/phases/1-data/step2.md", "/Users/baiohelseu/Desktop/Project/Travel-QA/phases/1-data/step3.md", "/Users/baiohelseu/Desktop/Project/Travel-QA/phases/2-matrix/step0.md", "/Users/baiohelseu/Desktop/Project/Travel-QA/phases/3-graph/step0.md", "/Users/baiohelseu/Desktop/Project/Travel-QA/phases/3-graph/step1.md", "/Users/baiohelseu/Desktop/Project/Travel-QA/phases/3-graph/step2.md", "/Users/baiohelseu/Desktop/Project/Travel-QA/phases/4-validation/step0.md", "/Users/baiohelseu/Desktop/Project/Travel-QA/phases/4-validation/step1.md", "/Users/baiohelseu/Desktop/Project/Travel-QA/phases/4-validation/step2.md", "/Users/baiohelseu/Desktop/Project/Travel-QA/phases/5-explain/step0.md", "/Users/baiohelseu/Desktop/Project/Travel-QA/phases/5-explain/step1.md", "/Users/baiohelseu/Desktop/Project/Travel-QA/phases/5-explain/step2.md", "/Users/baiohelseu/Desktop/Project/Travel-QA/phases/6-api/step0.md", "/Users/baiohelseu/Desktop/Project/Travel-QA/phases/6-api/step1.md", "/Users/baiohelseu/Desktop/Project/Travel-QA/plan.md", "/Users/baiohelseu/Desktop/Project/Travel-QA/requirements.txt", "/Users/baiohelseu/Desktop/Project/Travel-QA/src/api/static/index.html"], "paper": [], "image": [], "video": []}, "total_files": 173, "total_words": 287609, "needs_graph": true, "warning": null, "skipped_sensitive": ["/Users/baiohelseu/Desktop/Project/Travel-QA/data/관광데이터랩/통계월보_202602.xlsx [office conversion failed - pip install graphifyy[office]]", "/Users/baiohelseu/Desktop/Project/Travel-QA/data/제주특별자치도_통합_TourAPI병합.xlsx [office conversion failed - pip install graphifyy[office]]", "/Users/baiohelseu/Desktop/Project/Travel-QA/docs/한국관광공사_개방데이터_활용신청방법_매뉴얼_v3.3.docx [office conversion failed - pip install graphifyy[office]]", "/Users/baiohelseu/Desktop/Project/Travel-QA/gun/data/category_hours.xlsx [office conversion failed - pip install graphifyy[office]]", "/Users/baiohelseu/Desktop/Project/Travel-QA/gun/data/itinerary_results_20260502.xlsx [office conversion failed - pip install graphifyy[office]]", "/Users/baiohelseu/Desktop/Project/Travel-QA/gun/data/place_hours_322.xlsx [office conversion failed - pip install graphifyy[office]]", "/Users/baiohelseu/Desktop/Project/Travel-QA/gun/data/recommendations_input.xlsx [office conversion failed - pip install graphifyy[office]]", "/Users/baiohelseu/Desktop/Project/Travel-QA/phases/0-setup/대한민국 구석구석 추천 경로.xlsx [office conversion failed - pip install graphifyy[office]]", "/Users/baiohelseu/Desktop/Project/Travel-QA/phases/0-setup/트리플 여행 추천 경로.xlsx [office conversion failed - pip install graphifyy[office]]", "/Users/baiohelseu/Desktop/Project/Travel-QA/신분류체계정보 관광타입정보 연계 정의서.xlsx [office conversion failed - pip install graphifyy[office]]", "/Users/baiohelseu/Desktop/Project/Travel-QA/한국관광공사_개방데이터_활용매뉴얼(국문)_v4.4.docx [office conversion failed - pip install graphifyy[office]]", "/Users/baiohelseu/Desktop/Project/Travel-QA/제주특별자치도_통합.xlsx [office conversion failed - pip install graphifyy[office]]"], "unclassified": ["/Users/baiohelseu/Desktop/Project/Travel-QA/.claudeignore", "/Users/baiohelseu/Desktop/Project/Travel-QA/.dockerignore", "/Users/baiohelseu/Desktop/Project/Travel-QA/.env.example", "/Users/baiohelseu/Desktop/Project/Travel-QA/.gitattributes", "/Users/baiohelseu/Desktop/Project/Travel-QA/.gitignore", "/Users/baiohelseu/Desktop/Project/Travel-QA/Dockerfile", "/Users/baiohelseu/Desktop/Project/Travel-QA/Makefile", "/Users/baiohelseu/Desktop/Project/Travel-QA/data/congestion_stats.csv", "/Users/baiohelseu/Desktop/Project/Travel-QA/data/jeju_places.csv", "/Users/baiohelseu/Desktop/Project/Travel-QA/data/pois.csv", "/Users/baiohelseu/Desktop/Project/Travel-QA/data/한국문화관광연구원/250630_2024년_변경지점(726개소_별도공표자료).xls", "/Users/baiohelseu/Desktop/Project/Travel-QA/gun/data/.~lock.category_hours.xlsx#", "/Users/baiohelseu/Desktop/Project/Travel-QA/gun/data/Travel_QA_Engine_2026_원본백업.pptx", "/Users/baiohelseu/Desktop/Project/Travel-QA/gun/data/classification_codes.csv", "/Users/baiohelseu/Desktop/Project/Travel-QA/gun/data/ldong_codes.csv", "/Users/baiohelseu/Desktop/Project/Travel-QA/gun/data/match_failed.csv", "/Users/baiohelseu/Desktop/Project/Travel-QA/phases/0-setup/geocoding_issues.csv", "/Users/baiohelseu/Desktop/Project/Travel-QA/test.ipynb", "/Users/baiohelseu/Desktop/Project/Travel-QA/uv.lock"], "walk_errors": [], "ignored": ["/Users/baiohelseu/Desktop/Project/Travel-QA/.DS_Store", "/Users/baiohelseu/Desktop/Project/Travel-QA/.claude/", "/Users/baiohelseu/Desktop/Project/Travel-QA/.env", "/Users/baiohelseu/Desktop/Project/Travel-QA/data/graph/", "/Users/baiohelseu/Desktop/Project/Travel-QA/data/관광데이터랩/.DS_Store", "/Users/baiohelseu/Desktop/Project/Travel-QA/data/한국문화관광연구원/.DS_Store", "/Users/baiohelseu/Desktop/Project/Travel-QA/docs/.DS_Store", "/Users/baiohelseu/Desktop/Project/Travel-QA/docs/.Rhistory", "/Users/baiohelseu/Desktop/Project/Travel-QA/gun/.DS_Store", "/Users/baiohelseu/Desktop/Project/Travel-QA/gun/data/.DS_Store", "/Users/baiohelseu/Desktop/Project/Travel-QA/phases/.DS_Store", "/Users/baiohelseu/Desktop/Project/Travel-QA/phases/0-setup/.DS_Store", "/Users/baiohelseu/Desktop/Project/Travel-QA/src/.DS_Store"], "pruned_noise_dirs": ["/Users/baiohelseu/Desktop/Project/Travel-QA/.git/", "/Users/baiohelseu/Desktop/Project/Travel-QA/.pytest_cache/", "/Users/baiohelseu/Desktop/Project/Travel-QA/.ruff_cache/", "/Users/baiohelseu/Desktop/Project/Travel-QA/.venv/", "/Users/baiohelseu/Desktop/Project/Travel-QA/graphify-out/", "/Users/baiohelseu/Desktop/Project/Travel-QA/scripts/__pycache__/", "/Users/baiohelseu/Desktop/Project/Travel-QA/src/__pycache__/", "/Users/baiohelseu/Desktop/Project/Travel-QA/src/api/__pycache__/", "/Users/baiohelseu/Desktop/Project/Travel-QA/src/data/__pycache__/", "/Users/baiohelseu/Desktop/Project/Travel-QA/src/explain/__pycache__/", "/Users/baiohelseu/Desktop/Project/Travel-QA/src/scoring/__pycache__/", "/Users/baiohelseu/Desktop/Project/Travel-QA/src/utils/__pycache__/", "/Users/baiohelseu/Desktop/Project/Travel-QA/src/validation/__pycache__/", "/Users/baiohelseu/Desktop/Project/Travel-QA/tests/__pycache__/", "/Users/baiohelseu/Desktop/Project/Travel-QA/travel_plan_validator.egg-info/"], "graphifyignore_patterns": 42, "scan_root": "/Users/baiohelseu/Desktop/Project/Travel-QA"} diff --git a/graphify-out/.graphify_python b/graphify-out/.graphify_python new file mode 100644 index 0000000..74c6fc6 --- /dev/null +++ b/graphify-out/.graphify_python @@ -0,0 +1 @@ +/Users/baiohelseu/.local/share/uv/tools/graphifyy/bin/python \ No newline at end of file diff --git a/graphify-out/.graphify_root b/graphify-out/.graphify_root new file mode 100644 index 0000000..733ed0e --- /dev/null +++ b/graphify-out/.graphify_root @@ -0,0 +1 @@ +/Users/baiohelseu/Desktop/Project/Travel-QA \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/01cbfd23b94cbd533ae354770d90475f7090879eea6324159c4bb235ff7071ee.json b/graphify-out/cache/ast/v0.9.31/01cbfd23b94cbd533ae354770d90475f7090879eea6324159c4bb235ff7071ee.json new file mode 100644 index 0000000..a2a9c42 --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/01cbfd23b94cbd533ae354770d90475f7090879eea6324159c4bb235ff7071ee.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_phases_0_setup_analyze_py", "label": "analyze.py", "file_type": "code", "source_file": "phases/0-setup/analyze.py", "source_location": "L1"}, {"id": "$graphify-root$_phases_0_setup_analyze_load_env", "label": "_load_env()", "file_type": "code", "source_file": "phases/0-setup/analyze.py", "source_location": "L14", "_callable": true}, {"id": "$graphify-root$_phases_0_setup_analyze_parse_cell", "label": "parse_cell()", "file_type": "code", "source_file": "phases/0-setup/analyze.py", "source_location": "L43", "_callable": true}, {"id": "$graphify-root$_phases_0_setup_analyze_geocode_tourapi", "label": "geocode_tourapi()", "file_type": "code", "source_file": "phases/0-setup/analyze.py", "source_location": "L106", "_callable": true}, {"id": "$graphify-root$_phases_0_setup_analyze_geocode_kakao_local", "label": "geocode_kakao_local()", "file_type": "code", "source_file": "phases/0-setup/analyze.py", "source_location": "L129", "_callable": true}, {"id": "$graphify-root$_phases_0_setup_analyze_geocode_nominatim", "label": "geocode_nominatim()", "file_type": "code", "source_file": "phases/0-setup/analyze.py", "source_location": "L153", "_callable": true}, {"id": "$graphify-root$_phases_0_setup_analyze_geocode_single", "label": "geocode_single()", "file_type": "code", "source_file": "phases/0-setup/analyze.py", "source_location": "L170", "_callable": true}, {"id": "$graphify-root$_phases_0_setup_analyze_haversine_travel_sec", "label": "haversine_travel_sec()", "file_type": "code", "source_file": "phases/0-setup/analyze.py", "source_location": "L218", "_callable": true}, {"id": "$graphify-root$_phases_0_setup_analyze_get_travel_time", "label": "get_travel_time()", "file_type": "code", "source_file": "phases/0-setup/analyze.py", "source_location": "L225", "_callable": true}, {"id": "$graphify-root$_phases_0_setup_analyze_haversine", "label": "haversine()", "file_type": "code", "source_file": "phases/0-setup/analyze.py", "source_location": "L258", "_callable": true}, {"id": "$graphify-root$_phases_0_setup_analyze_cluster_label", "label": "cluster_label()", "file_type": "code", "source_file": "phases/0-setup/analyze.py", "source_location": "L266", "_callable": true}, {"id": "$graphify-root$_phases_0_setup_analyze_percentile", "label": "percentile()", "file_type": "code", "source_file": "phases/0-setup/analyze.py", "source_location": "L351", "_callable": true}, {"id": "$graphify-root$_phases_0_setup_analyze_stats_block", "label": "stats_block()", "file_type": "code", "source_file": "phases/0-setup/analyze.py", "source_location": "L372", "_callable": true}, {"id": "$graphify-root$_phases_0_setup_analyze_rationale_1", "label": "\uad6c\uc11d\uad6c\uc11d 50\uac1c \uc5ec\ud589 \uacbd\ub85c \ubd84\uc11d \ud30c\uc774\ud504\ub77c\uc778 1. \uc7a5\uc18c\uba85 \ud30c\uc2f1 \u2192 2. \uc9c0\uc624\ucf54\ub529 \u2192 3. \uc774\ub3d9\uc2dc\uac04 \uacc4\uc0b0 \u2192 4. \uc9c0\ud45c \uc0b0\ucd9c \u2192 5. \ud1b5\uacc4 \ucd9c\ub825", "file_type": "rationale", "source_file": "phases/0-setup/analyze.py", "source_location": "L1"}, {"id": "$graphify-root$_phases_0_setup_analyze_rationale_44", "label": "1.\uc7a5\uc18cA, 3.\uc7a5\uc18cB, 2.\uc74c\uc2ddC' \u2192 {1: '\uc7a5\uc18cA', 2: '\uc74c\uc2ddC', 3: '\uc7a5\uc18cB'}", "file_type": "rationale", "source_file": "phases/0-setup/analyze.py", "source_location": "L44"}, {"id": "$graphify-root$_phases_0_setup_analyze_rationale_130", "label": "Kakao Local API \u2014 \ud604\uc9c0 \uce74\ud398\u00b7\uc2dd\ub2f9\u00b7\uad00\uad11\uc9c0\uae4c\uc9c0 \uad11\ubc94\uc704\ud558\uac8c \ucee4\ubc84. region\uc740 \uc5b8\ub354\uc2a4\ucf54\uc5b4 \ud615\uc2dd \uac00\ub2a5\uc131\uc774 \uc788\uc5b4 \ucffc\ub9ac\uc5d0 \ud3ec\ud568\ud558\uc9c0 \uc54a\uc74c.", "file_type": "rationale", "source_file": "phases/0-setup/analyze.py", "source_location": "L130"}, {"id": "$graphify-root$_phases_0_setup_analyze_rationale_171", "label": "TourAPI \u2192 Kakao Local \u2192 Nominatim \uc21c (\ubcd1\ub82c \ud638\ucd9c \uc548\uc804)", "file_type": "rationale", "source_file": "phases/0-setup/analyze.py", "source_location": "L171"}, {"id": "$graphify-root$_phases_0_setup_analyze_rationale_219", "label": "\uc9c1\uc120\uac70\ub9ac \u00d7 \uc6b0\ud68c\uacc4\uc218 / \uc18d\ub3c4 \ub85c \uc774\ub3d9 \uc2dc\uac04(\ucd08) \ucd94\uc815. Kakao API \ubd88\uac00 \uc2dc \ud3f4\ubc31.", "file_type": "rationale", "source_file": "phases/0-setup/analyze.py", "source_location": "L219"}, {"id": "$graphify-root$_phases_0_setup_analyze_rationale_267", "label": "\ub2e8\uc21c \uadf8\ub9ac\ub4dc \uae30\ubc18 \uc9c0\uc5ed \ud074\ub7ec\uc2a4\ud130 \ub808\uc774\ube14 (5km \uaca9\uc790)", "file_type": "rationale", "source_file": "phases/0-setup/analyze.py", "source_location": "L267"}], "edges": [{"source": "$graphify-root$_phases_0_setup_analyze_py", "target": "json", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "phases/0-setup/analyze.py", "source_location": "L5", "weight": 1.0}, {"source": "$graphify-root$_phases_0_setup_analyze_py", "target": "os", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "phases/0-setup/analyze.py", "source_location": "L5", "weight": 1.0}, {"source": "$graphify-root$_phases_0_setup_analyze_py", "target": "re", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "phases/0-setup/analyze.py", "source_location": "L5", "weight": 1.0}, {"source": "$graphify-root$_phases_0_setup_analyze_py", "target": "time", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "phases/0-setup/analyze.py", "source_location": "L5", "weight": 1.0}, {"source": "$graphify-root$_phases_0_setup_analyze_py", "target": "requests", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "phases/0-setup/analyze.py", "source_location": "L5", "weight": 1.0}, {"source": "$graphify-root$_phases_0_setup_analyze_py", "target": "statistics", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "phases/0-setup/analyze.py", "source_location": "L5", "weight": 1.0}, {"source": "$graphify-root$_phases_0_setup_analyze_py", "target": "math", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "phases/0-setup/analyze.py", "source_location": "L5", "weight": 1.0}, {"source": "$graphify-root$_phases_0_setup_analyze_py", "target": "threading", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "phases/0-setup/analyze.py", "source_location": "L5", "weight": 1.0}, {"source": "$graphify-root$_phases_0_setup_analyze_py", "target": "concurrent_futures", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "phases/0-setup/analyze.py", "source_location": "L6", "weight": 1.0}, {"source": "$graphify-root$_phases_0_setup_analyze_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "phases/0-setup/analyze.py", "source_location": "L7", "weight": 1.0}, {"source": "$graphify-root$_phases_0_setup_analyze_py", "target": "collections", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "phases/0-setup/analyze.py", "source_location": "L8", "weight": 1.0}, {"source": "$graphify-root$_phases_0_setup_analyze_py", "target": "$graphify-root$_phases_0_setup_analyze_load_env", "relation": "contains", "confidence": "EXTRACTED", "source_file": "phases/0-setup/analyze.py", "source_location": "L14", "weight": 1.0}, {"source": "$graphify-root$_phases_0_setup_analyze_py", "target": "$graphify-root$_phases_0_setup_analyze_parse_cell", "relation": "contains", "confidence": "EXTRACTED", "source_file": "phases/0-setup/analyze.py", "source_location": "L43", "weight": 1.0}, {"source": "$graphify-root$_phases_0_setup_analyze_py", "target": "$graphify-root$_phases_0_setup_analyze_geocode_tourapi", "relation": "contains", "confidence": "EXTRACTED", "source_file": "phases/0-setup/analyze.py", "source_location": "L106", "weight": 1.0}, {"source": "$graphify-root$_phases_0_setup_analyze_py", "target": "$graphify-root$_phases_0_setup_analyze_geocode_kakao_local", "relation": "contains", "confidence": "EXTRACTED", "source_file": "phases/0-setup/analyze.py", "source_location": "L129", "weight": 1.0}, {"source": "$graphify-root$_phases_0_setup_analyze_py", "target": "$graphify-root$_phases_0_setup_analyze_geocode_nominatim", "relation": "contains", "confidence": "EXTRACTED", "source_file": "phases/0-setup/analyze.py", "source_location": "L153", "weight": 1.0}, {"source": "$graphify-root$_phases_0_setup_analyze_py", "target": "$graphify-root$_phases_0_setup_analyze_geocode_single", "relation": "contains", "confidence": "EXTRACTED", "source_file": "phases/0-setup/analyze.py", "source_location": "L170", "weight": 1.0}, {"source": "$graphify-root$_phases_0_setup_analyze_py", "target": "$graphify-root$_phases_0_setup_analyze_haversine_travel_sec", "relation": "contains", "confidence": "EXTRACTED", "source_file": "phases/0-setup/analyze.py", "source_location": "L218", "weight": 1.0}, {"source": "$graphify-root$_phases_0_setup_analyze_py", "target": "$graphify-root$_phases_0_setup_analyze_get_travel_time", "relation": "contains", "confidence": "EXTRACTED", "source_file": "phases/0-setup/analyze.py", "source_location": "L225", "weight": 1.0}, {"source": "$graphify-root$_phases_0_setup_analyze_py", "target": "$graphify-root$_phases_0_setup_analyze_haversine", "relation": "contains", "confidence": "EXTRACTED", "source_file": "phases/0-setup/analyze.py", "source_location": "L258", "weight": 1.0}, {"source": "$graphify-root$_phases_0_setup_analyze_py", "target": "$graphify-root$_phases_0_setup_analyze_cluster_label", "relation": "contains", "confidence": "EXTRACTED", "source_file": "phases/0-setup/analyze.py", "source_location": "L266", "weight": 1.0}, {"source": "$graphify-root$_phases_0_setup_analyze_py", "target": "$graphify-root$_phases_0_setup_analyze_percentile", "relation": "contains", "confidence": "EXTRACTED", "source_file": "phases/0-setup/analyze.py", "source_location": "L351", "weight": 1.0}, {"source": "$graphify-root$_phases_0_setup_analyze_py", "target": "$graphify-root$_phases_0_setup_analyze_stats_block", "relation": "contains", "confidence": "EXTRACTED", "source_file": "phases/0-setup/analyze.py", "source_location": "L372", "weight": 1.0}, {"source": "$graphify-root$_phases_0_setup_analyze_geocode_single", "target": "$graphify-root$_phases_0_setup_analyze_geocode_tourapi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "phases/0-setup/analyze.py", "source_location": "L173", "weight": 1.0}, {"source": "$graphify-root$_phases_0_setup_analyze_geocode_single", "target": "$graphify-root$_phases_0_setup_analyze_geocode_kakao_local", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "phases/0-setup/analyze.py", "source_location": "L175", "weight": 1.0}, {"source": "$graphify-root$_phases_0_setup_analyze_geocode_single", "target": "$graphify-root$_phases_0_setup_analyze_geocode_nominatim", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "phases/0-setup/analyze.py", "source_location": "L179", "weight": 1.0}, {"source": "$graphify-root$_phases_0_setup_analyze_haversine_travel_sec", "target": "$graphify-root$_phases_0_setup_analyze_haversine", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "phases/0-setup/analyze.py", "source_location": "L220", "weight": 1.0}, {"source": "$graphify-root$_phases_0_setup_analyze_get_travel_time", "target": "$graphify-root$_phases_0_setup_analyze_haversine_travel_sec", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "phases/0-setup/analyze.py", "source_location": "L255", "weight": 1.0}, {"source": "$graphify-root$_phases_0_setup_analyze_stats_block", "target": "$graphify-root$_phases_0_setup_analyze_percentile", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "phases/0-setup/analyze.py", "source_location": "L380", "weight": 1.0}, {"source": "$graphify-root$_phases_0_setup_analyze_rationale_1", "target": "$graphify-root$_phases_0_setup_analyze_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "phases/0-setup/analyze.py", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_phases_0_setup_analyze_rationale_44", "target": "$graphify-root$_phases_0_setup_analyze_parse_cell", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "phases/0-setup/analyze.py", "source_location": "L44", "weight": 1.0}, {"source": "$graphify-root$_phases_0_setup_analyze_rationale_130", "target": "$graphify-root$_phases_0_setup_analyze_geocode_kakao_local", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "phases/0-setup/analyze.py", "source_location": "L130", "weight": 1.0}, {"source": "$graphify-root$_phases_0_setup_analyze_rationale_171", "target": "$graphify-root$_phases_0_setup_analyze_geocode_single", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "phases/0-setup/analyze.py", "source_location": "L171", "weight": 1.0}, {"source": "$graphify-root$_phases_0_setup_analyze_rationale_219", "target": "$graphify-root$_phases_0_setup_analyze_haversine_travel_sec", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "phases/0-setup/analyze.py", "source_location": "L219", "weight": 1.0}, {"source": "$graphify-root$_phases_0_setup_analyze_rationale_267", "target": "$graphify-root$_phases_0_setup_analyze_cluster_label", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "phases/0-setup/analyze.py", "source_location": "L267", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_phases_0_setup_analyze_load_env", "callee": "resolve", "is_member_call": true, "source_file": "phases/0-setup/analyze.py", "source_location": "L15", "receiver": null}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_load_env", "callee": "Path", "is_member_call": false, "source_file": "phases/0-setup/analyze.py", "source_location": "L15", "receiver": null}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_load_env", "callee": "__file__", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "phases/0-setup/analyze.py", "source_location": "L15"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_load_env", "callee": "exists", "is_member_call": true, "source_file": "phases/0-setup/analyze.py", "source_location": "L16", "receiver": "env_path"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_load_env", "callee": "splitlines", "is_member_call": true, "source_file": "phases/0-setup/analyze.py", "source_location": "L17", "receiver": null}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_load_env", "callee": "read_text", "is_member_call": true, "source_file": "phases/0-setup/analyze.py", "source_location": "L17", "receiver": "env_path"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_load_env", "callee": "strip", "is_member_call": true, "source_file": "phases/0-setup/analyze.py", "source_location": "L18", "receiver": "line"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_load_env", "callee": "startswith", "is_member_call": true, "source_file": "phases/0-setup/analyze.py", "source_location": "L19", "receiver": "line"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_load_env", "callee": "partition", "is_member_call": true, "source_file": "phases/0-setup/analyze.py", "source_location": "L20", "receiver": "line"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_load_env", "callee": "setdefault", "is_member_call": true, "source_file": "phases/0-setup/analyze.py", "source_location": "L21", "receiver": null}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_load_env", "callee": "strip", "is_member_call": true, "source_file": "phases/0-setup/analyze.py", "source_location": "L21", "receiver": "k"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_load_env", "callee": "strip", "is_member_call": true, "source_file": "phases/0-setup/analyze.py", "source_location": "L21", "receiver": "v"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_parse_cell", "callee": "split", "is_member_call": true, "source_file": "phases/0-setup/analyze.py", "source_location": "L49", "receiver": "re"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_parse_cell", "callee": "strip", "is_member_call": true, "source_file": "phases/0-setup/analyze.py", "source_location": "L51", "receiver": "part"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_parse_cell", "callee": "match", "is_member_call": true, "source_file": "phases/0-setup/analyze.py", "source_location": "L52", "receiver": "re"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_parse_cell", "callee": "group", "is_member_call": true, "source_file": "phases/0-setup/analyze.py", "source_location": "L54", "receiver": "m"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_parse_cell", "callee": "strip", "is_member_call": true, "source_file": "phases/0-setup/analyze.py", "source_location": "L55", "receiver": null}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_parse_cell", "callee": "group", "is_member_call": true, "source_file": "phases/0-setup/analyze.py", "source_location": "L55", "receiver": "m"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_parse_cell", "callee": "strip", "is_member_call": true, "source_file": "phases/0-setup/analyze.py", "source_location": "L56", "receiver": null}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_parse_cell", "callee": "sub", "is_member_call": true, "source_file": "phases/0-setup/analyze.py", "source_location": "L56", "receiver": "re"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_parse_cell", "callee": "strip", "is_member_call": true, "source_file": "phases/0-setup/analyze.py", "source_location": "L57", "receiver": null}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_parse_cell", "callee": "sub", "is_member_call": true, "source_file": "phases/0-setup/analyze.py", "source_location": "L57", "receiver": "re"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_geocode_tourapi", "callee": "get", "is_member_call": true, "source_file": "phases/0-setup/analyze.py", "source_location": "L108", "receiver": "requests"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_geocode_tourapi", "callee": "TOUR_KEY", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "phases/0-setup/analyze.py", "source_location": "L110"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_geocode_tourapi", "callee": "json", "is_member_call": true, "source_file": "phases/0-setup/analyze.py", "source_location": "L116", "receiver": "r"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_geocode_tourapi", "callee": "get", "is_member_call": true, "source_file": "phases/0-setup/analyze.py", "source_location": "L117", "receiver": "body"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_geocode_tourapi", "callee": "list", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "phases/0-setup/analyze.py", "source_location": "L120"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_geocode_kakao_local", "callee": "get", "is_member_call": true, "source_file": "phases/0-setup/analyze.py", "source_location": "L136", "receiver": "requests"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_geocode_kakao_local", "callee": "get", "is_member_call": true, "source_file": "phases/0-setup/analyze.py", "source_location": "L143", "receiver": null}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_geocode_kakao_local", "callee": "json", "is_member_call": true, "source_file": "phases/0-setup/analyze.py", "source_location": "L143", "receiver": "r"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_geocode_nominatim", "callee": "strip", "is_member_call": true, "source_file": "phases/0-setup/analyze.py", "source_location": "L154", "receiver": null}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_geocode_nominatim", "callee": "get", "is_member_call": true, "source_file": "phases/0-setup/analyze.py", "source_location": "L156", "receiver": "requests"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_geocode_nominatim", "callee": "json", "is_member_call": true, "source_file": "phases/0-setup/analyze.py", "source_location": "L163", "receiver": "r"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_geocode_nominatim", "callee": "json", "is_member_call": true, "source_file": "phases/0-setup/analyze.py", "source_location": "L164", "receiver": "r"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_geocode_single", "callee": "sleep", "is_member_call": true, "source_file": "phases/0-setup/analyze.py", "source_location": "L178", "receiver": "time"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_get_travel_time", "callee": "get", "is_member_call": true, "source_file": "phases/0-setup/analyze.py", "source_location": "L228", "receiver": "route_cache"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_get_travel_time", "callee": "get", "is_member_call": true, "source_file": "phases/0-setup/analyze.py", "source_location": "L234", "receiver": "requests"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_get_travel_time", "callee": "get", "is_member_call": true, "source_file": "phases/0-setup/analyze.py", "source_location": "L245", "receiver": null}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_get_travel_time", "callee": "json", "is_member_call": true, "source_file": "phases/0-setup/analyze.py", "source_location": "L245", "receiver": "r"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_get_travel_time", "callee": "get", "is_member_call": true, "source_file": "phases/0-setup/analyze.py", "source_location": "L246", "receiver": null}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_get_travel_time", "callee": "write_text", "is_member_call": true, "source_file": "phases/0-setup/analyze.py", "source_location": "L250", "receiver": "CACHE_ROUTE"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_get_travel_time", "callee": "dumps", "is_member_call": true, "source_file": "phases/0-setup/analyze.py", "source_location": "L250", "receiver": "json"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_get_travel_time", "callee": "route_cache", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "phases/0-setup/analyze.py", "source_location": "L250"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_haversine", "callee": "radians", "is_member_call": true, "source_file": "phases/0-setup/analyze.py", "source_location": "L260", "receiver": "math"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_haversine", "callee": "radians", "is_member_call": true, "source_file": "phases/0-setup/analyze.py", "source_location": "L260", "receiver": "math"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_haversine", "callee": "radians", "is_member_call": true, "source_file": "phases/0-setup/analyze.py", "source_location": "L261", "receiver": "math"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_haversine", "callee": "radians", "is_member_call": true, "source_file": "phases/0-setup/analyze.py", "source_location": "L262", "receiver": "math"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_haversine", "callee": "sin", "is_member_call": true, "source_file": "phases/0-setup/analyze.py", "source_location": "L263", "receiver": "math"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_haversine", "callee": "cos", "is_member_call": true, "source_file": "phases/0-setup/analyze.py", "source_location": "L263", "receiver": "math"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_haversine", "callee": "cos", "is_member_call": true, "source_file": "phases/0-setup/analyze.py", "source_location": "L263", "receiver": "math"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_haversine", "callee": "sin", "is_member_call": true, "source_file": "phases/0-setup/analyze.py", "source_location": "L263", "receiver": "math"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_haversine", "callee": "atan2", "is_member_call": true, "source_file": "phases/0-setup/analyze.py", "source_location": "L264", "receiver": "math"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_haversine", "callee": "sqrt", "is_member_call": true, "source_file": "phases/0-setup/analyze.py", "source_location": "L264", "receiver": "math"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_haversine", "callee": "sqrt", "is_member_call": true, "source_file": "phases/0-setup/analyze.py", "source_location": "L264", "receiver": "math"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_stats_block", "callee": "mean", "is_member_call": true, "source_file": "phases/0-setup/analyze.py", "source_location": "L377", "receiver": "statistics"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_stats_block", "callee": "median", "is_member_call": true, "source_file": "phases/0-setup/analyze.py", "source_location": "L378", "receiver": "statistics"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_stats_block", "callee": "stdev", "is_member_call": true, "source_file": "phases/0-setup/analyze.py", "source_location": "L379", "receiver": "statistics"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/07cc7681576c2df22194b42d51211a47c33f22b37e3c0da8b74adb07764f0582.json b/graphify-out/cache/ast/v0.9.31/07cc7681576c2df22194b42d51211a47c33f22b37e3c0da8b74adb07764f0582.json new file mode 100644 index 0000000..16f3b6c --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/07cc7681576c2df22194b42d51211a47c33f22b37e3c0da8b74adb07764f0582.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_package_json", "label": "package.json", "file_type": "code", "source_file": "package.json", "source_location": "L1"}, {"id": "$graphify-root$_package_dependencies", "label": "dependencies", "file_type": "code", "source_file": "package.json", "source_location": "L2"}, {"id": "$graphify-root$_package_dependencies_pptxgenjs", "label": "pptxgenjs", "file_type": "code", "source_file": "package.json", "source_location": "L3"}, {"id": "pptxgenjs", "label": "pptxgenjs", "file_type": "concept", "source_file": "package.json", "source_location": "L3"}], "edges": [{"source": "$graphify-root$_package_json", "target": "$graphify-root$_package_dependencies", "relation": "contains", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L2", "weight": 1.0}, {"source": "$graphify-root$_package_dependencies", "target": "$graphify-root$_package_dependencies_pptxgenjs", "relation": "contains", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L3", "weight": 1.0}, {"source": "$graphify-root$_package_dependencies_pptxgenjs", "target": "pptxgenjs", "relation": "imports", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L3", "weight": 1.0, "context": "import"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/0b241600eaf24a807c9bbdaf99de1072b36ed93106e7bdf7ec6dd56972e42cf7.json b/graphify-out/cache/ast/v0.9.31/0b241600eaf24a807c9bbdaf99de1072b36ed93106e7bdf7ec6dd56972e42cf7.json new file mode 100644 index 0000000..4f86b53 --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/0b241600eaf24a807c9bbdaf99de1072b36ed93106e7bdf7ec6dd56972e42cf7.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_src_data_graph_retriever_py", "label": "graph_retriever.py", "file_type": "code", "source_file": "src/data/graph_retriever.py", "source_location": "L1"}, {"id": "$graphify-root$_src_data_graph_retriever_graphretriever", "label": "GraphRetriever", "file_type": "code", "source_file": "src/data/graph_retriever.py", "source_location": "L44", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_src_data_graph_retriever_graphretriever_init", "label": ".__init__()", "file_type": "code", "source_file": "src/data/graph_retriever.py", "source_location": "L47", "_callable": true}, {"id": "$graphify-root$_src_data_graph_retriever_graphretriever_from_env", "label": ".from_env()", "file_type": "code", "source_file": "src/data/graph_retriever.py", "source_location": "L62", "_callable": true}, {"id": "$graphify-root$_src_data_graph_retriever_graphretriever_enabled", "label": ".enabled()", "file_type": "code", "source_file": "src/data/graph_retriever.py", "source_location": "L71", "_callable": true}, {"id": "$graphify-root$_src_data_graph_retriever_graphretriever_callable", "label": "._callable()", "file_type": "code", "source_file": "src/data/graph_retriever.py", "source_location": "L74", "_callable": true}, {"id": "$graphify-root$_src_data_graph_retriever_graphretriever_mark_unreachable", "label": "._mark_unreachable()", "file_type": "code", "source_file": "src/data/graph_retriever.py", "source_location": "L78", "_callable": true}, {"id": "$graphify-root$_src_data_graph_retriever_graphretriever_close", "label": ".close()", "file_type": "code", "source_file": "src/data/graph_retriever.py", "source_location": "L81", "_callable": true}, {"id": "$graphify-root$_src_data_graph_retriever_graphretriever_search_places", "label": ".search_places()", "file_type": "code", "source_file": "src/data/graph_retriever.py", "source_location": "L85", "_callable": true}, {"id": "placeevidence", "label": "PlaceEvidence", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/data/graph_retriever.py"}, {"id": "$graphify-root$_src_data_graph_retriever_graphretriever_find_nearby", "label": ".find_nearby()", "file_type": "code", "source_file": "src/data/graph_retriever.py", "source_location": "L111", "_callable": true}, {"id": "alternativepoi", "label": "AlternativePOI", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/data/graph_retriever.py"}, {"id": "$graphify-root$_src_data_graph_retriever_rationale_1", "label": "Neo4j \uc9c0\uc2dd\uadf8\ub798\ud504 \ub9ac\ud2b8\ub9ac\ubc84 \u2014 Place/Region/NEAR_BY \uadf8\ub798\ud504\uc5d0\uc11c \uadfc\uac70 \uc870\ud68c.\u2026", "file_type": "rationale", "source_file": "src/data/graph_retriever.py", "source_location": "L1"}, {"id": "$graphify-root$_src_data_graph_retriever_rationale_45", "label": "\uc81c\uc8fc \uc9c0\uc2dd\uadf8\ub798\ud504(Neo4j Aura) \ub9ac\ud2b8\ub9ac\ubc84. \ubbf8\uc124\uc815/\uc5f0\uacb0 \uc2e4\ud328 \uc2dc \ube48 \uacb0\uacfc\ub85c \ud3f4\ubc31.", "file_type": "rationale", "source_file": "src/data/graph_retriever.py", "source_location": "L45"}, {"id": "$graphify-root$_src_data_graph_retriever_rationale_75", "label": "\ud638\ucd9c \uac00\ub2a5 \uc5ec\ubd80. \ucd5c\uadfc \uc5f0\uacb0 \uc2e4\ud328 \uc2dc \ucfe8\ub2e4\uc6b4 \ub3d9\uc548 \uc7ac\uc2dc\ub3c4 \ubc31\uc624\ud504 \ube44\uc6a9 \uc5c6\uc774 \uc989\uc2dc \ube48 \uacb0\uacfc\ub85c \ub118\uae34\ub2e4.", "file_type": "rationale", "source_file": "src/data/graph_retriever.py", "source_location": "L75"}, {"id": "$graphify-root$_src_data_graph_retriever_rationale_86", "label": "\uc7a5\uc18c\uba85 \ubd80\ubd84\uc77c\uce58 \uac80\uc0c9 \u2014 Region \ucee8\ud14d\uc2a4\ud2b8 \ud3ec\ud568.", "file_type": "rationale", "source_file": "src/data/graph_retriever.py", "source_location": "L86"}, {"id": "$graphify-root$_src_data_graph_retriever_rationale_112", "label": "NEAR_BY \uadf8\ub798\ud504\uc5d0\uc11c \ub3c4\ubcf4 \uadfc\uc811 \ub300\uccb4 \ud6c4\ubcf4 \uc870\ud68c (\uac70\ub9ac\uc21c).", "file_type": "rationale", "source_file": "src/data/graph_retriever.py", "source_location": "L112"}], "edges": [{"source": "$graphify-root$_src_data_graph_retriever_py", "target": "os", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/data/graph_retriever.py", "source_location": "L14", "weight": 1.0}, {"source": "$graphify-root$_src_data_graph_retriever_py", "target": "time", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/data/graph_retriever.py", "source_location": "L15", "weight": 1.0}, {"source": "$graphify-root$_src_data_graph_retriever_py", "target": "neo4j", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/data/graph_retriever.py", "source_location": "L17", "weight": 1.0}, {"source": "$graphify-root$_src_data_graph_retriever_py", "target": "neo4j_exceptions", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/data/graph_retriever.py", "source_location": "L18", "weight": 1.0}, {"source": "$graphify-root$_src_data_graph_retriever_py", "target": "src_data_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/data/graph_retriever.py", "source_location": "L20", "weight": 1.0}, {"source": "$graphify-root$_src_data_graph_retriever_py", "target": "$graphify-root$_src_data_graph_retriever_graphretriever", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/data/graph_retriever.py", "source_location": "L44", "weight": 1.0}, {"source": "$graphify-root$_src_data_graph_retriever_graphretriever", "target": "$graphify-root$_src_data_graph_retriever_graphretriever_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/data/graph_retriever.py", "source_location": "L47", "weight": 1.0}, {"source": "$graphify-root$_src_data_graph_retriever_graphretriever", "target": "$graphify-root$_src_data_graph_retriever_graphretriever_from_env", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/data/graph_retriever.py", "source_location": "L62", "weight": 1.0}, {"source": "$graphify-root$_src_data_graph_retriever_graphretriever_from_env", "target": "$graphify-root$_src_data_graph_retriever_graphretriever", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "src/data/graph_retriever.py", "source_location": "L62", "weight": 1.0}, {"source": "$graphify-root$_src_data_graph_retriever_graphretriever", "target": "$graphify-root$_src_data_graph_retriever_graphretriever_enabled", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/data/graph_retriever.py", "source_location": "L71", "weight": 1.0}, {"source": "$graphify-root$_src_data_graph_retriever_graphretriever", "target": "$graphify-root$_src_data_graph_retriever_graphretriever_callable", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/data/graph_retriever.py", "source_location": "L74", "weight": 1.0}, {"source": "$graphify-root$_src_data_graph_retriever_graphretriever", "target": "$graphify-root$_src_data_graph_retriever_graphretriever_mark_unreachable", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/data/graph_retriever.py", "source_location": "L78", "weight": 1.0}, {"source": "$graphify-root$_src_data_graph_retriever_graphretriever", "target": "$graphify-root$_src_data_graph_retriever_graphretriever_close", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/data/graph_retriever.py", "source_location": "L81", "weight": 1.0}, {"source": "$graphify-root$_src_data_graph_retriever_graphretriever", "target": "$graphify-root$_src_data_graph_retriever_graphretriever_search_places", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/data/graph_retriever.py", "source_location": "L85", "weight": 1.0}, {"source": "$graphify-root$_src_data_graph_retriever_graphretriever_search_places", "target": "placeevidence", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/data/graph_retriever.py", "source_location": "L85", "weight": 1.0}, {"source": "$graphify-root$_src_data_graph_retriever_graphretriever", "target": "$graphify-root$_src_data_graph_retriever_graphretriever_find_nearby", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/data/graph_retriever.py", "source_location": "L111", "weight": 1.0}, {"source": "$graphify-root$_src_data_graph_retriever_graphretriever_find_nearby", "target": "alternativepoi", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/data/graph_retriever.py", "source_location": "L111", "weight": 1.0}, {"source": "$graphify-root$_src_data_graph_retriever_graphretriever_search_places", "target": "$graphify-root$_src_data_graph_retriever_graphretriever_callable", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/data/graph_retriever.py", "source_location": "L88", "weight": 1.0}, {"source": "$graphify-root$_src_data_graph_retriever_graphretriever_search_places", "target": "$graphify-root$_src_data_graph_retriever_graphretriever_mark_unreachable", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/data/graph_retriever.py", "source_location": "L95", "weight": 1.0}, {"source": "$graphify-root$_src_data_graph_retriever_graphretriever_search_places", "target": "placeevidence", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/data/graph_retriever.py", "source_location": "L98", "weight": 1.0}, {"source": "$graphify-root$_src_data_graph_retriever_graphretriever_find_nearby", "target": "$graphify-root$_src_data_graph_retriever_graphretriever_callable", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/data/graph_retriever.py", "source_location": "L113", "weight": 1.0}, {"source": "$graphify-root$_src_data_graph_retriever_graphretriever_find_nearby", "target": "$graphify-root$_src_data_graph_retriever_graphretriever_mark_unreachable", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/data/graph_retriever.py", "source_location": "L120", "weight": 1.0}, {"source": "$graphify-root$_src_data_graph_retriever_graphretriever_find_nearby", "target": "alternativepoi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/data/graph_retriever.py", "source_location": "L123", "weight": 1.0}, {"source": "$graphify-root$_src_data_graph_retriever_rationale_1", "target": "$graphify-root$_src_data_graph_retriever_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/data/graph_retriever.py", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_src_data_graph_retriever_rationale_45", "target": "$graphify-root$_src_data_graph_retriever_graphretriever", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/data/graph_retriever.py", "source_location": "L45", "weight": 1.0}, {"source": "$graphify-root$_src_data_graph_retriever_rationale_75", "target": "$graphify-root$_src_data_graph_retriever_graphretriever_callable", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/data/graph_retriever.py", "source_location": "L75", "weight": 1.0}, {"source": "$graphify-root$_src_data_graph_retriever_rationale_86", "target": "$graphify-root$_src_data_graph_retriever_graphretriever_search_places", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/data/graph_retriever.py", "source_location": "L86", "weight": 1.0}, {"source": "$graphify-root$_src_data_graph_retriever_rationale_112", "target": "$graphify-root$_src_data_graph_retriever_graphretriever_find_nearby", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/data/graph_retriever.py", "source_location": "L112", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_src_data_graph_retriever_graphretriever_init", "callee": "driver", "is_member_call": true, "source_file": "src/data/graph_retriever.py", "source_location": "L50", "receiver": "GraphDatabase"}, {"caller_nid": "$graphify-root$_src_data_graph_retriever_graphretriever_from_env", "callee": "cls", "is_member_call": false, "source_file": "src/data/graph_retriever.py", "source_location": "L63", "receiver": null}, {"caller_nid": "$graphify-root$_src_data_graph_retriever_graphretriever_from_env", "callee": "get", "is_member_call": true, "source_file": "src/data/graph_retriever.py", "source_location": "L64", "receiver": null}, {"caller_nid": "$graphify-root$_src_data_graph_retriever_graphretriever_from_env", "callee": "get", "is_member_call": true, "source_file": "src/data/graph_retriever.py", "source_location": "L65", "receiver": null}, {"caller_nid": "$graphify-root$_src_data_graph_retriever_graphretriever_from_env", "callee": "get", "is_member_call": true, "source_file": "src/data/graph_retriever.py", "source_location": "L66", "receiver": null}, {"caller_nid": "$graphify-root$_src_data_graph_retriever_graphretriever_from_env", "callee": "get", "is_member_call": true, "source_file": "src/data/graph_retriever.py", "source_location": "L67", "receiver": null}, {"caller_nid": "$graphify-root$_src_data_graph_retriever_graphretriever_callable", "callee": "monotonic", "is_member_call": true, "source_file": "src/data/graph_retriever.py", "source_location": "L76", "receiver": "time"}, {"caller_nid": "$graphify-root$_src_data_graph_retriever_graphretriever_mark_unreachable", "callee": "monotonic", "is_member_call": true, "source_file": "src/data/graph_retriever.py", "source_location": "L79", "receiver": "time"}, {"caller_nid": "$graphify-root$_src_data_graph_retriever_graphretriever_search_places", "callee": "strip", "is_member_call": true, "source_file": "src/data/graph_retriever.py", "source_location": "L87", "receiver": null}, {"caller_nid": "$graphify-root$_src_data_graph_retriever_graphretriever_search_places", "callee": "execute_query", "is_member_call": true, "source_file": "src/data/graph_retriever.py", "source_location": "L91", "receiver": null}, {"caller_nid": "$graphify-root$_src_data_graph_retriever_graphretriever_search_places", "callee": "_SEARCH_CYPHER", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "src/data/graph_retriever.py", "source_location": "L92"}, {"caller_nid": "$graphify-root$_src_data_graph_retriever_graphretriever_search_places", "callee": "Neo4jError", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "src/data/graph_retriever.py", "source_location": "L94"}, {"caller_nid": "$graphify-root$_src_data_graph_retriever_graphretriever_search_places", "callee": "DriverError", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "src/data/graph_retriever.py", "source_location": "L94"}, {"caller_nid": "$graphify-root$_src_data_graph_retriever_graphretriever_find_nearby", "callee": "execute_query", "is_member_call": true, "source_file": "src/data/graph_retriever.py", "source_location": "L116", "receiver": null}, {"caller_nid": "$graphify-root$_src_data_graph_retriever_graphretriever_find_nearby", "callee": "_NEARBY_CYPHER", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "src/data/graph_retriever.py", "source_location": "L117"}, {"caller_nid": "$graphify-root$_src_data_graph_retriever_graphretriever_find_nearby", "callee": "Neo4jError", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "src/data/graph_retriever.py", "source_location": "L119"}, {"caller_nid": "$graphify-root$_src_data_graph_retriever_graphretriever_find_nearby", "callee": "DriverError", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "src/data/graph_retriever.py", "source_location": "L119"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/0bb2be7d2b7ff58a6bb19492dcd31a3e6152b7cc64e60b871552f18851f61336.json b/graphify-out/cache/ast/v0.9.31/0bb2be7d2b7ff58a6bb19492dcd31a3e6152b7cc64e60b871552f18851f61336.json new file mode 100644 index 0000000..2830a36 --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/0bb2be7d2b7ff58a6bb19492dcd31a3e6152b7cc64e60b871552f18851f61336.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_gun_src_init_py", "label": "__init__.py", "file_type": "code", "source_file": "gun/src/__init__.py", "source_location": "L1"}], "edges": [], "raw_calls": []} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/0bf71a6870f836354488c5ab12ae0e5d7568471a30d8f751caae22ac03b3c6a7.json b/graphify-out/cache/ast/v0.9.31/0bf71a6870f836354488c5ab12ae0e5d7568471a30d8f751caae22ac03b3c6a7.json new file mode 100644 index 0000000..1f9f398 --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/0bf71a6870f836354488c5ab12ae0e5d7568471a30d8f751caae22ac03b3c6a7.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_gun_tests_init_py", "label": "__init__.py", "file_type": "code", "source_file": "gun/tests/__init__.py", "source_location": "L1"}], "edges": [], "raw_calls": []} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/0e029402dc8b67f8514efa39e6f8efe1efa36f919e25b1a344763825384eb623.json b/graphify-out/cache/ast/v0.9.31/0e029402dc8b67f8514efa39e6f8efe1efa36f919e25b1a344763825384eb623.json new file mode 100644 index 0000000..22d5a0a --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/0e029402dc8b67f8514efa39e6f8efe1efa36f919e25b1a344763825384eb623.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_src_scoring_cluster_dispersion_py", "label": "cluster_dispersion.py", "file_type": "code", "source_file": "src/scoring/cluster_dispersion.py", "source_location": "L1"}, {"id": "$graphify-root$_src_scoring_cluster_dispersion_count_area_backtracks", "label": "count_area_backtracks()", "file_type": "code", "source_file": "src/scoring/cluster_dispersion.py", "source_location": "L64", "_callable": true}, {"id": "$graphify-root$_src_scoring_cluster_dispersion_count_label_backtracks", "label": "_count_label_backtracks()", "file_type": "code", "source_file": "src/scoring/cluster_dispersion.py", "source_location": "L80", "_callable": true}, {"id": "$graphify-root$_src_scoring_cluster_dispersion_count_geo_cluster_backtracks", "label": "count_geo_cluster_backtracks()", "file_type": "code", "source_file": "src/scoring/cluster_dispersion.py", "source_location": "L93", "_callable": true}, {"id": "vrptwplace", "label": "VRPTWPlace", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/scoring/cluster_dispersion.py"}, {"id": "$graphify-root$_src_scoring_cluster_dispersion_daydispersionmetric", "label": "DayDispersionMetric", "file_type": "code", "source_file": "src/scoring/cluster_dispersion.py", "source_location": "L114", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_src_scoring_cluster_dispersion_clusterdispersionreport", "label": "ClusterDispersionReport", "file_type": "code", "source_file": "src/scoring/cluster_dispersion.py", "source_location": "L125", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_src_scoring_cluster_dispersion_compute_day_dispersion", "label": "_compute_day_dispersion()", "file_type": "code", "source_file": "src/scoring/cluster_dispersion.py", "source_location": "L131", "_callable": true}, {"id": "$graphify-root$_src_scoring_cluster_dispersion_switch_penalty", "label": "_switch_penalty()", "file_type": "code", "source_file": "src/scoring/cluster_dispersion.py", "source_location": "L166", "_callable": true}, {"id": "$graphify-root$_src_scoring_cluster_dispersion_distance_penalty", "label": "_distance_penalty()", "file_type": "code", "source_file": "src/scoring/cluster_dispersion.py", "source_location": "L174", "_callable": true}, {"id": "$graphify-root$_src_scoring_cluster_dispersion_backtrack_penalty", "label": "_backtrack_penalty()", "file_type": "code", "source_file": "src/scoring/cluster_dispersion.py", "source_location": "L184", "_callable": true}, {"id": "$graphify-root$_src_scoring_cluster_dispersion_geo_bt_penalty", "label": "_geo_bt_penalty()", "file_type": "code", "source_file": "src/scoring/cluster_dispersion.py", "source_location": "L192", "_callable": true}, {"id": "$graphify-root$_src_scoring_cluster_dispersion_evaluate_cluster_dispersion", "label": "evaluate_cluster_dispersion()", "file_type": "code", "source_file": "src/scoring/cluster_dispersion.py", "source_location": "L202", "_callable": true}, {"id": "vrptwday", "label": "VRPTWDay", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/scoring/cluster_dispersion.py"}, {"id": "$graphify-root$_src_scoring_cluster_dispersion_rationale_1", "label": "\uacbd\ub85c \ubc00\uc9d1\ub3c4 / \ubc88\uac1c\ud328\ud134 \ud0d0\uc9c0 (\ubaa8\ub4c8 \u2465) \u2014 Per-day \uac80\uc99d. \uc0ac\uc6a9\uc790 \uc758\ub3c4 (Q3): \"1\uc77c\ucc28\uc5d0\ub294 \ubaa9\uc801\uc9c0 \uadfc\ucc98\ub85c, 2\uc77c\ucc28\uc5d0\ub294 \ub610 \ub2e4\ub978\u2026", "file_type": "rationale", "source_file": "src/scoring/cluster_dispersion.py", "source_location": "L1"}, {"id": "$graphify-root$_src_scoring_cluster_dispersion_rationale_65", "label": "M3: \uc2dc\uad70\uad6c \uae30\ubc18 \ube44\uc5f0\uc18d \uad6c\uc5ed \uc7ac\uc9c4\uc785 \ud69f\uc218. \uac15\ub0a8\u2192\ud64d\ub300\u2192\uac15\ub0a8 = 1, \uc21c\ubc29\ud5a5 4\uad6c\uc5ed \uc21c\ud68c = 0.", "file_type": "rationale", "source_file": "src/scoring/cluster_dispersion.py", "source_location": "L65"}, {"id": "$graphify-root$_src_scoring_cluster_dispersion_rationale_81", "label": "\ud074\ub7ec\uc2a4\ud130 \ub808\uc774\ube14 \ub9ac\uc2a4\ud2b8\uc5d0\uc11c \ube44\uc5f0\uc18d \uc7ac\uc9c4\uc785 \ud69f\uc218 \uacc4\uc0b0 (M4 \uacf5\uc6a9).", "file_type": "rationale", "source_file": "src/scoring/cluster_dispersion.py", "source_location": "L81"}, {"id": "$graphify-root$_src_scoring_cluster_dispersion_rationale_97", "label": "M4: DBSCAN \uc9c0\ub9ac \ud074\ub7ec\uc2a4\ud130 \uae30\ubc18 \ube44\uc5f0\uc18d \uc7ac\uc9c4\uc785 \ud69f\uc218. M3(\uc2dc\uad70\uad6c \uae30\ubc18)\uac00 \uc7a1\uc9c0 \ubabb\ud558\ub294 \ub300\ud615 \uc2dc\uad70\uad6c \ub0b4\ubd80 \ubd84\uc0b0 \ucf00\uc774\uc2a4 \ubcf4\uc644.\u2026", "file_type": "rationale", "source_file": "src/scoring/cluster_dispersion.py", "source_location": "L97"}, {"id": "$graphify-root$_src_scoring_cluster_dispersion_rationale_193", "label": "M4 \ud328\ub110\ud2f0. M3\uac00 \uc774\ubbf8 \uac19\uc740 \uc774\ubca4\ud2b8\ub97c \ud0d0\uc9c0\ud55c \uacbd\uc6b0 \uc911\ubcf5 \ubc29\uc9c0.", "file_type": "rationale", "source_file": "src/scoring/cluster_dispersion.py", "source_location": "L193"}, {"id": "$graphify-root$_src_scoring_cluster_dispersion_rationale_206", "label": "\uc804\uccb4 \uc77c\uc815\uc758 per-day \ubc00\uc9d1\ub3c4 + \ud328\ub110\ud2f0 \uc0b0\ucd9c. sigungu_codes_per_day: [day_idx][place_idx] \uad6c\uc870.\u2026", "file_type": "rationale", "source_file": "src/scoring/cluster_dispersion.py", "source_location": "L206"}], "edges": [{"source": "$graphify-root$_src_scoring_cluster_dispersion_py", "target": "dataclasses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/scoring/cluster_dispersion.py", "source_location": "L19", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_cluster_dispersion_py", "target": "src_data_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/scoring/cluster_dispersion.py", "source_location": "L21", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_cluster_dispersion_py", "target": "src_utils_geo", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/scoring/cluster_dispersion.py", "source_location": "L22", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_cluster_dispersion_py", "target": "numpy", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/scoring/cluster_dispersion.py", "source_location": "L25", "weight": 1.0, "local_alias": "np"}, {"source": "$graphify-root$_src_scoring_cluster_dispersion_py", "target": "sklearn_cluster", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/scoring/cluster_dispersion.py", "source_location": "L26", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_cluster_dispersion_py", "target": "$graphify-root$_src_scoring_cluster_dispersion_count_area_backtracks", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/scoring/cluster_dispersion.py", "source_location": "L64", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_cluster_dispersion_py", "target": "$graphify-root$_src_scoring_cluster_dispersion_count_label_backtracks", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/scoring/cluster_dispersion.py", "source_location": "L80", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_cluster_dispersion_py", "target": "$graphify-root$_src_scoring_cluster_dispersion_count_geo_cluster_backtracks", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/scoring/cluster_dispersion.py", "source_location": "L93", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_cluster_dispersion_count_geo_cluster_backtracks", "target": "vrptwplace", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/scoring/cluster_dispersion.py", "source_location": "L93", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_cluster_dispersion_py", "target": "$graphify-root$_src_scoring_cluster_dispersion_daydispersionmetric", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/scoring/cluster_dispersion.py", "source_location": "L114", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_cluster_dispersion_py", "target": "$graphify-root$_src_scoring_cluster_dispersion_clusterdispersionreport", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/scoring/cluster_dispersion.py", "source_location": "L125", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_cluster_dispersion_py", "target": "$graphify-root$_src_scoring_cluster_dispersion_compute_day_dispersion", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/scoring/cluster_dispersion.py", "source_location": "L131", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_cluster_dispersion_compute_day_dispersion", "target": "vrptwplace", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/scoring/cluster_dispersion.py", "source_location": "L131", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_cluster_dispersion_compute_day_dispersion", "target": "$graphify-root$_src_scoring_cluster_dispersion_daydispersionmetric", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "src/scoring/cluster_dispersion.py", "source_location": "L131", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_cluster_dispersion_py", "target": "$graphify-root$_src_scoring_cluster_dispersion_switch_penalty", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/scoring/cluster_dispersion.py", "source_location": "L166", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_cluster_dispersion_py", "target": "$graphify-root$_src_scoring_cluster_dispersion_distance_penalty", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/scoring/cluster_dispersion.py", "source_location": "L174", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_cluster_dispersion_py", "target": "$graphify-root$_src_scoring_cluster_dispersion_backtrack_penalty", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/scoring/cluster_dispersion.py", "source_location": "L184", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_cluster_dispersion_py", "target": "$graphify-root$_src_scoring_cluster_dispersion_geo_bt_penalty", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/scoring/cluster_dispersion.py", "source_location": "L192", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_cluster_dispersion_py", "target": "$graphify-root$_src_scoring_cluster_dispersion_evaluate_cluster_dispersion", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/scoring/cluster_dispersion.py", "source_location": "L202", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_cluster_dispersion_evaluate_cluster_dispersion", "target": "vrptwday", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/scoring/cluster_dispersion.py", "source_location": "L202", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_cluster_dispersion_evaluate_cluster_dispersion", "target": "$graphify-root$_src_scoring_cluster_dispersion_clusterdispersionreport", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "src/scoring/cluster_dispersion.py", "source_location": "L202", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_cluster_dispersion_count_geo_cluster_backtracks", "target": "$graphify-root$_src_scoring_cluster_dispersion_count_label_backtracks", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/scoring/cluster_dispersion.py", "source_location": "L110", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_cluster_dispersion_compute_day_dispersion", "target": "$graphify-root$_src_scoring_cluster_dispersion_count_area_backtracks", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/scoring/cluster_dispersion.py", "source_location": "L151", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_cluster_dispersion_compute_day_dispersion", "target": "$graphify-root$_src_scoring_cluster_dispersion_count_geo_cluster_backtracks", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/scoring/cluster_dispersion.py", "source_location": "L154", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_cluster_dispersion_compute_day_dispersion", "target": "$graphify-root$_src_scoring_cluster_dispersion_daydispersionmetric", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/scoring/cluster_dispersion.py", "source_location": "L156", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_cluster_dispersion_evaluate_cluster_dispersion", "target": "$graphify-root$_src_scoring_cluster_dispersion_compute_day_dispersion", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/scoring/cluster_dispersion.py", "source_location": "L216", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_cluster_dispersion_evaluate_cluster_dispersion", "target": "$graphify-root$_src_scoring_cluster_dispersion_switch_penalty", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/scoring/cluster_dispersion.py", "source_location": "L219", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_cluster_dispersion_evaluate_cluster_dispersion", "target": "$graphify-root$_src_scoring_cluster_dispersion_distance_penalty", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/scoring/cluster_dispersion.py", "source_location": "L220", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_cluster_dispersion_evaluate_cluster_dispersion", "target": "$graphify-root$_src_scoring_cluster_dispersion_backtrack_penalty", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/scoring/cluster_dispersion.py", "source_location": "L221", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_cluster_dispersion_evaluate_cluster_dispersion", "target": "$graphify-root$_src_scoring_cluster_dispersion_geo_bt_penalty", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/scoring/cluster_dispersion.py", "source_location": "L222", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_cluster_dispersion_evaluate_cluster_dispersion", "target": "$graphify-root$_src_scoring_cluster_dispersion_clusterdispersionreport", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/scoring/cluster_dispersion.py", "source_location": "L281", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_cluster_dispersion_rationale_1", "target": "$graphify-root$_src_scoring_cluster_dispersion_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/scoring/cluster_dispersion.py", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_cluster_dispersion_rationale_65", "target": "$graphify-root$_src_scoring_cluster_dispersion_count_area_backtracks", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/scoring/cluster_dispersion.py", "source_location": "L65", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_cluster_dispersion_rationale_81", "target": "$graphify-root$_src_scoring_cluster_dispersion_count_label_backtracks", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/scoring/cluster_dispersion.py", "source_location": "L81", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_cluster_dispersion_rationale_97", "target": "$graphify-root$_src_scoring_cluster_dispersion_count_geo_cluster_backtracks", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/scoring/cluster_dispersion.py", "source_location": "L97", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_cluster_dispersion_rationale_193", "target": "$graphify-root$_src_scoring_cluster_dispersion_geo_bt_penalty", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/scoring/cluster_dispersion.py", "source_location": "L193", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_cluster_dispersion_rationale_206", "target": "$graphify-root$_src_scoring_cluster_dispersion_evaluate_cluster_dispersion", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/scoring/cluster_dispersion.py", "source_location": "L206", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_src_scoring_cluster_dispersion_count_area_backtracks", "callee": "add", "is_member_call": true, "source_file": "src/scoring/cluster_dispersion.py", "source_location": "L75", "receiver": "seen"}, {"caller_nid": "$graphify-root$_src_scoring_cluster_dispersion_count_label_backtracks", "callee": "add", "is_member_call": true, "source_file": "src/scoring/cluster_dispersion.py", "source_location": "L88", "receiver": "seen"}, {"caller_nid": "$graphify-root$_src_scoring_cluster_dispersion_count_geo_cluster_backtracks", "callee": "radians", "is_member_call": true, "source_file": "src/scoring/cluster_dispersion.py", "source_location": "L105", "receiver": "np"}, {"caller_nid": "$graphify-root$_src_scoring_cluster_dispersion_count_geo_cluster_backtracks", "callee": "tolist", "is_member_call": true, "source_file": "src/scoring/cluster_dispersion.py", "source_location": "L107", "receiver": null}, {"caller_nid": "$graphify-root$_src_scoring_cluster_dispersion_count_geo_cluster_backtracks", "callee": "fit_predict", "is_member_call": true, "source_file": "src/scoring/cluster_dispersion.py", "source_location": "L107", "receiver": null}, {"caller_nid": "$graphify-root$_src_scoring_cluster_dispersion_count_geo_cluster_backtracks", "callee": "_DBSCAN", "is_member_call": false, "source_file": "src/scoring/cluster_dispersion.py", "source_location": "L107", "receiver": null}, {"caller_nid": "$graphify-root$_src_scoring_cluster_dispersion_compute_day_dispersion", "callee": "_haversine_km", "is_member_call": false, "source_file": "src/scoring/cluster_dispersion.py", "source_location": "L146", "receiver": null}, {"caller_nid": "$graphify-root$_src_scoring_cluster_dispersion_switch_penalty", "callee": "PENALTY_SWITCH_CRIT", "is_member_call": false, "indirect": true, "context": "return", "source_file": "src/scoring/cluster_dispersion.py", "source_location": "L168"}, {"caller_nid": "$graphify-root$_src_scoring_cluster_dispersion_switch_penalty", "callee": "PENALTY_SWITCH_WARN", "is_member_call": false, "indirect": true, "context": "return", "source_file": "src/scoring/cluster_dispersion.py", "source_location": "L170"}, {"caller_nid": "$graphify-root$_src_scoring_cluster_dispersion_distance_penalty", "callee": "PENALTY_DIST_CRIT", "is_member_call": false, "indirect": true, "context": "return", "source_file": "src/scoring/cluster_dispersion.py", "source_location": "L176"}, {"caller_nid": "$graphify-root$_src_scoring_cluster_dispersion_distance_penalty", "callee": "PENALTY_DIST_RISK", "is_member_call": false, "indirect": true, "context": "return", "source_file": "src/scoring/cluster_dispersion.py", "source_location": "L178"}, {"caller_nid": "$graphify-root$_src_scoring_cluster_dispersion_distance_penalty", "callee": "PENALTY_DIST_WARN", "is_member_call": false, "indirect": true, "context": "return", "source_file": "src/scoring/cluster_dispersion.py", "source_location": "L180"}, {"caller_nid": "$graphify-root$_src_scoring_cluster_dispersion_backtrack_penalty", "callee": "PENALTY_BACKTRACK_CRIT", "is_member_call": false, "indirect": true, "context": "return", "source_file": "src/scoring/cluster_dispersion.py", "source_location": "L186"}, {"caller_nid": "$graphify-root$_src_scoring_cluster_dispersion_backtrack_penalty", "callee": "PENALTY_BACKTRACK_WARN", "is_member_call": false, "indirect": true, "context": "return", "source_file": "src/scoring/cluster_dispersion.py", "source_location": "L188"}, {"caller_nid": "$graphify-root$_src_scoring_cluster_dispersion_geo_bt_penalty", "callee": "PENALTY_GEO_BT_CRIT", "is_member_call": false, "indirect": true, "context": "return", "source_file": "src/scoring/cluster_dispersion.py", "source_location": "L196"}, {"caller_nid": "$graphify-root$_src_scoring_cluster_dispersion_geo_bt_penalty", "callee": "PENALTY_GEO_BT_WARN", "is_member_call": false, "indirect": true, "context": "return", "source_file": "src/scoring/cluster_dispersion.py", "source_location": "L198"}, {"caller_nid": "$graphify-root$_src_scoring_cluster_dispersion_evaluate_cluster_dispersion", "callee": "append", "is_member_call": true, "source_file": "src/scoring/cluster_dispersion.py", "source_location": "L217", "receiver": "per_day"}, {"caller_nid": "$graphify-root$_src_scoring_cluster_dispersion_evaluate_cluster_dispersion", "callee": "COMBINED_PENALTY_CAP", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "src/scoring/cluster_dispersion.py", "source_location": "L224"}, {"caller_nid": "$graphify-root$_src_scoring_cluster_dispersion_evaluate_cluster_dispersion", "callee": "append", "is_member_call": true, "source_file": "src/scoring/cluster_dispersion.py", "source_location": "L228", "receiver": "deep_dive"}, {"caller_nid": "$graphify-root$_src_scoring_cluster_dispersion_evaluate_cluster_dispersion", "callee": "DeepDiveItem", "is_member_call": false, "source_file": "src/scoring/cluster_dispersion.py", "source_location": "L228", "receiver": null}, {"caller_nid": "$graphify-root$_src_scoring_cluster_dispersion_evaluate_cluster_dispersion", "callee": "append", "is_member_call": true, "source_file": "src/scoring/cluster_dispersion.py", "source_location": "L241", "receiver": "deep_dive"}, {"caller_nid": "$graphify-root$_src_scoring_cluster_dispersion_evaluate_cluster_dispersion", "callee": "DeepDiveItem", "is_member_call": false, "source_file": "src/scoring/cluster_dispersion.py", "source_location": "L241", "receiver": null}, {"caller_nid": "$graphify-root$_src_scoring_cluster_dispersion_evaluate_cluster_dispersion", "callee": "append", "is_member_call": true, "source_file": "src/scoring/cluster_dispersion.py", "source_location": "L254", "receiver": "deep_dive"}, {"caller_nid": "$graphify-root$_src_scoring_cluster_dispersion_evaluate_cluster_dispersion", "callee": "DeepDiveItem", "is_member_call": false, "source_file": "src/scoring/cluster_dispersion.py", "source_location": "L254", "receiver": null}, {"caller_nid": "$graphify-root$_src_scoring_cluster_dispersion_evaluate_cluster_dispersion", "callee": "join", "is_member_call": true, "source_file": "src/scoring/cluster_dispersion.py", "source_location": "L257", "receiver": null}, {"caller_nid": "$graphify-root$_src_scoring_cluster_dispersion_evaluate_cluster_dispersion", "callee": "append", "is_member_call": true, "source_file": "src/scoring/cluster_dispersion.py", "source_location": "L268", "receiver": "deep_dive"}, {"caller_nid": "$graphify-root$_src_scoring_cluster_dispersion_evaluate_cluster_dispersion", "callee": "DeepDiveItem", "is_member_call": false, "source_file": "src/scoring/cluster_dispersion.py", "source_location": "L268", "receiver": null}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/154143336bbb3e22546331f2d0c4ddfea8b7f8e31e92b6227a886f049a701e18.json b/graphify-out/cache/ast/v0.9.31/154143336bbb3e22546331f2d0c4ddfea8b7f8e31e92b6227a886f049a701e18.json new file mode 100644 index 0000000..16d752a --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/154143336bbb3e22546331f2d0c4ddfea8b7f8e31e92b6227a886f049a701e18.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_tests_test_scoring_py", "label": "test_scoring.py", "file_type": "code", "source_file": "tests/test_scoring.py", "source_location": "L1"}, {"id": "$graphify-root$_tests_test_scoring_make_poi", "label": "make_poi()", "file_type": "code", "source_file": "tests/test_scoring.py", "source_location": "L14", "_callable": true}, {"id": "poi", "label": "POI", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/tests/test_scoring.py"}, {"id": "$graphify-root$_tests_test_scoring_make_plan", "label": "make_plan()", "file_type": "code", "source_file": "tests/test_scoring.py", "source_location": "L29", "_callable": true}, {"id": "itineraryplan", "label": "ItineraryPlan", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/tests/test_scoring.py"}, {"id": "$graphify-root$_tests_test_scoring_make_matrix", "label": "make_matrix()", "file_type": "code", "source_file": "tests/test_scoring.py", "source_location": "L42", "_callable": true}, {"id": "$graphify-root$_tests_test_scoring_make_hard_fail", "label": "make_hard_fail()", "file_type": "code", "source_file": "tests/test_scoring.py", "source_location": "L52", "_callable": true}, {"id": "hardfail", "label": "HardFail", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/tests/test_scoring.py"}, {"id": "fixture", "label": "fixture", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/tests/test_scoring.py"}, {"id": "$graphify-root$_tests_test_scoring_calc", "label": "calc()", "file_type": "code", "source_file": "tests/test_scoring.py", "source_location": "L66", "_callable": true}, {"id": "scorecalculator", "label": "ScoreCalculator", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/tests/test_scoring.py"}, {"id": "$graphify-root$_tests_test_scoring_sample_pois", "label": "sample_pois()", "file_type": "code", "source_file": "tests/test_scoring.py", "source_location": "L71", "_callable": true}, {"id": "$graphify-root$_tests_test_scoring_sample_matrix", "label": "sample_matrix()", "file_type": "code", "source_file": "tests/test_scoring.py", "source_location": "L81", "_callable": true}, {"id": "$graphify-root$_tests_test_scoring_sample_plan", "label": "sample_plan()", "file_type": "code", "source_file": "tests/test_scoring.py", "source_location": "L87", "_callable": true}, {"id": "$graphify-root$_tests_test_scoring_testweights", "label": "TestWeights", "file_type": "code", "source_file": "tests/test_scoring.py", "source_location": "L95", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_tests_test_scoring_testweights_test_weights_sum_to_one", "label": ".test_weights_sum_to_one()", "file_type": "code", "source_file": "tests/test_scoring.py", "source_location": "L96", "_callable": true}, {"id": "$graphify-root$_tests_test_scoring_testweights_test_weights_keys", "label": ".test_weights_keys()", "file_type": "code", "source_file": "tests/test_scoring.py", "source_location": "L100", "_callable": true}, {"id": "$graphify-root$_tests_test_scoring_testcompute", "label": "TestCompute", "file_type": "code", "source_file": "tests/test_scoring.py", "source_location": "L110", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_tests_test_scoring_testcompute_test_final_score_in_range", "label": ".test_final_score_in_range()", "file_type": "code", "source_file": "tests/test_scoring.py", "source_location": "L111", "_callable": true}, {"id": "$graphify-root$_tests_test_scoring_testcompute_test_hard_fail_caps_score_at_59", "label": ".test_hard_fail_caps_score_at_59()", "file_type": "code", "source_file": "tests/test_scoring.py", "source_location": "L115", "_callable": true}, {"id": "$graphify-root$_tests_test_scoring_testcompute_test_no_hard_fail_can_exceed_59", "label": ".test_no_hard_fail_can_exceed_59()", "file_type": "code", "source_file": "tests/test_scoring.py", "source_location": "L121", "_callable": true}, {"id": "$graphify-root$_tests_test_scoring_testcompute_test_scores_object_fields", "label": ".test_scores_object_fields()", "file_type": "code", "source_file": "tests/test_scoring.py", "source_location": "L127", "_callable": true}, {"id": "$graphify-root$_tests_test_scoring_testefficiency", "label": "TestEfficiency", "file_type": "code", "source_file": "tests/test_scoring.py", "source_location": "L140", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_tests_test_scoring_testefficiency_test_optimal_order_is_one", "label": ".test_optimal_order_is_one()", "file_type": "code", "source_file": "tests/test_scoring.py", "source_location": "L141", "_callable": true}, {"id": "$graphify-root$_tests_test_scoring_testefficiency_test_suboptimal_order_below_one", "label": ".test_suboptimal_order_below_one()", "file_type": "code", "source_file": "tests/test_scoring.py", "source_location": "L150", "_callable": true}, {"id": "$graphify-root$_tests_test_scoring_testefficiency_test_single_poi_returns_one", "label": ".test_single_poi_returns_one()", "file_type": "code", "source_file": "tests/test_scoring.py", "source_location": "L161", "_callable": true}, {"id": "$graphify-root$_tests_test_scoring_testfeasibility", "label": "TestFeasibility", "file_type": "code", "source_file": "tests/test_scoring.py", "source_location": "L170", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_tests_test_scoring_testfeasibility_test_no_hard_fails_hard_is_one", "label": ".test_no_hard_fails_hard_is_one()", "file_type": "code", "source_file": "tests/test_scoring.py", "source_location": "L171", "_callable": true}, {"id": "$graphify-root$_tests_test_scoring_testfeasibility_test_hard_fail_reduces_feasibility", "label": ".test_hard_fail_reduces_feasibility()", "file_type": "code", "source_file": "tests/test_scoring.py", "source_location": "L176", "_callable": true}, {"id": "$graphify-root$_tests_test_scoring_testfeasibility_test_feasibility_in_range", "label": ".test_feasibility_in_range()", "file_type": "code", "source_file": "tests/test_scoring.py", "source_location": "L181", "_callable": true}, {"id": "$graphify-root$_tests_test_scoring_testpurposefit", "label": "TestPurposeFit", "file_type": "code", "source_file": "tests/test_scoring.py", "source_location": "L190", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_tests_test_scoring_testpurposefit_test_cultural_all_cultural_high", "label": ".test_cultural_all_cultural_high()", "file_type": "code", "source_file": "tests/test_scoring.py", "source_location": "L191", "_callable": true}, {"id": "$graphify-root$_tests_test_scoring_testpurposefit_test_cultural_all_sports_low", "label": ".test_cultural_all_sports_low()", "file_type": "code", "source_file": "tests/test_scoring.py", "source_location": "L197", "_callable": true}, {"id": "$graphify-root$_tests_test_scoring_testpurposefit_test_no_travel_type_returns_half", "label": ".test_no_travel_type_returns_half()", "file_type": "code", "source_file": "tests/test_scoring.py", "source_location": "L203", "_callable": true}, {"id": "$graphify-root$_tests_test_scoring_testcosinedistance", "label": "TestCosineDistance", "file_type": "code", "source_file": "tests/test_scoring.py", "source_location": "L213", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_tests_test_scoring_testcosinedistance_test_identical_vectors", "label": ".test_identical_vectors()", "file_type": "code", "source_file": "tests/test_scoring.py", "source_location": "L214", "_callable": true}, {"id": "$graphify-root$_tests_test_scoring_testcosinedistance_test_orthogonal_vectors", "label": ".test_orthogonal_vectors()", "file_type": "code", "source_file": "tests/test_scoring.py", "source_location": "L218", "_callable": true}, {"id": "$graphify-root$_tests_test_scoring_testcosinedistance_test_zero_vector", "label": ".test_zero_vector()", "file_type": "code", "source_file": "tests/test_scoring.py", "source_location": "L223", "_callable": true}, {"id": "$graphify-root$_tests_test_scoring_rationale_1", "label": "Tests for ScoreCalculator (TDD).", "file_type": "rationale", "source_file": "tests/test_scoring.py", "source_location": "L1"}], "edges": [{"source": "$graphify-root$_tests_test_scoring_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_scoring.py", "source_location": "L4", "weight": 1.0}, {"source": "$graphify-root$_tests_test_scoring_py", "target": "src_data_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_scoring.py", "source_location": "L6", "weight": 1.0}, {"source": "$graphify-root$_tests_test_scoring_py", "target": "src_validation_scoring", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_scoring.py", "source_location": "L7", "weight": 1.0}, {"source": "$graphify-root$_tests_test_scoring_py", "target": "$graphify-root$_tests_test_scoring_make_poi", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_scoring.py", "source_location": "L14", "weight": 1.0}, {"source": "$graphify-root$_tests_test_scoring_make_poi", "target": "poi", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "tests/test_scoring.py", "source_location": "L14", "weight": 1.0}, {"source": "$graphify-root$_tests_test_scoring_py", "target": "$graphify-root$_tests_test_scoring_make_plan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_scoring.py", "source_location": "L29", "weight": 1.0}, {"source": "$graphify-root$_tests_test_scoring_make_plan", "target": "itineraryplan", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "tests/test_scoring.py", "source_location": "L29", "weight": 1.0}, {"source": "$graphify-root$_tests_test_scoring_py", "target": "$graphify-root$_tests_test_scoring_make_matrix", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_scoring.py", "source_location": "L42", "weight": 1.0}, {"source": "$graphify-root$_tests_test_scoring_py", "target": "$graphify-root$_tests_test_scoring_make_hard_fail", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_scoring.py", "source_location": "L52", "weight": 1.0}, {"source": "$graphify-root$_tests_test_scoring_make_hard_fail", "target": "hardfail", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "tests/test_scoring.py", "source_location": "L52", "weight": 1.0}, {"source": "$graphify-root$_tests_test_scoring_calc", "target": "fixture", "relation": "references", "confidence": "EXTRACTED", "source_file": "tests/test_scoring.py", "source_location": "L65", "weight": 1.0, "context": "decorator"}, {"source": "$graphify-root$_tests_test_scoring_py", "target": "$graphify-root$_tests_test_scoring_calc", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_scoring.py", "source_location": "L66", "weight": 1.0}, {"source": "$graphify-root$_tests_test_scoring_calc", "target": "scorecalculator", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "tests/test_scoring.py", "source_location": "L66", "weight": 1.0}, {"source": "$graphify-root$_tests_test_scoring_sample_pois", "target": "fixture", "relation": "references", "confidence": "EXTRACTED", "source_file": "tests/test_scoring.py", "source_location": "L70", "weight": 1.0, "context": "decorator"}, {"source": "$graphify-root$_tests_test_scoring_py", "target": "$graphify-root$_tests_test_scoring_sample_pois", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_scoring.py", "source_location": "L71", "weight": 1.0}, {"source": "$graphify-root$_tests_test_scoring_sample_pois", "target": "poi", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "tests/test_scoring.py", "source_location": "L71", "weight": 1.0}, {"source": "$graphify-root$_tests_test_scoring_sample_matrix", "target": "fixture", "relation": "references", "confidence": "EXTRACTED", "source_file": "tests/test_scoring.py", "source_location": "L80", "weight": 1.0, "context": "decorator"}, {"source": "$graphify-root$_tests_test_scoring_py", "target": "$graphify-root$_tests_test_scoring_sample_matrix", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_scoring.py", "source_location": "L81", "weight": 1.0}, {"source": "$graphify-root$_tests_test_scoring_sample_plan", "target": "fixture", "relation": "references", "confidence": "EXTRACTED", "source_file": "tests/test_scoring.py", "source_location": "L86", "weight": 1.0, "context": "decorator"}, {"source": "$graphify-root$_tests_test_scoring_py", "target": "$graphify-root$_tests_test_scoring_sample_plan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_scoring.py", "source_location": "L87", "weight": 1.0}, {"source": "$graphify-root$_tests_test_scoring_sample_plan", "target": "itineraryplan", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "tests/test_scoring.py", "source_location": "L87", "weight": 1.0}, {"source": "$graphify-root$_tests_test_scoring_py", "target": "$graphify-root$_tests_test_scoring_testweights", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_scoring.py", "source_location": "L95", "weight": 1.0}, {"source": "$graphify-root$_tests_test_scoring_testweights", "target": "$graphify-root$_tests_test_scoring_testweights_test_weights_sum_to_one", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_scoring.py", "source_location": "L96", "weight": 1.0}, {"source": "$graphify-root$_tests_test_scoring_testweights", "target": "$graphify-root$_tests_test_scoring_testweights_test_weights_keys", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_scoring.py", "source_location": "L100", "weight": 1.0}, {"source": "$graphify-root$_tests_test_scoring_py", "target": "$graphify-root$_tests_test_scoring_testcompute", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_scoring.py", "source_location": "L110", "weight": 1.0}, {"source": "$graphify-root$_tests_test_scoring_testcompute", "target": "$graphify-root$_tests_test_scoring_testcompute_test_final_score_in_range", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_scoring.py", "source_location": "L111", "weight": 1.0}, {"source": "$graphify-root$_tests_test_scoring_testcompute", "target": "$graphify-root$_tests_test_scoring_testcompute_test_hard_fail_caps_score_at_59", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_scoring.py", "source_location": "L115", "weight": 1.0}, {"source": "$graphify-root$_tests_test_scoring_testcompute", "target": "$graphify-root$_tests_test_scoring_testcompute_test_no_hard_fail_can_exceed_59", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_scoring.py", "source_location": "L121", "weight": 1.0}, {"source": "$graphify-root$_tests_test_scoring_testcompute", "target": "$graphify-root$_tests_test_scoring_testcompute_test_scores_object_fields", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_scoring.py", "source_location": "L127", "weight": 1.0}, {"source": "$graphify-root$_tests_test_scoring_py", "target": "$graphify-root$_tests_test_scoring_testefficiency", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_scoring.py", "source_location": "L140", "weight": 1.0}, {"source": "$graphify-root$_tests_test_scoring_testefficiency", "target": "$graphify-root$_tests_test_scoring_testefficiency_test_optimal_order_is_one", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_scoring.py", "source_location": "L141", "weight": 1.0}, {"source": "$graphify-root$_tests_test_scoring_testefficiency", "target": "$graphify-root$_tests_test_scoring_testefficiency_test_suboptimal_order_below_one", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_scoring.py", "source_location": "L150", "weight": 1.0}, {"source": "$graphify-root$_tests_test_scoring_testefficiency", "target": "$graphify-root$_tests_test_scoring_testefficiency_test_single_poi_returns_one", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_scoring.py", "source_location": "L161", "weight": 1.0}, {"source": "$graphify-root$_tests_test_scoring_py", "target": "$graphify-root$_tests_test_scoring_testfeasibility", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_scoring.py", "source_location": "L170", "weight": 1.0}, {"source": "$graphify-root$_tests_test_scoring_testfeasibility", "target": "$graphify-root$_tests_test_scoring_testfeasibility_test_no_hard_fails_hard_is_one", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_scoring.py", "source_location": "L171", "weight": 1.0}, {"source": "$graphify-root$_tests_test_scoring_testfeasibility", "target": "$graphify-root$_tests_test_scoring_testfeasibility_test_hard_fail_reduces_feasibility", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_scoring.py", "source_location": "L176", "weight": 1.0}, {"source": "$graphify-root$_tests_test_scoring_testfeasibility", "target": "$graphify-root$_tests_test_scoring_testfeasibility_test_feasibility_in_range", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_scoring.py", "source_location": "L181", "weight": 1.0}, {"source": "$graphify-root$_tests_test_scoring_py", "target": "$graphify-root$_tests_test_scoring_testpurposefit", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_scoring.py", "source_location": "L190", "weight": 1.0}, {"source": "$graphify-root$_tests_test_scoring_testpurposefit", "target": "$graphify-root$_tests_test_scoring_testpurposefit_test_cultural_all_cultural_high", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_scoring.py", "source_location": "L191", "weight": 1.0}, {"source": "$graphify-root$_tests_test_scoring_testpurposefit", "target": "$graphify-root$_tests_test_scoring_testpurposefit_test_cultural_all_sports_low", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_scoring.py", "source_location": "L197", "weight": 1.0}, {"source": "$graphify-root$_tests_test_scoring_testpurposefit", "target": "$graphify-root$_tests_test_scoring_testpurposefit_test_no_travel_type_returns_half", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_scoring.py", "source_location": "L203", "weight": 1.0}, {"source": "$graphify-root$_tests_test_scoring_py", "target": "$graphify-root$_tests_test_scoring_testcosinedistance", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_scoring.py", "source_location": "L213", "weight": 1.0}, {"source": "$graphify-root$_tests_test_scoring_testcosinedistance", "target": "$graphify-root$_tests_test_scoring_testcosinedistance_test_identical_vectors", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_scoring.py", "source_location": "L214", "weight": 1.0}, {"source": "$graphify-root$_tests_test_scoring_testcosinedistance", "target": "$graphify-root$_tests_test_scoring_testcosinedistance_test_orthogonal_vectors", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_scoring.py", "source_location": "L218", "weight": 1.0}, {"source": "$graphify-root$_tests_test_scoring_testcosinedistance", "target": "$graphify-root$_tests_test_scoring_testcosinedistance_test_zero_vector", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_scoring.py", "source_location": "L223", "weight": 1.0}, {"source": "$graphify-root$_tests_test_scoring_make_poi", "target": "poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_scoring.py", "source_location": "L22", "weight": 1.0}, {"source": "$graphify-root$_tests_test_scoring_make_plan", "target": "itineraryplan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_scoring.py", "source_location": "L33", "weight": 1.0}, {"source": "$graphify-root$_tests_test_scoring_make_hard_fail", "target": "hardfail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_scoring.py", "source_location": "L53", "weight": 1.0}, {"source": "$graphify-root$_tests_test_scoring_calc", "target": "scorecalculator", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_scoring.py", "source_location": "L67", "weight": 1.0}, {"source": "$graphify-root$_tests_test_scoring_sample_pois", "target": "$graphify-root$_tests_test_scoring_make_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_scoring.py", "source_location": "L73", "weight": 1.0}, {"source": "$graphify-root$_tests_test_scoring_sample_matrix", "target": "$graphify-root$_tests_test_scoring_make_matrix", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_scoring.py", "source_location": "L83", "weight": 1.0}, {"source": "$graphify-root$_tests_test_scoring_sample_plan", "target": "$graphify-root$_tests_test_scoring_make_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_scoring.py", "source_location": "L88", "weight": 1.0}, {"source": "$graphify-root$_tests_test_scoring_testcompute_test_hard_fail_caps_score_at_59", "target": "$graphify-root$_tests_test_scoring_make_hard_fail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_scoring.py", "source_location": "L117", "weight": 1.0}, {"source": "$graphify-root$_tests_test_scoring_testefficiency_test_optimal_order_is_one", "target": "$graphify-root$_tests_test_scoring_make_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_scoring.py", "source_location": "L144", "weight": 1.0}, {"source": "$graphify-root$_tests_test_scoring_testefficiency_test_suboptimal_order_below_one", "target": "$graphify-root$_tests_test_scoring_make_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_scoring.py", "source_location": "L153", "weight": 1.0}, {"source": "$graphify-root$_tests_test_scoring_testefficiency_test_single_poi_returns_one", "target": "$graphify-root$_tests_test_scoring_make_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_scoring.py", "source_location": "L162", "weight": 1.0}, {"source": "$graphify-root$_tests_test_scoring_testfeasibility_test_hard_fail_reduces_feasibility", "target": "$graphify-root$_tests_test_scoring_make_hard_fail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_scoring.py", "source_location": "L177", "weight": 1.0}, {"source": "$graphify-root$_tests_test_scoring_testpurposefit_test_cultural_all_cultural_high", "target": "$graphify-root$_tests_test_scoring_make_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_scoring.py", "source_location": "L192", "weight": 1.0}, {"source": "$graphify-root$_tests_test_scoring_testpurposefit_test_cultural_all_cultural_high", "target": "$graphify-root$_tests_test_scoring_make_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_scoring.py", "source_location": "L193", "weight": 1.0}, {"source": "$graphify-root$_tests_test_scoring_testpurposefit_test_cultural_all_sports_low", "target": "$graphify-root$_tests_test_scoring_make_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_scoring.py", "source_location": "L198", "weight": 1.0}, {"source": "$graphify-root$_tests_test_scoring_testpurposefit_test_cultural_all_sports_low", "target": "$graphify-root$_tests_test_scoring_make_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_scoring.py", "source_location": "L199", "weight": 1.0}, {"source": "$graphify-root$_tests_test_scoring_testpurposefit_test_no_travel_type_returns_half", "target": "$graphify-root$_tests_test_scoring_make_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_scoring.py", "source_location": "L204", "weight": 1.0}, {"source": "$graphify-root$_tests_test_scoring_testpurposefit_test_no_travel_type_returns_half", "target": "$graphify-root$_tests_test_scoring_make_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_scoring.py", "source_location": "L205", "weight": 1.0}, {"source": "$graphify-root$_tests_test_scoring_rationale_1", "target": "$graphify-root$_tests_test_scoring_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_scoring.py", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_tests_test_scoring_make_plan", "callee": "DayPlan", "is_member_call": false, "source_file": "tests/test_scoring.py", "source_location": "L34", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_scoring_make_plan", "callee": "PlaceInput", "is_member_call": false, "source_file": "tests/test_scoring.py", "source_location": "L34", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_scoring_make_matrix", "callee": "items", "is_member_call": true, "source_file": "tests/test_scoring.py", "source_location": "L44", "receiver": "pairs"}, {"caller_nid": "$graphify-root$_tests_test_scoring_make_matrix", "callee": "setdefault", "is_member_call": true, "source_file": "tests/test_scoring.py", "source_location": "L45", "receiver": "matrix"}, {"caller_nid": "$graphify-root$_tests_test_scoring_testweights_test_weights_sum_to_one", "callee": "values", "is_member_call": true, "source_file": "tests/test_scoring.py", "source_location": "L97", "receiver": "WEIGHTS"}, {"caller_nid": "$graphify-root$_tests_test_scoring_testweights_test_weights_keys", "callee": "keys", "is_member_call": true, "source_file": "tests/test_scoring.py", "source_location": "L101", "receiver": "WEIGHTS"}, {"caller_nid": "$graphify-root$_tests_test_scoring_testcompute_test_final_score_in_range", "callee": "compute", "is_member_call": true, "source_file": "tests/test_scoring.py", "source_location": "L112", "receiver": "calc"}, {"caller_nid": "$graphify-root$_tests_test_scoring_testcompute_test_hard_fail_caps_score_at_59", "callee": "compute", "is_member_call": true, "source_file": "tests/test_scoring.py", "source_location": "L116", "receiver": "calc"}, {"caller_nid": "$graphify-root$_tests_test_scoring_testcompute_test_no_hard_fail_can_exceed_59", "callee": "compute", "is_member_call": true, "source_file": "tests/test_scoring.py", "source_location": "L122", "receiver": "calc"}, {"caller_nid": "$graphify-root$_tests_test_scoring_testcompute_test_no_hard_fail_can_exceed_59", "callee": "int", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "tests/test_scoring.py", "source_location": "L125"}, {"caller_nid": "$graphify-root$_tests_test_scoring_testcompute_test_scores_object_fields", "callee": "compute", "is_member_call": true, "source_file": "tests/test_scoring.py", "source_location": "L128", "receiver": "calc"}, {"caller_nid": "$graphify-root$_tests_test_scoring_testefficiency_test_optimal_order_is_one", "callee": "_calc_efficiency", "is_member_call": true, "source_file": "tests/test_scoring.py", "source_location": "L147", "receiver": "calc"}, {"caller_nid": "$graphify-root$_tests_test_scoring_testefficiency_test_optimal_order_is_one", "callee": "approx", "is_member_call": true, "source_file": "tests/test_scoring.py", "source_location": "L148", "receiver": "pytest"}, {"caller_nid": "$graphify-root$_tests_test_scoring_testefficiency_test_suboptimal_order_below_one", "callee": "_calc_efficiency", "is_member_call": true, "source_file": "tests/test_scoring.py", "source_location": "L158", "receiver": "calc"}, {"caller_nid": "$graphify-root$_tests_test_scoring_testefficiency_test_single_poi_returns_one", "callee": "_calc_efficiency", "is_member_call": true, "source_file": "tests/test_scoring.py", "source_location": "L163", "receiver": "calc"}, {"caller_nid": "$graphify-root$_tests_test_scoring_testfeasibility_test_no_hard_fails_hard_is_one", "callee": "_calc_feasibility", "is_member_call": true, "source_file": "tests/test_scoring.py", "source_location": "L172", "receiver": "calc"}, {"caller_nid": "$graphify-root$_tests_test_scoring_testfeasibility_test_hard_fail_reduces_feasibility", "callee": "_calc_feasibility", "is_member_call": true, "source_file": "tests/test_scoring.py", "source_location": "L177", "receiver": "calc"}, {"caller_nid": "$graphify-root$_tests_test_scoring_testfeasibility_test_hard_fail_reduces_feasibility", "callee": "_calc_feasibility", "is_member_call": true, "source_file": "tests/test_scoring.py", "source_location": "L178", "receiver": "calc"}, {"caller_nid": "$graphify-root$_tests_test_scoring_testfeasibility_test_feasibility_in_range", "callee": "_calc_feasibility", "is_member_call": true, "source_file": "tests/test_scoring.py", "source_location": "L182", "receiver": "calc"}, {"caller_nid": "$graphify-root$_tests_test_scoring_testpurposefit_test_cultural_all_cultural_high", "callee": "_calc_purpose_fit", "is_member_call": true, "source_file": "tests/test_scoring.py", "source_location": "L194", "receiver": "calc"}, {"caller_nid": "$graphify-root$_tests_test_scoring_testpurposefit_test_cultural_all_sports_low", "callee": "_calc_purpose_fit", "is_member_call": true, "source_file": "tests/test_scoring.py", "source_location": "L200", "receiver": "calc"}, {"caller_nid": "$graphify-root$_tests_test_scoring_testpurposefit_test_no_travel_type_returns_half", "callee": "_calc_purpose_fit", "is_member_call": true, "source_file": "tests/test_scoring.py", "source_location": "L206", "receiver": "calc"}, {"caller_nid": "$graphify-root$_tests_test_scoring_testcosinedistance_test_identical_vectors", "callee": "_cosine_distance", "is_member_call": true, "source_file": "tests/test_scoring.py", "source_location": "L216", "receiver": "calc"}, {"caller_nid": "$graphify-root$_tests_test_scoring_testcosinedistance_test_identical_vectors", "callee": "approx", "is_member_call": true, "source_file": "tests/test_scoring.py", "source_location": "L216", "receiver": "pytest"}, {"caller_nid": "$graphify-root$_tests_test_scoring_testcosinedistance_test_orthogonal_vectors", "callee": "_cosine_distance", "is_member_call": true, "source_file": "tests/test_scoring.py", "source_location": "L221", "receiver": "calc"}, {"caller_nid": "$graphify-root$_tests_test_scoring_testcosinedistance_test_orthogonal_vectors", "callee": "approx", "is_member_call": true, "source_file": "tests/test_scoring.py", "source_location": "L221", "receiver": "pytest"}, {"caller_nid": "$graphify-root$_tests_test_scoring_testcosinedistance_test_zero_vector", "callee": "_cosine_distance", "is_member_call": true, "source_file": "tests/test_scoring.py", "source_location": "L226", "receiver": "calc"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/1725befc5a5f1c81a222a7385978af4fcaf030ecc866e5781e329cdc102a8315.json b/graphify-out/cache/ast/v0.9.31/1725befc5a5f1c81a222a7385978af4fcaf030ecc866e5781e329cdc102a8315.json new file mode 100644 index 0000000..95d6abf --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/1725befc5a5f1c81a222a7385978af4fcaf030ecc866e5781e329cdc102a8315.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_src_api_main_py", "label": "main.py", "file_type": "code", "source_file": "src/api/main.py", "source_location": "L1"}, {"id": "get", "label": "get", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/api/main.py"}, {"id": "$graphify-root$_src_api_main_index", "label": "index()", "file_type": "code", "source_file": "src/api/main.py", "source_location": "L47", "_callable": true}, {"id": "$graphify-root$_src_api_main_manifest", "label": "manifest()", "file_type": "code", "source_file": "src/api/main.py", "source_location": "L55", "_callable": true}, {"id": "response", "label": "Response", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/api/main.py"}, {"id": "$graphify-root$_src_api_main_service_worker", "label": "service_worker()", "file_type": "code", "source_file": "src/api/main.py", "source_location": "L63", "_callable": true}, {"id": "$graphify-root$_src_api_main_health", "label": "health()", "file_type": "code", "source_file": "src/api/main.py", "source_location": "L75", "_callable": true}, {"id": "$graphify-root$_src_api_main_rationale_76", "label": "\ub77c\uc774\ube0c\ub2c8\uc2a4 + \uad6c\uc131 \uc9c4\ub2e8. \uc2dc\ud06c\ub9bf \uac12\uc740 \uc808\ub300 \ub178\ucd9c\ud558\uc9c0 \uc54a\uace0, \ud0a4 \uc124\uc815 \uc5ec\ubd80(bool)\uc640 \ub85c\ub529\ub41c \ub370\uc774\ud130 \uac74\uc218\ub9cc \ubc18\ud658\ud55c\ub2e4. \uc2ec\uc0ac \uc2dc \uc678\ubd80 API\u2026", "file_type": "rationale", "source_file": "src/api/main.py", "source_location": "L76"}], "edges": [{"source": "$graphify-root$_src_api_main_py", "target": "os", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/api/main.py", "source_location": "L4", "weight": 1.0}, {"source": "$graphify-root$_src_api_main_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/api/main.py", "source_location": "L5", "weight": 1.0}, {"source": "$graphify-root$_src_api_main_py", "target": "fastapi", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/api/main.py", "source_location": "L7", "weight": 1.0}, {"source": "$graphify-root$_src_api_main_py", "target": "fastapi_middleware_cors", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/api/main.py", "source_location": "L8", "weight": 1.0}, {"source": "$graphify-root$_src_api_main_py", "target": "fastapi_responses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/api/main.py", "source_location": "L9", "weight": 1.0}, {"source": "$graphify-root$_src_api_main_py", "target": "fastapi_staticfiles", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/api/main.py", "source_location": "L10", "weight": 1.0}, {"source": "$graphify-root$_src_api_main_py", "target": "src_api_router", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/api/main.py", "source_location": "L23", "weight": 1.0}, {"source": "$graphify-root$_src_api_main_index", "target": "get", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/api/main.py", "source_location": "L46", "weight": 1.0, "context": "decorator"}, {"source": "$graphify-root$_src_api_main_py", "target": "$graphify-root$_src_api_main_index", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/api/main.py", "source_location": "L47", "weight": 1.0}, {"source": "$graphify-root$_src_api_main_manifest", "target": "get", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/api/main.py", "source_location": "L54", "weight": 1.0, "context": "decorator"}, {"source": "$graphify-root$_src_api_main_py", "target": "$graphify-root$_src_api_main_manifest", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/api/main.py", "source_location": "L55", "weight": 1.0}, {"source": "$graphify-root$_src_api_main_manifest", "target": "response", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "src/api/main.py", "source_location": "L55", "weight": 1.0}, {"source": "$graphify-root$_src_api_main_service_worker", "target": "get", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/api/main.py", "source_location": "L62", "weight": 1.0, "context": "decorator"}, {"source": "$graphify-root$_src_api_main_py", "target": "$graphify-root$_src_api_main_service_worker", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/api/main.py", "source_location": "L63", "weight": 1.0}, {"source": "$graphify-root$_src_api_main_service_worker", "target": "response", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "src/api/main.py", "source_location": "L63", "weight": 1.0}, {"source": "$graphify-root$_src_api_main_health", "target": "get", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/api/main.py", "source_location": "L74", "weight": 1.0, "context": "decorator"}, {"source": "$graphify-root$_src_api_main_py", "target": "$graphify-root$_src_api_main_health", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/api/main.py", "source_location": "L75", "weight": 1.0}, {"source": "$graphify-root$_src_api_main_rationale_76", "target": "$graphify-root$_src_api_main_health", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/api/main.py", "source_location": "L76", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_src_api_main_index", "callee": "exists", "is_member_call": true, "source_file": "src/api/main.py", "source_location": "L49", "receiver": "html_file"}, {"caller_nid": "$graphify-root$_src_api_main_index", "callee": "read_text", "is_member_call": true, "source_file": "src/api/main.py", "source_location": "L50", "receiver": "html_file"}, {"caller_nid": "$graphify-root$_src_api_main_manifest", "callee": "exists", "is_member_call": true, "source_file": "src/api/main.py", "source_location": "L57", "receiver": "f"}, {"caller_nid": "$graphify-root$_src_api_main_manifest", "callee": "read_text", "is_member_call": true, "source_file": "src/api/main.py", "source_location": "L58", "receiver": "f"}, {"caller_nid": "$graphify-root$_src_api_main_service_worker", "callee": "exists", "is_member_call": true, "source_file": "src/api/main.py", "source_location": "L65", "receiver": "f"}, {"caller_nid": "$graphify-root$_src_api_main_service_worker", "callee": "read_text", "is_member_call": true, "source_file": "src/api/main.py", "source_location": "L67", "receiver": "f"}, {"caller_nid": "$graphify-root$_src_api_main_health", "callee": "_is_set", "is_member_call": false, "source_file": "src/api/main.py", "source_location": "L87", "receiver": null}, {"caller_nid": "$graphify-root$_src_api_main_health", "callee": "_is_set", "is_member_call": false, "source_file": "src/api/main.py", "source_location": "L88", "receiver": null}, {"caller_nid": "$graphify-root$_src_api_main_health", "callee": "_is_set", "is_member_call": false, "source_file": "src/api/main.py", "source_location": "L89", "receiver": null}, {"caller_nid": "$graphify-root$_src_api_main_health", "callee": "_is_set", "is_member_call": false, "source_file": "src/api/main.py", "source_location": "L90", "receiver": null}, {"caller_nid": "$graphify-root$_src_api_main_health", "callee": "_is_set", "is_member_call": false, "source_file": "src/api/main.py", "source_location": "L91", "receiver": null}, {"caller_nid": "$graphify-root$_src_api_main_health", "callee": "_is_set", "is_member_call": false, "source_file": "src/api/main.py", "source_location": "L92", "receiver": null}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/197911bb59bc12c7128b036f9780c46be69ce81c37b55778a5a6f2d47a52f40b.json b/graphify-out/cache/ast/v0.9.31/197911bb59bc12c7128b036f9780c46be69ce81c37b55778a5a6f2d47a52f40b.json new file mode 100644 index 0000000..deb255d --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/197911bb59bc12c7128b036f9780c46be69ce81c37b55778a5a6f2d47a52f40b.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_scripts_fetch_jeju_hours_py", "label": "fetch_jeju_hours.py", "file_type": "code", "source_file": "scripts/fetch_jeju_hours.py", "source_location": "L1"}, {"id": "$graphify-root$_scripts_fetch_jeju_hours_fetch_one", "label": "_fetch_one()", "file_type": "code", "source_file": "scripts/fetch_jeju_hours.py", "source_location": "L35", "_callable": true}, {"id": "tourapiclient", "label": "TourAPIClient", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/scripts/fetch_jeju_hours.py"}, {"id": "semaphore", "label": "Semaphore", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/scripts/fetch_jeju_hours.py"}, {"id": "$graphify-root$_scripts_fetch_jeju_hours_main", "label": "main()", "file_type": "code", "source_file": "scripts/fetch_jeju_hours.py", "source_location": "L43", "_callable": true}, {"id": "$graphify-root$_scripts_fetch_jeju_hours_rationale_1", "label": "\uc81c\uc8fc POI(pois.csv) \uc804\uccb4\uc5d0 \ub300\ud574 TourAPI \uc2e4\uc81c \uc6b4\uc601\uc2dc\uac04\uc744 \ubbf8\ub9ac \uc870\ud68c\ud574 \uce90\uc2dc \ud30c\uc77c\ub85c \uc800\uc7a5\ud55c\ub2e4.\u2026", "file_type": "rationale", "source_file": "scripts/fetch_jeju_hours.py", "source_location": "L1"}], "edges": [{"source": "$graphify-root$_scripts_fetch_jeju_hours_py", "target": "asyncio", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/fetch_jeju_hours.py", "source_location": "L16", "weight": 1.0}, {"source": "$graphify-root$_scripts_fetch_jeju_hours_py", "target": "json", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/fetch_jeju_hours.py", "source_location": "L17", "weight": 1.0}, {"source": "$graphify-root$_scripts_fetch_jeju_hours_py", "target": "sys", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/fetch_jeju_hours.py", "source_location": "L18", "weight": 1.0}, {"source": "$graphify-root$_scripts_fetch_jeju_hours_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/fetch_jeju_hours.py", "source_location": "L19", "weight": 1.0}, {"source": "$graphify-root$_scripts_fetch_jeju_hours_py", "target": "pandas", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/fetch_jeju_hours.py", "source_location": "L21", "weight": 1.0, "local_alias": "pd"}, {"source": "$graphify-root$_scripts_fetch_jeju_hours_py", "target": "dotenv", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/fetch_jeju_hours.py", "source_location": "L22", "weight": 1.0}, {"source": "$graphify-root$_scripts_fetch_jeju_hours_py", "target": "src_data_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/fetch_jeju_hours.py", "source_location": "L28", "weight": 1.0}, {"source": "$graphify-root$_scripts_fetch_jeju_hours_py", "target": "src_data_tour_api", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/fetch_jeju_hours.py", "source_location": "L29", "weight": 1.0}, {"source": "$graphify-root$_scripts_fetch_jeju_hours_py", "target": "$graphify-root$_scripts_fetch_jeju_hours_fetch_one", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/fetch_jeju_hours.py", "source_location": "L35", "weight": 1.0}, {"source": "$graphify-root$_scripts_fetch_jeju_hours_fetch_one", "target": "tourapiclient", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "scripts/fetch_jeju_hours.py", "source_location": "L35", "weight": 1.0}, {"source": "$graphify-root$_scripts_fetch_jeju_hours_fetch_one", "target": "semaphore", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "scripts/fetch_jeju_hours.py", "source_location": "L35", "weight": 1.0}, {"source": "$graphify-root$_scripts_fetch_jeju_hours_py", "target": "$graphify-root$_scripts_fetch_jeju_hours_main", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/fetch_jeju_hours.py", "source_location": "L43", "weight": 1.0}, {"source": "$graphify-root$_scripts_fetch_jeju_hours_main", "target": "semaphore", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/fetch_jeju_hours.py", "source_location": "L53", "weight": 1.0}, {"source": "$graphify-root$_scripts_fetch_jeju_hours_main", "target": "$graphify-root$_scripts_fetch_jeju_hours_fetch_one", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/fetch_jeju_hours.py", "source_location": "L55", "weight": 1.0}, {"source": "$graphify-root$_scripts_fetch_jeju_hours_rationale_1", "target": "$graphify-root$_scripts_fetch_jeju_hours_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "scripts/fetch_jeju_hours.py", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_scripts_fetch_jeju_hours_fetch_one", "callee": "get_operating_hours", "is_member_call": true, "source_file": "scripts/fetch_jeju_hours.py", "source_location": "L37", "receiver": "client"}, {"caller_nid": "$graphify-root$_scripts_fetch_jeju_hours_fetch_one", "callee": "_FALLBACK_OPEN", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "scripts/fetch_jeju_hours.py", "source_location": "L38"}, {"caller_nid": "$graphify-root$_scripts_fetch_jeju_hours_fetch_one", "callee": "_FALLBACK_CLOSE", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "scripts/fetch_jeju_hours.py", "source_location": "L38"}, {"caller_nid": "$graphify-root$_scripts_fetch_jeju_hours_main", "callee": "from_settings", "is_member_call": true, "source_file": "scripts/fetch_jeju_hours.py", "source_location": "L44", "receiver": "TourAPIClient"}, {"caller_nid": "$graphify-root$_scripts_fetch_jeju_hours_main", "callee": "Settings", "is_member_call": false, "source_file": "scripts/fetch_jeju_hours.py", "source_location": "L44", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_fetch_jeju_hours_main", "callee": "read_csv", "is_member_call": true, "source_file": "scripts/fetch_jeju_hours.py", "source_location": "L49", "receiver": "pd"}, {"caller_nid": "$graphify-root$_scripts_fetch_jeju_hours_main", "callee": "startswith", "is_member_call": true, "source_file": "scripts/fetch_jeju_hours.py", "source_location": "L50", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_fetch_jeju_hours_main", "callee": "astype", "is_member_call": true, "source_file": "scripts/fetch_jeju_hours.py", "source_location": "L50", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_fetch_jeju_hours_main", "callee": "str", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/fetch_jeju_hours.py", "source_location": "L50"}, {"caller_nid": "$graphify-root$_scripts_fetch_jeju_hours_main", "callee": "CONCURRENCY", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/fetch_jeju_hours.py", "source_location": "L53"}, {"caller_nid": "$graphify-root$_scripts_fetch_jeju_hours_main", "callee": "itertuples", "is_member_call": true, "source_file": "scripts/fetch_jeju_hours.py", "source_location": "L56", "receiver": "jeju"}, {"caller_nid": "$graphify-root$_scripts_fetch_jeju_hours_main", "callee": "gather", "is_member_call": true, "source_file": "scripts/fetch_jeju_hours.py", "source_location": "L58", "receiver": "asyncio"}, {"caller_nid": "$graphify-root$_scripts_fetch_jeju_hours_main", "callee": "write_text", "is_member_call": true, "source_file": "scripts/fetch_jeju_hours.py", "source_location": "L61", "receiver": "OUT_PATH"}, {"caller_nid": "$graphify-root$_scripts_fetch_jeju_hours_main", "callee": "dumps", "is_member_call": true, "source_file": "scripts/fetch_jeju_hours.py", "source_location": "L61", "receiver": "json"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/1b6e66642d94020eed4e102b2beffcb988b24c4c62d5ba1f0956e1a373a8b250.json b/graphify-out/cache/ast/v0.9.31/1b6e66642d94020eed4e102b2beffcb988b24c4c62d5ba1f0956e1a373a8b250.json new file mode 100644 index 0000000..9b13cc5 --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/1b6e66642d94020eed4e102b2beffcb988b24c4c62d5ba1f0956e1a373a8b250.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_src_api_router_py", "label": "router.py", "file_type": "code", "source_file": "src/api/router.py", "source_location": "L1"}, {"id": "$graphify-root$_src_api_router_kakao_hint", "label": "_kakao_hint()", "file_type": "code", "source_file": "src/api/router.py", "source_location": "L51", "_callable": true}, {"id": "$graphify-root$_src_api_router_kakao_cat_code", "label": "_kakao_cat_code()", "file_type": "code", "source_file": "src/api/router.py", "source_location": "L65", "_callable": true}, {"id": "$graphify-root$_src_api_router_extract_chosung", "label": "_extract_chosung()", "file_type": "code", "source_file": "src/api/router.py", "source_location": "L232", "_callable": true}, {"id": "$graphify-root$_src_api_router_normalize", "label": "_normalize()", "file_type": "code", "source_file": "src/api/router.py", "source_location": "L243", "_callable": true}, {"id": "$graphify-root$_src_api_router_guess_dwell", "label": "_guess_dwell()", "file_type": "code", "source_file": "src/api/router.py", "source_location": "L252", "_callable": true}, {"id": "$graphify-root$_src_api_router_addr_to_region", "label": "_addr_to_region()", "file_type": "code", "source_file": "src/api/router.py", "source_location": "L271", "_callable": true}, {"id": "$graphify-root$_src_api_router_parse_jeju_hours", "label": "_parse_jeju_hours()", "file_type": "code", "source_file": "src/api/router.py", "source_location": "L282", "_callable": true}, {"id": "$graphify-root$_src_api_router_build_jeju_place_index", "label": "_build_jeju_place_index()", "file_type": "code", "source_file": "src/api/router.py", "source_location": "L293", "_callable": true}, {"id": "$graphify-root$_src_api_router_build_coord_index", "label": "_build_coord_index()", "file_type": "code", "source_file": "src/api/router.py", "source_location": "L341", "_callable": true}, {"id": "$graphify-root$_src_api_router_build_place_list", "label": "_build_place_list()", "file_type": "code", "source_file": "src/api/router.py", "source_location": "L394", "_callable": true}, {"id": "$graphify-root$_src_api_router_build_full_place_list", "label": "_build_full_place_list()", "file_type": "code", "source_file": "src/api/router.py", "source_location": "L453", "_callable": true}, {"id": "$graphify-root$_src_api_router_build_monthly_congestion", "label": "_build_monthly_congestion()", "file_type": "code", "source_file": "src/api/router.py", "source_location": "L555", "_callable": true}, {"id": "$graphify-root$_src_api_router_lookup_place", "label": "_lookup_place()", "file_type": "code", "source_file": "src/api/router.py", "source_location": "L599", "_callable": true}, {"id": "$graphify-root$_src_api_router_resolve_poi", "label": "_resolve_poi()", "file_type": "code", "source_file": "src/api/router.py", "source_location": "L618", "_callable": true}, {"id": "poi", "label": "POI", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/api/router.py"}, {"id": "poiinfo", "label": "POIInfo", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/api/router.py"}, {"id": "$graphify-root$_src_api_router_calc_reliability_score", "label": "_calc_reliability_score()", "file_type": "code", "source_file": "src/api/router.py", "source_location": "L714", "_callable": true}, {"id": "$graphify-root$_src_api_router_get_pipeline", "label": "_get_pipeline()", "file_type": "code", "source_file": "src/api/router.py", "source_location": "L724", "_callable": true}, {"id": "validatorpipeline", "label": "ValidatorPipeline", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/api/router.py"}, {"id": "get", "label": "get", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/api/router.py"}, {"id": "$graphify-root$_src_api_router_list_places", "label": "list_places()", "file_type": "code", "source_file": "src/api/router.py", "source_location": "L732", "_callable": true}, {"id": "placesresponse", "label": "PlacesResponse", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/api/router.py"}, {"id": "$graphify-root$_src_api_router_monthly_congestion", "label": "monthly_congestion()", "file_type": "code", "source_file": "src/api/router.py", "source_location": "L806", "_callable": true}, {"id": "$graphify-root$_src_api_router_list_regions", "label": "list_regions()", "file_type": "code", "source_file": "src/api/router.py", "source_location": "L818", "_callable": true}, {"id": "post", "label": "post", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/api/router.py"}, {"id": "$graphify-root$_src_api_router_parse_text", "label": "parse_text()", "file_type": "code", "source_file": "src/api/router.py", "source_location": "L830", "_callable": true}, {"id": "parsetextrequest", "label": "ParseTextRequest", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/api/router.py"}, {"id": "parsedplanresponse", "label": "ParsedPlanResponse", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/api/router.py"}, {"id": "$graphify-root$_src_api_router_parse_document", "label": "parse_document()", "file_type": "code", "source_file": "src/api/router.py", "source_location": "L839", "_callable": true}, {"id": "uploadfile", "label": "UploadFile", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/api/router.py"}, {"id": "$graphify-root$_src_api_router_resolve_coords", "label": "resolve_coords()", "file_type": "code", "source_file": "src/api/router.py", "source_location": "L856", "_callable": true}, {"id": "dayplanweb", "label": "DayPlanWeb", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/api/router.py"}, {"id": "$graphify-root$_src_api_router_validate_plan", "label": "validate_plan()", "file_type": "code", "source_file": "src/api/router.py", "source_location": "L869", "_callable": true}, {"id": "validaterequest", "label": "ValidateRequest", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/api/router.py"}, {"id": "validateresponse", "label": "ValidateResponse", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/api/router.py"}, {"id": "$graphify-root$_src_api_router_rationale_1", "label": "FastAPI \ub77c\uc6b0\ud130 \u2014 /validate, /places \uc5d4\ub4dc\ud3ec\uc778\ud2b8.", "file_type": "rationale", "source_file": "src/api/router.py", "source_location": "L1"}, {"id": "$graphify-root$_src_api_router_rationale_52", "label": "\uce74\uce74\uc624 category_name \u2192 hours_db \uce74\ud14c\uace0\ub9ac \ud78c\ud2b8.", "file_type": "rationale", "source_file": "src/api/router.py", "source_location": "L52"}, {"id": "$graphify-root$_src_api_router_rationale_66", "label": "\uce74\uce74\uc624 category_name \u2192 \uc571 \uce74\ud14c\uace0\ub9ac \ucf54\ub4dc(12 \uad00\uad11\uc9c0\u00b714 \ubb38\ud654\u00b738 \uc1fc\ud551\u00b739 \uc74c\uc2dd\uc810\u00b732 \uc219\ubc15).", "file_type": "rationale", "source_file": "src/api/router.py", "source_location": "L66"}, {"id": "$graphify-root$_src_api_router_rationale_283", "label": "09:00~18:00 (\ub9e4\ud45c\ub9c8\uac10 17:00)' \uac19\uc740 \uc6d0\ubb38\uc5d0\uc11c \uccab HH:MM~HH:MM \uad6c\uac04\ub9cc \ubf51\uc544\ub0b8\ub2e4.", "file_type": "rationale", "source_file": "src/api/router.py", "source_location": "L283"}, {"id": "$graphify-root$_src_api_router_rationale_294", "label": "data/\uc81c\uc8fc\ud2b9\ubcc4\uc790\uce58\ub3c4_\ud1b5\ud569_TourAPI\ubcd1\ud569.xlsx \u2014 \uc2e4\uce21 \uc88c\ud45c\ub97c \uac00\uc9c4 \uc81c\uc8fc \uc804\uc5ed 26,679\uac74 \ud1b5\ud569 DB. \uae30\uc874\u2026", "file_type": "rationale", "source_file": "src/api/router.py", "source_location": "L294"}, {"id": "$graphify-root$_src_api_router_rationale_342", "label": "\uc88c\ud45c \uc778\ub371\uc2a4 \ube4c\ub4dc. 1\ucc28: data/pois.csv \u2014 TourAPI \ubc8c\ud06c \uc218\uc9d1 (20,168 POI, \uc804\uad6d \uc88c\ud45c \uc8fc\uc18c\uc6d0\ubcf8) 2\ucc28:\u2026", "file_type": "rationale", "source_file": "src/api/router.py", "source_location": "L342"}, {"id": "$graphify-root$_src_api_router_rationale_395", "label": "congestion_stats.csv \uc5d0\uc11c \uace0\uc720 \uc7a5\uc18c + annual_max \uc9d1\uacc4 \u2192 \uc88c\ud45c \uacb0\ud569 \u2192 \uc815\ub82c.", "file_type": "rationale", "source_file": "src/api/router.py", "source_location": "L395"}, {"id": "$graphify-root$_src_api_router_rationale_454", "label": "pois.csv(20,168) + wellness(175) + barrier_free(1,799) \ud1b5\ud569 \uc7a5\uc18c \ubaa9\ub85d.", "file_type": "rationale", "source_file": "src/api/router.py", "source_location": "L454"}, {"id": "$graphify-root$_src_api_router_rationale_556", "label": "congestion_stats.csv\uc758 \uc6d4\ubcc4 \ud63c\uc7a1\ub3c4 \uc810\uc218 \uc778\ub371\uc2a4.", "file_type": "rationale", "source_file": "src/api/router.py", "source_location": "L556"}, {"id": "$graphify-root$_src_api_router_rationale_600", "label": "\uc774\ub984\uc73c\ub85c place dict \uc870\ud68c. \uc815\ud655 \u2192 \ubd80\ubd84 \uc21c\uc73c\ub85c \uc2dc\ub3c4. congestion \uae30\ubc18 \uc778\uae30 \uc7a5\uc18c(_PLACE_NORM_INDEX) \uc6b0\uc120,\u2026", "file_type": "rationale", "source_file": "src/api/router.py", "source_location": "L600"}, {"id": "$graphify-root$_src_api_router_rationale_736", "label": "\ub4f1\ub85d \uc7a5\uc18c \ubaa9\ub85d. q=\uac80\uc0c9\uc5b4, region=\uc9c0\uc5ed \ud544\ud130, cat=\uce74\ud14c\uace0\ub9ac \ucf54\ub4dc, extended=\uc804\uccb4DB \ucd08\uae30 \ub85c\ub4dc. offset/limit\uc73c\ub85c\u2026", "file_type": "rationale", "source_file": "src/api/router.py", "source_location": "L736"}, {"id": "$graphify-root$_src_api_router_rationale_831", "label": "\ucd94\ucc9c \uacbd\ub85c\ub97c \ubcf5\uc0ac\ud55c \ud14d\uc2a4\ud2b8 \u2192 \ucffc\ub9ac \ub9ac\ub77c\uc774\ud305\uc73c\ub85c day/place \uad6c\uc870 \ucd94\ucd9c.", "file_type": "rationale", "source_file": "src/api/router.py", "source_location": "L831"}, {"id": "$graphify-root$_src_api_router_rationale_840", "label": "AI \ud50c\ub798\ub108 \uacb0\uacfc PDF\u00b7\uc2a4\ud06c\ub9b0\uc0f7(PNG/JPG) \u2192 Claude Vision\uc73c\ub85c day/place \uad6c\uc870 \ucd94\ucd9c.", "file_type": "rationale", "source_file": "src/api/router.py", "source_location": "L840"}, {"id": "$graphify-root$_src_api_router_rationale_857", "label": "\ube4c\ub354(Step2) \uc9c0\ub3c4\uc6a9 \uc88c\ud45c \uc870\ud68c. \uac80\uc99d \ud30c\uc774\ud504\ub77c\uc778(Hard Fail/\uc2a4\ucf54\uc5b4\ub9c1/LLM \uc124\uba85) \uc5c6\uc774 \uc88c\ud45c \ud574\uc11d\ub9cc \uc218\ud589\ud574 \ube60\ub974\uac8c \uc751\ub2f5\ud55c\ub2e4.", "file_type": "rationale", "source_file": "src/api/router.py", "source_location": "L857"}], "edges": [{"source": "$graphify-root$_src_api_router_py", "target": "asyncio", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L4", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_py", "target": "csv", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L5", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_py", "target": "json", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L6", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_py", "target": "re", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L7", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L8", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_py", "target": "openpyxl", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L10", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_py", "target": "fastapi", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L11", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_py", "target": "src_api_schemas", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L13", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_py", "target": "src_data_dwell_db", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L23", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_py", "target": "src_data_graph_retriever", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L24", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_py", "target": "src_data_hours_db", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L25", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_py", "target": "src_data_kakao_local", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L26", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_py", "target": "src_data_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L27", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_py", "target": "src_explain_pipeline", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L28", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_py", "target": "src_explain_plan_extractor", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L29", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_py", "target": "$graphify-root$_src_api_router_kakao_hint", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L51", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_py", "target": "$graphify-root$_src_api_router_kakao_cat_code", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L65", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_py", "target": "$graphify-root$_src_api_router_extract_chosung", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L232", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_py", "target": "$graphify-root$_src_api_router_normalize", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L243", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_py", "target": "$graphify-root$_src_api_router_guess_dwell", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L252", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_py", "target": "$graphify-root$_src_api_router_addr_to_region", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L271", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_py", "target": "$graphify-root$_src_api_router_parse_jeju_hours", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L282", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_py", "target": "$graphify-root$_src_api_router_build_jeju_place_index", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L293", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_py", "target": "$graphify-root$_src_api_router_build_coord_index", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L341", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_py", "target": "$graphify-root$_src_api_router_build_place_list", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L394", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_py", "target": "$graphify-root$_src_api_router_build_full_place_list", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L453", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_py", "target": "$graphify-root$_src_api_router_build_monthly_congestion", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L555", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_py", "target": "$graphify-root$_src_api_router_lookup_place", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L599", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_py", "target": "$graphify-root$_src_api_router_resolve_poi", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L618", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_resolve_poi", "target": "poi", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L618", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_resolve_poi", "target": "poiinfo", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L618", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_py", "target": "$graphify-root$_src_api_router_calc_reliability_score", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L714", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_calc_reliability_score", "target": "poiinfo", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L714", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_py", "target": "$graphify-root$_src_api_router_get_pipeline", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L724", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_get_pipeline", "target": "validatorpipeline", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L724", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_list_places", "target": "get", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L731", "weight": 1.0, "context": "decorator"}, {"source": "$graphify-root$_src_api_router_py", "target": "$graphify-root$_src_api_router_list_places", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L732", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_list_places", "target": "placesresponse", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L732", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_monthly_congestion", "target": "get", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L805", "weight": 1.0, "context": "decorator"}, {"source": "$graphify-root$_src_api_router_py", "target": "$graphify-root$_src_api_router_monthly_congestion", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L806", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_list_regions", "target": "get", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L817", "weight": 1.0, "context": "decorator"}, {"source": "$graphify-root$_src_api_router_py", "target": "$graphify-root$_src_api_router_list_regions", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L818", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_parse_text", "target": "post", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L829", "weight": 1.0, "context": "decorator"}, {"source": "$graphify-root$_src_api_router_py", "target": "$graphify-root$_src_api_router_parse_text", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L830", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_parse_text", "target": "parsetextrequest", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L830", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_parse_text", "target": "parsedplanresponse", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L830", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_parse_document", "target": "post", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L838", "weight": 1.0, "context": "decorator"}, {"source": "$graphify-root$_src_api_router_py", "target": "$graphify-root$_src_api_router_parse_document", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L839", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_parse_document", "target": "uploadfile", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L839", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_parse_document", "target": "parsedplanresponse", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L839", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_resolve_coords", "target": "post", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L855", "weight": 1.0, "context": "decorator"}, {"source": "$graphify-root$_src_api_router_py", "target": "$graphify-root$_src_api_router_resolve_coords", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L856", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_resolve_coords", "target": "dayplanweb", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L856", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_resolve_coords", "target": "poi", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L856", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_validate_plan", "target": "post", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L868", "weight": 1.0, "context": "decorator"}, {"source": "$graphify-root$_src_api_router_py", "target": "$graphify-root$_src_api_router_validate_plan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L869", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_validate_plan", "target": "validaterequest", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L869", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_validate_plan", "target": "validateresponse", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L869", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_guess_dwell", "target": "$graphify-root$_src_api_router_normalize", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L253", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_addr_to_region", "target": "get", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L273", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_build_jeju_place_index", "target": "get", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L307", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_build_jeju_place_index", "target": "$graphify-root$_src_api_router_normalize", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L310", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_build_jeju_place_index", "target": "$graphify-root$_src_api_router_parse_jeju_hours", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L329", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_build_coord_index", "target": "$graphify-root$_src_api_router_normalize", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L354", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_build_coord_index", "target": "$graphify-root$_src_api_router_addr_to_region", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L360", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_build_coord_index", "target": "get", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L360", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_build_place_list", "target": "get", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L417", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_build_place_list", "target": "$graphify-root$_src_api_router_normalize", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L419", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_build_full_place_list", "target": "$graphify-root$_src_api_router_normalize", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L464", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_build_full_place_list", "target": "$graphify-root$_src_api_router_addr_to_region", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L475", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_build_full_place_list", "target": "get", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L475", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_build_monthly_congestion", "target": "get", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L566", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_lookup_place", "target": "$graphify-root$_src_api_router_normalize", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L602", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_resolve_poi", "target": "$graphify-root$_src_api_router_lookup_place", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L619", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_resolve_poi", "target": "get", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L620", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_resolve_poi", "target": "$graphify-root$_src_api_router_normalize", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L621", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_resolve_poi", "target": "$graphify-root$_src_api_router_kakao_hint", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L650", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_resolve_poi", "target": "$graphify-root$_src_api_router_guess_dwell", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L678", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_resolve_poi", "target": "poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L689", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_resolve_poi", "target": "poiinfo", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L697", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_calc_reliability_score", "target": "get", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L717", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_get_pipeline", "target": "validatorpipeline", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L727", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_list_places", "target": "get", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L745", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_list_places", "target": "$graphify-root$_src_api_router_extract_chosung", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L753", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_list_places", "target": "$graphify-root$_src_api_router_normalize", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L760", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_list_places", "target": "$graphify-root$_src_api_router_addr_to_region", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L765", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_list_places", "target": "$graphify-root$_src_api_router_kakao_cat_code", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L768", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_list_places", "target": "placesresponse", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L802", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_monthly_congestion", "target": "get", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L808", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_monthly_congestion", "target": "$graphify-root$_src_api_router_normalize", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L811", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_list_regions", "target": "get", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L823", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_parse_document", "target": "get", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L841", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_resolve_coords", "target": "$graphify-root$_src_api_router_resolve_poi", "relation": "indirect_call", "context": "argument", "confidence": "INFERRED", "source_file": "src/api/router.py", "source_location": "L861", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_validate_plan", "target": "$graphify-root$_src_api_router_resolve_poi", "relation": "indirect_call", "context": "argument", "confidence": "INFERRED", "source_file": "src/api/router.py", "source_location": "L882", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_validate_plan", "target": "$graphify-root$_src_api_router_get_pipeline", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L906", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_validate_plan", "target": "$graphify-root$_src_api_router_calc_reliability_score", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L920", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_validate_plan", "target": "get", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L933", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_validate_plan", "target": "validateresponse", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L963", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_rationale_1", "target": "$graphify-root$_src_api_router_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_rationale_52", "target": "$graphify-root$_src_api_router_kakao_hint", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L52", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_rationale_66", "target": "$graphify-root$_src_api_router_kakao_cat_code", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L66", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_rationale_283", "target": "$graphify-root$_src_api_router_parse_jeju_hours", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L283", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_rationale_294", "target": "$graphify-root$_src_api_router_build_jeju_place_index", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L294", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_rationale_342", "target": "$graphify-root$_src_api_router_build_coord_index", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L342", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_rationale_395", "target": "$graphify-root$_src_api_router_build_place_list", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L395", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_rationale_454", "target": "$graphify-root$_src_api_router_build_full_place_list", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L454", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_rationale_556", "target": "$graphify-root$_src_api_router_build_monthly_congestion", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L556", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_rationale_600", "target": "$graphify-root$_src_api_router_lookup_place", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L600", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_rationale_736", "target": "$graphify-root$_src_api_router_list_places", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L736", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_rationale_831", "target": "$graphify-root$_src_api_router_parse_text", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L831", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_rationale_840", "target": "$graphify-root$_src_api_router_parse_document", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L840", "weight": 1.0}, {"source": "$graphify-root$_src_api_router_rationale_857", "target": "$graphify-root$_src_api_router_resolve_coords", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/api/router.py", "source_location": "L857", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_src_api_router_extract_chosung", "callee": "ord", "is_member_call": false, "source_file": "src/api/router.py", "source_location": "L235", "receiver": null}, {"caller_nid": "$graphify-root$_src_api_router_extract_chosung", "callee": "append", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L237", "receiver": "result"}, {"caller_nid": "$graphify-root$_src_api_router_extract_chosung", "callee": "append", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L239", "receiver": "result"}, {"caller_nid": "$graphify-root$_src_api_router_extract_chosung", "callee": "join", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L240", "receiver": null}, {"caller_nid": "$graphify-root$_src_api_router_normalize", "callee": "sub", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L245", "receiver": "re"}, {"caller_nid": "$graphify-root$_src_api_router_normalize", "callee": "sub", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L247", "receiver": "re"}, {"caller_nid": "$graphify-root$_src_api_router_normalize", "callee": "lower", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L249", "receiver": null}, {"caller_nid": "$graphify-root$_src_api_router_normalize", "callee": "sub", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L249", "receiver": "re"}, {"caller_nid": "$graphify-root$_src_api_router_guess_dwell", "callee": "items", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L254", "receiver": "_DWELL_OVERRIDES"}, {"caller_nid": "$graphify-root$_src_api_router_addr_to_region", "callee": "split", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L272", "receiver": null}, {"caller_nid": "$graphify-root$_src_api_router_addr_to_region", "callee": "strip", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L272", "receiver": "addr"}, {"caller_nid": "$graphify-root$_src_api_router_addr_to_region", "callee": "strip", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L272", "receiver": "addr"}, {"caller_nid": "$graphify-root$_src_api_router_parse_jeju_hours", "callee": "strip", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L284", "receiver": null}, {"caller_nid": "$graphify-root$_src_api_router_parse_jeju_hours", "callee": "search", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L289", "receiver": "re"}, {"caller_nid": "$graphify-root$_src_api_router_parse_jeju_hours", "callee": "group", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L290", "receiver": "m"}, {"caller_nid": "$graphify-root$_src_api_router_parse_jeju_hours", "callee": "group", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L290", "receiver": "m"}, {"caller_nid": "$graphify-root$_src_api_router_build_jeju_place_index", "callee": "exists", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L299", "receiver": "path"}, {"caller_nid": "$graphify-root$_src_api_router_build_jeju_place_index", "callee": "load_workbook", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L301", "receiver": "openpyxl"}, {"caller_nid": "$graphify-root$_src_api_router_build_jeju_place_index", "callee": "iter_rows", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L303", "receiver": "ws"}, {"caller_nid": "$graphify-root$_src_api_router_build_jeju_place_index", "callee": "strip", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L304", "receiver": null}, {"caller_nid": "$graphify-root$_src_api_router_build_jeju_place_index", "callee": "strip", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L307", "receiver": null}, {"caller_nid": "$graphify-root$_src_api_router_build_jeju_place_index", "callee": "ValueError", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "src/api/router.py", "source_location": "L315"}, {"caller_nid": "$graphify-root$_src_api_router_build_jeju_place_index", "callee": "TypeError", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "src/api/router.py", "source_location": "L315"}, {"caller_nid": "$graphify-root$_src_api_router_build_jeju_place_index", "callee": "KeyError", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "src/api/router.py", "source_location": "L315"}, {"caller_nid": "$graphify-root$_src_api_router_build_jeju_place_index", "callee": "strip", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L321", "receiver": null}, {"caller_nid": "$graphify-root$_src_api_router_build_jeju_place_index", "callee": "upper", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L334", "receiver": null}, {"caller_nid": "$graphify-root$_src_api_router_build_jeju_place_index", "callee": "strip", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L334", "receiver": null}, {"caller_nid": "$graphify-root$_src_api_router_build_jeju_place_index", "callee": "close", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L337", "receiver": "wb"}, {"caller_nid": "$graphify-root$_src_api_router_build_coord_index", "callee": "exists", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L351", "receiver": "pois_path"}, {"caller_nid": "$graphify-root$_src_api_router_build_coord_index", "callee": "DictReader", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L353", "receiver": "csv"}, {"caller_nid": "$graphify-root$_src_api_router_build_coord_index", "callee": "f", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "src/api/router.py", "source_location": "L353"}, {"caller_nid": "$graphify-root$_src_api_router_build_coord_index", "callee": "ValueError", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "src/api/router.py", "source_location": "L365"}, {"caller_nid": "$graphify-root$_src_api_router_build_coord_index", "callee": "TypeError", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "src/api/router.py", "source_location": "L365"}, {"caller_nid": "$graphify-root$_src_api_router_build_coord_index", "callee": "exists", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L370", "receiver": "naver_path"}, {"caller_nid": "$graphify-root$_src_api_router_build_coord_index", "callee": "load", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L372", "receiver": "json"}, {"caller_nid": "$graphify-root$_src_api_router_build_coord_index", "callee": "f", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "src/api/router.py", "source_location": "L372"}, {"caller_nid": "$graphify-root$_src_api_router_build_coord_index", "callee": "ValueError", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "src/api/router.py", "source_location": "L384"}, {"caller_nid": "$graphify-root$_src_api_router_build_coord_index", "callee": "TypeError", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "src/api/router.py", "source_location": "L384"}, {"caller_nid": "$graphify-root$_src_api_router_build_coord_index", "callee": "items", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L388", "receiver": "_COORD_CATALOG"}, {"caller_nid": "$graphify-root$_src_api_router_build_place_list", "callee": "exists", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L397", "receiver": "cong_path"}, {"caller_nid": "$graphify-root$_src_api_router_build_place_list", "callee": "DictReader", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L402", "receiver": "csv"}, {"caller_nid": "$graphify-root$_src_api_router_build_place_list", "callee": "f", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "src/api/router.py", "source_location": "L402"}, {"caller_nid": "$graphify-root$_src_api_router_build_place_list", "callee": "ValueError", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "src/api/router.py", "source_location": "L408"}, {"caller_nid": "$graphify-root$_src_api_router_build_place_list", "callee": "TypeError", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "src/api/router.py", "source_location": "L408"}, {"caller_nid": "$graphify-root$_src_api_router_build_place_list", "callee": "exists", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L414", "receiver": "pois_path"}, {"caller_nid": "$graphify-root$_src_api_router_build_place_list", "callee": "DictReader", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L416", "receiver": "csv"}, {"caller_nid": "$graphify-root$_src_api_router_build_place_list", "callee": "f", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "src/api/router.py", "source_location": "L416"}, {"caller_nid": "$graphify-root$_src_api_router_build_place_list", "callee": "strip", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L417", "receiver": null}, {"caller_nid": "$graphify-root$_src_api_router_build_place_list", "callee": "items", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L422", "receiver": "place_max"}, {"caller_nid": "$graphify-root$_src_api_router_build_place_list", "callee": "items", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L432", "receiver": "coord_index"}, {"caller_nid": "$graphify-root$_src_api_router_build_place_list", "callee": "append", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L437", "receiver": "result"}, {"caller_nid": "$graphify-root$_src_api_router_build_place_list", "callee": "sort", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L449", "receiver": "result"}, {"caller_nid": "$graphify-root$_src_api_router_build_full_place_list", "callee": "exists", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L460", "receiver": "pois_path"}, {"caller_nid": "$graphify-root$_src_api_router_build_full_place_list", "callee": "DictReader", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L462", "receiver": "csv"}, {"caller_nid": "$graphify-root$_src_api_router_build_full_place_list", "callee": "f", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "src/api/router.py", "source_location": "L462"}, {"caller_nid": "$graphify-root$_src_api_router_build_full_place_list", "callee": "strip", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L463", "receiver": null}, {"caller_nid": "$graphify-root$_src_api_router_build_full_place_list", "callee": "add", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L467", "receiver": "seen"}, {"caller_nid": "$graphify-root$_src_api_router_build_full_place_list", "callee": "ValueError", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "src/api/router.py", "source_location": "L472"}, {"caller_nid": "$graphify-root$_src_api_router_build_full_place_list", "callee": "TypeError", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "src/api/router.py", "source_location": "L472"}, {"caller_nid": "$graphify-root$_src_api_router_build_full_place_list", "callee": "append", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L477", "receiver": "result"}, {"caller_nid": "$graphify-root$_src_api_router_build_full_place_list", "callee": "strip", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L486", "receiver": null}, {"caller_nid": "$graphify-root$_src_api_router_build_full_place_list", "callee": "strip", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L487", "receiver": null}, {"caller_nid": "$graphify-root$_src_api_router_build_full_place_list", "callee": "exists", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L493", "receiver": "wl_path"}, {"caller_nid": "$graphify-root$_src_api_router_build_full_place_list", "callee": "load", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L495", "receiver": "json"}, {"caller_nid": "$graphify-root$_src_api_router_build_full_place_list", "callee": "f", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "src/api/router.py", "source_location": "L495"}, {"caller_nid": "$graphify-root$_src_api_router_build_full_place_list", "callee": "strip", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L497", "receiver": null}, {"caller_nid": "$graphify-root$_src_api_router_build_full_place_list", "callee": "add", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L501", "receiver": "seen"}, {"caller_nid": "$graphify-root$_src_api_router_build_full_place_list", "callee": "ValueError", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "src/api/router.py", "source_location": "L504"}, {"caller_nid": "$graphify-root$_src_api_router_build_full_place_list", "callee": "TypeError", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "src/api/router.py", "source_location": "L504"}, {"caller_nid": "$graphify-root$_src_api_router_build_full_place_list", "callee": "append", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L506", "receiver": "result"}, {"caller_nid": "$graphify-root$_src_api_router_build_full_place_list", "callee": "strip", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L515", "receiver": null}, {"caller_nid": "$graphify-root$_src_api_router_build_full_place_list", "callee": "exists", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L521", "receiver": "bf_path"}, {"caller_nid": "$graphify-root$_src_api_router_build_full_place_list", "callee": "load", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L523", "receiver": "json"}, {"caller_nid": "$graphify-root$_src_api_router_build_full_place_list", "callee": "f", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "src/api/router.py", "source_location": "L523"}, {"caller_nid": "$graphify-root$_src_api_router_build_full_place_list", "callee": "strip", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L525", "receiver": null}, {"caller_nid": "$graphify-root$_src_api_router_build_full_place_list", "callee": "add", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L529", "receiver": "seen"}, {"caller_nid": "$graphify-root$_src_api_router_build_full_place_list", "callee": "ValueError", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "src/api/router.py", "source_location": "L532"}, {"caller_nid": "$graphify-root$_src_api_router_build_full_place_list", "callee": "TypeError", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "src/api/router.py", "source_location": "L532"}, {"caller_nid": "$graphify-root$_src_api_router_build_full_place_list", "callee": "append", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L535", "receiver": "bf_tags"}, {"caller_nid": "$graphify-root$_src_api_router_build_full_place_list", "callee": "append", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L536", "receiver": "bf_tags"}, {"caller_nid": "$graphify-root$_src_api_router_build_full_place_list", "callee": "append", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L537", "receiver": "bf_tags"}, {"caller_nid": "$graphify-root$_src_api_router_build_full_place_list", "callee": "append", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L538", "receiver": "bf_tags"}, {"caller_nid": "$graphify-root$_src_api_router_build_full_place_list", "callee": "append", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L539", "receiver": "result"}, {"caller_nid": "$graphify-root$_src_api_router_build_full_place_list", "callee": "strip", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L548", "receiver": null}, {"caller_nid": "$graphify-root$_src_api_router_build_monthly_congestion", "callee": "exists", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L559", "receiver": "cong_path"}, {"caller_nid": "$graphify-root$_src_api_router_build_monthly_congestion", "callee": "DictReader", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L562", "receiver": "csv"}, {"caller_nid": "$graphify-root$_src_api_router_build_monthly_congestion", "callee": "f", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "src/api/router.py", "source_location": "L562"}, {"caller_nid": "$graphify-root$_src_api_router_build_monthly_congestion", "callee": "ValueError", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "src/api/router.py", "source_location": "L570"}, {"caller_nid": "$graphify-root$_src_api_router_build_monthly_congestion", "callee": "TypeError", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "src/api/router.py", "source_location": "L570"}, {"caller_nid": "$graphify-root$_src_api_router_lookup_place", "callee": "items", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L608", "receiver": "_PLACE_NORM_INDEX"}, {"caller_nid": "$graphify-root$_src_api_router_lookup_place", "callee": "items", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L612", "receiver": "_JEJU_CSV_INDEX"}, {"caller_nid": "$graphify-root$_src_api_router_resolve_poi", "callee": "search_keyword", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L644", "receiver": "_KAKAO_LOCAL"}, {"caller_nid": "$graphify-root$_src_api_router_resolve_poi", "callee": "geocode_address", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L654", "receiver": "_KAKAO_LOCAL"}, {"caller_nid": "$graphify-root$_src_api_router_resolve_poi", "callee": "_DEFAULT_CENTER", "is_member_call": false, "indirect": true, "context": "assignment", "source_file": "src/api/router.py", "source_location": "L663"}, {"caller_nid": "$graphify-root$_src_api_router_resolve_poi", "callee": "resolve_hours", "is_member_call": false, "source_file": "src/api/router.py", "source_location": "L675", "receiver": null}, {"caller_nid": "$graphify-root$_src_api_router_resolve_poi", "callee": "search_places", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L683", "receiver": "_GRAPH"}, {"caller_nid": "$graphify-root$_src_api_router_resolve_poi", "callee": "find_nearby", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L687", "receiver": "_GRAPH"}, {"caller_nid": "$graphify-root$_src_api_router_list_places", "callee": "strip", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L748", "receiver": "ch"}, {"caller_nid": "$graphify-root$_src_api_router_list_places", "callee": "lower", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L750", "receiver": "q"}, {"caller_nid": "$graphify-root$_src_api_router_list_places", "callee": "startswith", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L754", "receiver": null}, {"caller_nid": "$graphify-root$_src_api_router_list_places", "callee": "lower", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L756", "receiver": null}, {"caller_nid": "$graphify-root$_src_api_router_list_places", "callee": "search_keyword_list", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L761", "receiver": "_KAKAO_LOCAL"}, {"caller_nid": "$graphify-root$_src_api_router_list_places", "callee": "add", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L771", "receiver": "existing"}, {"caller_nid": "$graphify-root$_src_api_router_list_places", "callee": "strip", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L776", "receiver": null}, {"caller_nid": "$graphify-root$_src_api_router_list_places", "callee": "split", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L776", "receiver": null}, {"caller_nid": "$graphify-root$_src_api_router_list_places", "callee": "PlaceItem", "is_member_call": false, "source_file": "src/api/router.py", "source_location": "L789", "receiver": null}, {"caller_nid": "$graphify-root$_src_api_router_monthly_congestion", "callee": "items", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L810", "receiver": "_MONTHLY_CONG"}, {"caller_nid": "$graphify-root$_src_api_router_monthly_congestion", "callee": "items", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L814", "receiver": "monthly"}, {"caller_nid": "$graphify-root$_src_api_router_list_regions", "callee": "Counter", "is_member_call": false, "source_file": "src/api/router.py", "source_location": "L821", "receiver": null}, {"caller_nid": "$graphify-root$_src_api_router_list_regions", "callee": "items", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L826", "receiver": "counts"}, {"caller_nid": "$graphify-root$_src_api_router_parse_text", "callee": "to_thread", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L833", "receiver": "asyncio"}, {"caller_nid": "$graphify-root$_src_api_router_parse_text", "callee": "HTTPException", "is_member_call": false, "source_file": "src/api/router.py", "source_location": "L835", "receiver": null}, {"caller_nid": "$graphify-root$_src_api_router_parse_text", "callee": "e", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "src/api/router.py", "source_location": "L835"}, {"caller_nid": "$graphify-root$_src_api_router_parse_document", "callee": "lower", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L841", "receiver": null}, {"caller_nid": "$graphify-root$_src_api_router_parse_document", "callee": "HTTPException", "is_member_call": false, "source_file": "src/api/router.py", "source_location": "L843", "receiver": null}, {"caller_nid": "$graphify-root$_src_api_router_parse_document", "callee": "read", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L844", "receiver": "file"}, {"caller_nid": "$graphify-root$_src_api_router_parse_document", "callee": "HTTPException", "is_member_call": false, "source_file": "src/api/router.py", "source_location": "L846", "receiver": null}, {"caller_nid": "$graphify-root$_src_api_router_parse_document", "callee": "HTTPException", "is_member_call": false, "source_file": "src/api/router.py", "source_location": "L848", "receiver": null}, {"caller_nid": "$graphify-root$_src_api_router_parse_document", "callee": "to_thread", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L850", "receiver": "asyncio"}, {"caller_nid": "$graphify-root$_src_api_router_parse_document", "callee": "HTTPException", "is_member_call": false, "source_file": "src/api/router.py", "source_location": "L852", "receiver": null}, {"caller_nid": "$graphify-root$_src_api_router_parse_document", "callee": "e", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "src/api/router.py", "source_location": "L852"}, {"caller_nid": "$graphify-root$_src_api_router_resolve_coords", "callee": "gather", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L859", "receiver": "asyncio"}, {"caller_nid": "$graphify-root$_src_api_router_resolve_coords", "callee": "to_thread", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L861", "receiver": "asyncio"}, {"caller_nid": "$graphify-root$_src_api_router_validate_plan", "callee": "HTTPException", "is_member_call": false, "source_file": "src/api/router.py", "source_location": "L871", "receiver": null}, {"caller_nid": "$graphify-root$_src_api_router_validate_plan", "callee": "gather", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L880", "receiver": "asyncio"}, {"caller_nid": "$graphify-root$_src_api_router_validate_plan", "callee": "to_thread", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L882", "receiver": "asyncio"}, {"caller_nid": "$graphify-root$_src_api_router_validate_plan", "callee": "model_copy", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L890", "receiver": "info"}, {"caller_nid": "$graphify-root$_src_api_router_validate_plan", "callee": "append", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L891", "receiver": null}, {"caller_nid": "$graphify-root$_src_api_router_validate_plan", "callee": "append", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L892", "receiver": "poi_info_list"}, {"caller_nid": "$graphify-root$_src_api_router_validate_plan", "callee": "ItineraryPlan", "is_member_call": false, "source_file": "src/api/router.py", "source_location": "L894", "receiver": null}, {"caller_nid": "$graphify-root$_src_api_router_validate_plan", "callee": "DayPlan", "is_member_call": false, "source_file": "src/api/router.py", "source_location": "L896", "receiver": null}, {"caller_nid": "$graphify-root$_src_api_router_validate_plan", "callee": "PlaceInput", "is_member_call": false, "source_file": "src/api/router.py", "source_location": "L896", "receiver": null}, {"caller_nid": "$graphify-root$_src_api_router_validate_plan", "callee": "to_thread", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L905", "receiver": "asyncio"}, {"caller_nid": "$graphify-root$_src_api_router_validate_plan", "callee": "model_copy", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L916", "receiver": "info"}, {"caller_nid": "$graphify-root$_src_api_router_validate_plan", "callee": "split", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L925", "receiver": null}, {"caller_nid": "$graphify-root$_src_api_router_validate_plan", "callee": "IndexError", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "src/api/router.py", "source_location": "L926"}, {"caller_nid": "$graphify-root$_src_api_router_validate_plan", "callee": "ValueError", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "src/api/router.py", "source_location": "L926"}, {"caller_nid": "$graphify-root$_src_api_router_validate_plan", "callee": "values", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L939", "receiver": "monthly"}, {"caller_nid": "$graphify-root$_src_api_router_validate_plan", "callee": "values", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L940", "receiver": "monthly"}, {"caller_nid": "$graphify-root$_src_api_router_validate_plan", "callee": "append", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L948", "receiver": "congestion_warnings"}, {"caller_nid": "$graphify-root$_src_api_router_validate_plan", "callee": "estimated", "is_member_call": false, "indirect": true, "context": "getattr", "source_file": "src/api/router.py", "source_location": "L969"}, {"caller_nid": "$graphify-root$_src_api_router_validate_plan", "callee": "model_dump", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L972", "receiver": "hf"}, {"caller_nid": "$graphify-root$_src_api_router_validate_plan", "callee": "model_dump", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L973", "receiver": "w"}, {"caller_nid": "$graphify-root$_src_api_router_validate_plan", "callee": "model_dump", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L974", "receiver": null}, {"caller_nid": "$graphify-root$_src_api_router_validate_plan", "callee": "model_dump", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L975", "receiver": "e"}, {"caller_nid": "$graphify-root$_src_api_router_validate_plan", "callee": "model_dump", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L979", "receiver": "a"}, {"caller_nid": "$graphify-root$_src_api_router_validate_plan", "callee": "items", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L979", "receiver": null}, {"caller_nid": "$graphify-root$_src_api_router_validate_plan", "callee": "model_dump", "is_member_call": true, "source_file": "src/api/router.py", "source_location": "L983", "receiver": "r"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/1cf4b2953f79d03587cb233f060c575183ada7285a12f66cf1245f429bfef9f2.json b/graphify-out/cache/ast/v0.9.31/1cf4b2953f79d03587cb233f060c575183ada7285a12f66cf1245f429bfef9f2.json new file mode 100644 index 0000000..921f40e --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/1cf4b2953f79d03587cb233f060c575183ada7285a12f66cf1245f429bfef9f2.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_gun_scripts_preprocess_pois_py", "label": "preprocess_pois.py", "file_type": "code", "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L1"}, {"id": "$graphify-root$_gun_scripts_preprocess_pois_parse_korean_address", "label": "parse_korean_address()", "file_type": "code", "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L37", "_callable": true}, {"id": "$graphify-root$_gun_scripts_preprocess_pois_split_address_columns", "label": "split_address_columns()", "file_type": "code", "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L92", "_callable": true}, {"id": "dataframe", "label": "DataFrame", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/gun/scripts/preprocess_pois.py"}, {"id": "$graphify-root$_gun_scripts_preprocess_pois_parse_eup_myeon_ri", "label": "parse_eup_myeon_ri()", "file_type": "code", "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L120", "_callable": true}, {"id": "$graphify-root$_gun_scripts_preprocess_pois_split_eup_myeon_ri_columns", "label": "split_eup_myeon_ri_columns()", "file_type": "code", "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L150", "_callable": true}, {"id": "$graphify-root$_gun_scripts_preprocess_pois_split_date_columns", "label": "split_date_columns()", "file_type": "code", "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L175", "_callable": true}, {"id": "$graphify-root$_gun_scripts_preprocess_pois_preprocess", "label": "preprocess()", "file_type": "code", "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L202", "_callable": true}, {"id": "path", "label": "Path", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/gun/scripts/preprocess_pois.py"}, {"id": "$graphify-root$_gun_scripts_preprocess_pois_main", "label": "main()", "file_type": "code", "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L273", "_callable": true}, {"id": "$graphify-root$_gun_scripts_preprocess_pois_rationale_1", "label": "POI CSV \uc885\ud569 \uc804\ucc98\ub9ac ========================= TourAPI \uc6d0\ubcf8 CSV\uc5d0 \ub300\ud574 \uc138 \uac00\uc9c0 \ubcc0\ud658\uc744 \ud55c \ubc88\uc5d0 \uc801\uc6a9:\u2026", "file_type": "rationale", "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L1"}, {"id": "$graphify-root$_gun_scripts_preprocess_pois_rationale_38", "label": "\ud55c\uad6d \uc8fc\uc18c \ubb38\uc790\uc5f4 \u2192 (\uc2dc\ub3c4, \uc2dc\uad70\uad6c, \uc74d\uba74\ub3d9\u00b7\ub3c4\ub85c\uba85) \ubd84\ub9ac. \uaddc\uce59 ---- 1. \uccab \ud1a0\ud070 = \uc2dc\ub3c4 (\uc5b4\ub5a4 \ud615\ud0dc\ub4e0 \uadf8\ub300\ub85c) 2. \uc2dc\uad70\uad6c\ub294\u2026", "file_type": "rationale", "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L38"}, {"id": "$graphify-root$_gun_scripts_preprocess_pois_rationale_121", "label": "dong_or_road\ub97c \ub744\uc5b4\uc4f0\uae30\ub85c \ubd84\ub9ac \u2014 1\ubc88\uc9f8 \u2192 eup_myeon, 2\ubc88\uc9f8 \u2192 ri. 3\ubc88\uc9f8 \uc774\ud6c4 \ud1a0\ud070\uc740 \ubaa8\ub450 drop ('\ub9ac \ub2e8\uc704\u2026", "file_type": "rationale", "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L121"}, {"id": "$graphify-root$_gun_scripts_preprocess_pois_rationale_181", "label": "YYYYMMDDHHMMSS \u2192 {prefix}_date / _year / _month (day, time \uc81c\uc678).", "file_type": "rationale", "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L181"}], "edges": [{"source": "$graphify-root$_gun_scripts_preprocess_pois_py", "target": "argparse", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L25", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_preprocess_pois_py", "target": "sys", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L26", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_preprocess_pois_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L27", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_preprocess_pois_py", "target": "pandas", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L29", "weight": 1.0, "local_alias": "pd"}, {"source": "$graphify-root$_gun_scripts_preprocess_pois_py", "target": "$graphify-root$_gun_scripts_preprocess_pois_parse_korean_address", "relation": "contains", "confidence": "EXTRACTED", "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L37", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_preprocess_pois_py", "target": "$graphify-root$_gun_scripts_preprocess_pois_split_address_columns", "relation": "contains", "confidence": "EXTRACTED", "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L92", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_preprocess_pois_split_address_columns", "target": "dataframe", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L92", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_preprocess_pois_split_address_columns", "target": "dataframe", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L92", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_preprocess_pois_py", "target": "$graphify-root$_gun_scripts_preprocess_pois_parse_eup_myeon_ri", "relation": "contains", "confidence": "EXTRACTED", "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L120", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_preprocess_pois_py", "target": "$graphify-root$_gun_scripts_preprocess_pois_split_eup_myeon_ri_columns", "relation": "contains", "confidence": "EXTRACTED", "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L150", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_preprocess_pois_split_eup_myeon_ri_columns", "target": "dataframe", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L150", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_preprocess_pois_split_eup_myeon_ri_columns", "target": "dataframe", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L150", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_preprocess_pois_py", "target": "$graphify-root$_gun_scripts_preprocess_pois_split_date_columns", "relation": "contains", "confidence": "EXTRACTED", "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L175", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_preprocess_pois_split_date_columns", "target": "dataframe", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L175", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_preprocess_pois_split_date_columns", "target": "dataframe", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L175", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_preprocess_pois_py", "target": "$graphify-root$_gun_scripts_preprocess_pois_preprocess", "relation": "contains", "confidence": "EXTRACTED", "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L202", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_preprocess_pois_preprocess", "target": "path", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L202", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_preprocess_pois_preprocess", "target": "path", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L202", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_preprocess_pois_py", "target": "$graphify-root$_gun_scripts_preprocess_pois_main", "relation": "contains", "confidence": "EXTRACTED", "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L273", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_preprocess_pois_split_address_columns", "target": "$graphify-root$_gun_scripts_preprocess_pois_parse_korean_address", "relation": "indirect_call", "context": "argument", "confidence": "INFERRED", "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L101", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_preprocess_pois_split_eup_myeon_ri_columns", "target": "$graphify-root$_gun_scripts_preprocess_pois_parse_eup_myeon_ri", "relation": "indirect_call", "context": "argument", "confidence": "INFERRED", "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L159", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_preprocess_pois_preprocess", "target": "$graphify-root$_gun_scripts_preprocess_pois_split_address_columns", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L223", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_preprocess_pois_preprocess", "target": "$graphify-root$_gun_scripts_preprocess_pois_split_eup_myeon_ri_columns", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L226", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_preprocess_pois_preprocess", "target": "$graphify-root$_gun_scripts_preprocess_pois_split_date_columns", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L232", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_preprocess_pois_main", "target": "path", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L285", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_preprocess_pois_main", "target": "$graphify-root$_gun_scripts_preprocess_pois_preprocess", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L295", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_preprocess_pois_rationale_1", "target": "$graphify-root$_gun_scripts_preprocess_pois_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_preprocess_pois_rationale_38", "target": "$graphify-root$_gun_scripts_preprocess_pois_parse_korean_address", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L38", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_preprocess_pois_rationale_121", "target": "$graphify-root$_gun_scripts_preprocess_pois_parse_eup_myeon_ri", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L121", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_preprocess_pois_rationale_181", "target": "$graphify-root$_gun_scripts_preprocess_pois_split_date_columns", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L181", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_gun_scripts_preprocess_pois_parse_korean_address", "callee": "isna", "is_member_call": true, "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L60", "receiver": "pd"}, {"caller_nid": "$graphify-root$_gun_scripts_preprocess_pois_parse_korean_address", "callee": "strip", "is_member_call": true, "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L62", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_preprocess_pois_parse_korean_address", "callee": "split", "is_member_call": true, "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L66", "receiver": "s"}, {"caller_nid": "$graphify-root$_gun_scripts_preprocess_pois_parse_korean_address", "callee": "endswith", "is_member_call": true, "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L77", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_preprocess_pois_parse_korean_address", "callee": "endswith", "is_member_call": true, "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L78", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_preprocess_pois_parse_korean_address", "callee": "endswith", "is_member_call": true, "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L81", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_preprocess_pois_parse_korean_address", "callee": "_SIGUNGU_SUFFIX", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L81"}, {"caller_nid": "$graphify-root$_gun_scripts_preprocess_pois_parse_korean_address", "callee": "join", "is_member_call": true, "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L89", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_preprocess_pois_split_address_columns", "callee": "apply", "is_member_call": true, "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L101", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_preprocess_pois_split_address_columns", "callee": "apply", "is_member_call": true, "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L102", "receiver": "parts"}, {"caller_nid": "$graphify-root$_gun_scripts_preprocess_pois_split_address_columns", "callee": "apply", "is_member_call": true, "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L103", "receiver": "parts"}, {"caller_nid": "$graphify-root$_gun_scripts_preprocess_pois_split_address_columns", "callee": "apply", "is_member_call": true, "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L104", "receiver": "parts"}, {"caller_nid": "$graphify-root$_gun_scripts_preprocess_pois_split_address_columns", "callee": "drop", "is_member_call": true, "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L115", "receiver": "df"}, {"caller_nid": "$graphify-root$_gun_scripts_preprocess_pois_parse_eup_myeon_ri", "callee": "isna", "is_member_call": true, "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L137", "receiver": "pd"}, {"caller_nid": "$graphify-root$_gun_scripts_preprocess_pois_parse_eup_myeon_ri", "callee": "strip", "is_member_call": true, "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L139", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_preprocess_pois_parse_eup_myeon_ri", "callee": "split", "is_member_call": true, "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L142", "receiver": "s"}, {"caller_nid": "$graphify-root$_gun_scripts_preprocess_pois_split_eup_myeon_ri_columns", "callee": "apply", "is_member_call": true, "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L159", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_preprocess_pois_split_eup_myeon_ri_columns", "callee": "apply", "is_member_call": true, "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L160", "receiver": "parts"}, {"caller_nid": "$graphify-root$_gun_scripts_preprocess_pois_split_eup_myeon_ri_columns", "callee": "apply", "is_member_call": true, "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L161", "receiver": "parts"}, {"caller_nid": "$graphify-root$_gun_scripts_preprocess_pois_split_eup_myeon_ri_columns", "callee": "drop", "is_member_call": true, "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L170", "receiver": "df"}, {"caller_nid": "$graphify-root$_gun_scripts_preprocess_pois_split_date_columns", "callee": "zfill", "is_member_call": true, "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L186", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_preprocess_pois_split_date_columns", "callee": "astype", "is_member_call": true, "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L186", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_preprocess_pois_split_date_columns", "callee": "str", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L186"}, {"caller_nid": "$graphify-root$_gun_scripts_preprocess_pois_split_date_columns", "callee": "match", "is_member_call": true, "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L187", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_preprocess_pois_split_date_columns", "callee": "where", "is_member_call": true, "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L192", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_preprocess_pois_split_date_columns", "callee": "astype", "is_member_call": true, "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L193", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_preprocess_pois_split_date_columns", "callee": "to_numeric", "is_member_call": true, "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L193", "receiver": "pd"}, {"caller_nid": "$graphify-root$_gun_scripts_preprocess_pois_split_date_columns", "callee": "astype", "is_member_call": true, "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L194", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_preprocess_pois_split_date_columns", "callee": "to_numeric", "is_member_call": true, "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L194", "receiver": "pd"}, {"caller_nid": "$graphify-root$_gun_scripts_preprocess_pois_split_date_columns", "callee": "drop", "is_member_call": true, "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L197", "receiver": "df"}, {"caller_nid": "$graphify-root$_gun_scripts_preprocess_pois_preprocess", "callee": "read_csv", "is_member_call": true, "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L209", "receiver": "pd"}, {"caller_nid": "$graphify-root$_gun_scripts_preprocess_pois_preprocess", "callee": "str", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L213"}, {"caller_nid": "$graphify-root$_gun_scripts_preprocess_pois_preprocess", "callee": "str", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L214"}, {"caller_nid": "$graphify-root$_gun_scripts_preprocess_pois_preprocess", "callee": "str", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L215"}, {"caller_nid": "$graphify-root$_gun_scripts_preprocess_pois_preprocess", "callee": "str", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L216"}, {"caller_nid": "$graphify-root$_gun_scripts_preprocess_pois_preprocess", "callee": "startswith", "is_member_call": true, "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L239", "receiver": "c"}, {"caller_nid": "$graphify-root$_gun_scripts_preprocess_pois_preprocess", "callee": "index", "is_member_call": true, "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L245", "receiver": "others"}, {"caller_nid": "$graphify-root$_gun_scripts_preprocess_pois_preprocess", "callee": "to_csv", "is_member_call": true, "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L252", "receiver": "df"}, {"caller_nid": "$graphify-root$_gun_scripts_preprocess_pois_preprocess", "callee": "to_string", "is_member_call": true, "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L262", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_preprocess_pois_preprocess", "callee": "head", "is_member_call": true, "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L262", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_preprocess_pois_preprocess", "callee": "to_string", "is_member_call": true, "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L266", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_preprocess_pois_preprocess", "callee": "head", "is_member_call": true, "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L266", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_preprocess_pois_preprocess", "callee": "value_counts", "is_member_call": true, "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L266", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_preprocess_pois_preprocess", "callee": "to_string", "is_member_call": true, "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L270", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_preprocess_pois_preprocess", "callee": "sort_index", "is_member_call": true, "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L270", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_preprocess_pois_preprocess", "callee": "value_counts", "is_member_call": true, "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L270", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_preprocess_pois_main", "callee": "ArgumentParser", "is_member_call": true, "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L274", "receiver": "argparse"}, {"caller_nid": "$graphify-root$_gun_scripts_preprocess_pois_main", "callee": "add_argument", "is_member_call": true, "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L275", "receiver": "parser"}, {"caller_nid": "$graphify-root$_gun_scripts_preprocess_pois_main", "callee": "add_argument", "is_member_call": true, "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L277", "receiver": "parser"}, {"caller_nid": "$graphify-root$_gun_scripts_preprocess_pois_main", "callee": "add_argument", "is_member_call": true, "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L279", "receiver": "parser"}, {"caller_nid": "$graphify-root$_gun_scripts_preprocess_pois_main", "callee": "add_argument", "is_member_call": true, "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L281", "receiver": "parser"}, {"caller_nid": "$graphify-root$_gun_scripts_preprocess_pois_main", "callee": "parse_args", "is_member_call": true, "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L283", "receiver": "parser"}, {"caller_nid": "$graphify-root$_gun_scripts_preprocess_pois_main", "callee": "exists", "is_member_call": true, "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L286", "receiver": "input_path"}, {"caller_nid": "$graphify-root$_gun_scripts_preprocess_pois_main", "callee": "exit", "is_member_call": true, "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L287", "receiver": "sys"}, {"caller_nid": "$graphify-root$_gun_scripts_preprocess_pois_main", "callee": "mkdir", "is_member_call": true, "source_file": "gun/scripts/preprocess_pois.py", "source_location": "L294", "receiver": null}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/1d132817dbc4971166d49423ee3dc87b14ba552ac4ed2305ec58514a78f3bdce.json b/graphify-out/cache/ast/v0.9.31/1d132817dbc4971166d49423ee3dc87b14ba552ac4ed2305ec58514a78f3bdce.json new file mode 100644 index 0000000..6174014 --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/1d132817dbc4971166d49423ee3dc87b14ba552ac4ed2305ec58514a78f3bdce.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_src_explain_explain_engine_py", "label": "explain_engine.py", "file_type": "code", "source_file": "src/explain/explain_engine.py", "source_location": "L1"}, {"id": "$graphify-root$_src_explain_explain_engine_lrucache", "label": "_LRUCache", "file_type": "code", "source_file": "src/explain/explain_engine.py", "source_location": "L44", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_src_explain_explain_engine_lrucache_init", "label": ".__init__()", "file_type": "code", "source_file": "src/explain/explain_engine.py", "source_location": "L47", "_callable": true}, {"id": "$graphify-root$_src_explain_explain_engine_lrucache_contains", "label": ".__contains__()", "file_type": "code", "source_file": "src/explain/explain_engine.py", "source_location": "L51", "_callable": true}, {"id": "$graphify-root$_src_explain_explain_engine_lrucache_getitem", "label": ".__getitem__()", "file_type": "code", "source_file": "src/explain/explain_engine.py", "source_location": "L54", "_callable": true}, {"id": "$graphify-root$_src_explain_explain_engine_lrucache_setitem", "label": ".__setitem__()", "file_type": "code", "source_file": "src/explain/explain_engine.py", "source_location": "L58", "_callable": true}, {"id": "$graphify-root$_src_explain_explain_engine_lrucache_clear", "label": ".clear()", "file_type": "code", "source_file": "src/explain/explain_engine.py", "source_location": "L65", "_callable": true}, {"id": "$graphify-root$_src_explain_explain_engine_cache_key", "label": "_cache_key()", "file_type": "code", "source_file": "src/explain/explain_engine.py", "source_location": "L171", "_callable": true}, {"id": "hardfail", "label": "HardFail", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/explain/explain_engine.py"}, {"id": "warning", "label": "Warning", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/explain/explain_engine.py"}, {"id": "$graphify-root$_src_explain_explain_engine_graph_context", "label": "_graph_context()", "file_type": "code", "source_file": "src/explain/explain_engine.py", "source_location": "L187", "_callable": true}, {"id": "graphretriever", "label": "GraphRetriever", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/explain/explain_engine.py"}, {"id": "$graphify-root$_src_explain_explain_engine_find_alternatives", "label": "_find_alternatives()", "file_type": "code", "source_file": "src/explain/explain_engine.py", "source_location": "L205", "_callable": true}, {"id": "alternativepoi", "label": "AlternativePOI", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/explain/explain_engine.py"}, {"id": "$graphify-root$_src_explain_explain_engine_build_user_prompt", "label": "_build_user_prompt()", "file_type": "code", "source_file": "src/explain/explain_engine.py", "source_location": "L215", "_callable": true}, {"id": "scores", "label": "Scores", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/explain/explain_engine.py"}, {"id": "itineraryplan", "label": "ItineraryPlan", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/explain/explain_engine.py"}, {"id": "$graphify-root$_src_explain_explain_engine_parse_llm_response", "label": "_parse_llm_response()", "file_type": "code", "source_file": "src/explain/explain_engine.py", "source_location": "L331", "_callable": true}, {"id": "explanationitem", "label": "ExplanationItem", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/explain/explain_engine.py"}, {"id": "$graphify-root$_src_explain_explain_engine_fallback", "label": "_fallback()", "file_type": "code", "source_file": "src/explain/explain_engine.py", "source_location": "L353", "_callable": true}, {"id": "$graphify-root$_src_explain_explain_engine_explainengine", "label": "ExplainEngine", "file_type": "code", "source_file": "src/explain/explain_engine.py", "source_location": "L416", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_src_explain_explain_engine_explainengine_init", "label": ".__init__()", "file_type": "code", "source_file": "src/explain/explain_engine.py", "source_location": "L419", "_callable": true}, {"id": "any", "label": "Any", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/explain/explain_engine.py"}, {"id": "$graphify-root$_src_explain_explain_engine_explainengine_is_available", "label": ".is_available()", "file_type": "code", "source_file": "src/explain/explain_engine.py", "source_location": "L438", "_callable": true}, {"id": "$graphify-root$_src_explain_explain_engine_explainengine_build_alternatives", "label": ".build_alternatives()", "file_type": "code", "source_file": "src/explain/explain_engine.py", "source_location": "L441", "_callable": true}, {"id": "$graphify-root$_src_explain_explain_engine_explainengine_generate", "label": ".generate()", "file_type": "code", "source_file": "src/explain/explain_engine.py", "source_location": "L452", "_callable": true}, {"id": "$graphify-root$_src_explain_explain_engine_explainengine_call_llm", "label": "._call_llm()", "file_type": "code", "source_file": "src/explain/explain_engine.py", "source_location": "L526", "_callable": true}, {"id": "$graphify-root$_src_explain_explain_engine_rationale_1", "label": "ExplainEngine \u2014 Claude API \uae30\ubc18 4\ub2e8\uacc4 \uc790\uc5f0\uc5b4 \uc124\uba85 \uc0dd\uc131\uae30. \uac80\uc99d \uc5d4\uc9c4\uc774 \ud0d0\uc9c0\ud55c Hard Fail / Warning /\u2026", "file_type": "rationale", "source_file": "src/explain/explain_engine.py", "source_location": "L1"}, {"id": "$graphify-root$_src_explain_explain_engine_rationale_45", "label": "\ucd5c\ub300 \ud06c\uae30 \uc81c\ud55c LRU \uce90\uc2dc \u2014 collections.OrderedDict \uae30\ubc18 (\uc678\ubd80 \uc758\uc874\uc131 \uc5c6\uc74c).", "file_type": "rationale", "source_file": "src/explain/explain_engine.py", "source_location": "L45"}, {"id": "$graphify-root$_src_explain_explain_engine_rationale_188", "label": "\uc9c0\uc2dd\uadf8\ub798\ud504\uc5d0\uc11c POI\uba85 \uac80\uc0c9 \u2192 \uc9c0\uc5ed/\uce74\ud14c\uace0\ub9ac + \ub3c4\ubcf4 \uadfc\uc811 \ub300\uc548 \uadfc\uac70. \uadf8\ub798\ud504 \ubbf8\uc124\uc815\uc774\uac70\ub098 \ub9e4\uce6d \uc2e4\ud328(\ub300\uc0c1 \uc9c0\uc5ed \ubc16 POI \ub4f1) \uc2dc None\u2026", "file_type": "rationale", "source_file": "src/explain/explain_engine.py", "source_location": "L188"}, {"id": "$graphify-root$_src_explain_explain_engine_rationale_206", "label": "\uc9c0\uc2dd\uadf8\ub798\ud504\uc5d0\uc11c POI\uba85 \uac80\uc0c9 \u2192 \ub3c4\ubcf4 \uadfc\uc811 \ub300\uc548 POI \ubaa9\ub85d. \ubbf8\ub9e4\uce6d/\ubbf8\uc124\uc815 \uc2dc \ube48 \ub9ac\uc2a4\ud2b8.", "file_type": "rationale", "source_file": "src/explain/explain_engine.py", "source_location": "L206"}, {"id": "$graphify-root$_src_explain_explain_engine_rationale_417", "label": "LLM \uae30\ubc18 4\ub2e8\uacc4 \uc124\uba85 \uc0dd\uc131 \uc5d4\uc9c4. External I/O = Claude API.", "file_type": "rationale", "source_file": "src/explain/explain_engine.py", "source_location": "L417"}, {"id": "$graphify-root$_src_explain_explain_engine_rationale_442", "label": "Hard Fail POI\ubcc4 \uc9c0\uc2dd\uadf8\ub798\ud504 \ub3c4\ubcf4\uad8c \ub300\uc548 \u2014 \uacb0\uacfc\ubcf4\uace0\uc11c\uc758 \ub300\uccb4 \uc81c\uc548 \uadfc\uac70.", "file_type": "rationale", "source_file": "src/explain/explain_engine.py", "source_location": "L442"}], "edges": [{"source": "$graphify-root$_src_explain_explain_engine_py", "target": "hashlib", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/explain/explain_engine.py", "source_location": "L15", "weight": 1.0}, {"source": "$graphify-root$_src_explain_explain_engine_py", "target": "json", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/explain/explain_engine.py", "source_location": "L16", "weight": 1.0}, {"source": "$graphify-root$_src_explain_explain_engine_py", "target": "os", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/explain/explain_engine.py", "source_location": "L17", "weight": 1.0}, {"source": "$graphify-root$_src_explain_explain_engine_py", "target": "collections", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/explain/explain_engine.py", "source_location": "L18", "weight": 1.0}, {"source": "$graphify-root$_src_explain_explain_engine_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/explain/explain_engine.py", "source_location": "L19", "weight": 1.0}, {"source": "$graphify-root$_src_explain_explain_engine_py", "target": "src_data_graph_retriever", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/explain/explain_engine.py", "source_location": "L21", "weight": 1.0}, {"source": "$graphify-root$_src_explain_explain_engine_py", "target": "src_data_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/explain/explain_engine.py", "source_location": "L22", "weight": 1.0}, {"source": "$graphify-root$_src_explain_explain_engine_py", "target": "anthropic", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/explain/explain_engine.py", "source_location": "L32", "weight": 1.0}, {"source": "$graphify-root$_src_explain_explain_engine_py", "target": "$graphify-root$_src_explain_explain_engine_lrucache", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/explain/explain_engine.py", "source_location": "L44", "weight": 1.0}, {"source": "$graphify-root$_src_explain_explain_engine_lrucache", "target": "$graphify-root$_src_explain_explain_engine_lrucache_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/explain/explain_engine.py", "source_location": "L47", "weight": 1.0}, {"source": "$graphify-root$_src_explain_explain_engine_lrucache", "target": "$graphify-root$_src_explain_explain_engine_lrucache_contains", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/explain/explain_engine.py", "source_location": "L51", "weight": 1.0}, {"source": "$graphify-root$_src_explain_explain_engine_lrucache", "target": "$graphify-root$_src_explain_explain_engine_lrucache_getitem", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/explain/explain_engine.py", "source_location": "L54", "weight": 1.0}, {"source": "$graphify-root$_src_explain_explain_engine_lrucache", "target": "$graphify-root$_src_explain_explain_engine_lrucache_setitem", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/explain/explain_engine.py", "source_location": "L58", "weight": 1.0}, {"source": "$graphify-root$_src_explain_explain_engine_lrucache", "target": "$graphify-root$_src_explain_explain_engine_lrucache_clear", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/explain/explain_engine.py", "source_location": "L65", "weight": 1.0}, {"source": "$graphify-root$_src_explain_explain_engine_py", "target": "$graphify-root$_src_explain_explain_engine_cache_key", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/explain/explain_engine.py", "source_location": "L171", "weight": 1.0}, {"source": "$graphify-root$_src_explain_explain_engine_cache_key", "target": "hardfail", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/explain/explain_engine.py", "source_location": "L171", "weight": 1.0}, {"source": "$graphify-root$_src_explain_explain_engine_cache_key", "target": "warning", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/explain/explain_engine.py", "source_location": "L171", "weight": 1.0}, {"source": "$graphify-root$_src_explain_explain_engine_py", "target": "$graphify-root$_src_explain_explain_engine_graph_context", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/explain/explain_engine.py", "source_location": "L187", "weight": 1.0}, {"source": "$graphify-root$_src_explain_explain_engine_graph_context", "target": "graphretriever", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/explain/explain_engine.py", "source_location": "L187", "weight": 1.0}, {"source": "$graphify-root$_src_explain_explain_engine_py", "target": "$graphify-root$_src_explain_explain_engine_find_alternatives", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/explain/explain_engine.py", "source_location": "L205", "weight": 1.0}, {"source": "$graphify-root$_src_explain_explain_engine_find_alternatives", "target": "graphretriever", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/explain/explain_engine.py", "source_location": "L205", "weight": 1.0}, {"source": "$graphify-root$_src_explain_explain_engine_find_alternatives", "target": "alternativepoi", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/explain/explain_engine.py", "source_location": "L205", "weight": 1.0}, {"source": "$graphify-root$_src_explain_explain_engine_py", "target": "$graphify-root$_src_explain_explain_engine_build_user_prompt", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/explain/explain_engine.py", "source_location": "L215", "weight": 1.0}, {"source": "$graphify-root$_src_explain_explain_engine_build_user_prompt", "target": "hardfail", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/explain/explain_engine.py", "source_location": "L215", "weight": 1.0}, {"source": "$graphify-root$_src_explain_explain_engine_build_user_prompt", "target": "warning", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/explain/explain_engine.py", "source_location": "L215", "weight": 1.0}, {"source": "$graphify-root$_src_explain_explain_engine_build_user_prompt", "target": "scores", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/explain/explain_engine.py", "source_location": "L215", "weight": 1.0}, {"source": "$graphify-root$_src_explain_explain_engine_build_user_prompt", "target": "itineraryplan", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/explain/explain_engine.py", "source_location": "L215", "weight": 1.0}, {"source": "$graphify-root$_src_explain_explain_engine_build_user_prompt", "target": "graphretriever", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/explain/explain_engine.py", "source_location": "L215", "weight": 1.0}, {"source": "$graphify-root$_src_explain_explain_engine_py", "target": "$graphify-root$_src_explain_explain_engine_parse_llm_response", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/explain/explain_engine.py", "source_location": "L331", "weight": 1.0}, {"source": "$graphify-root$_src_explain_explain_engine_parse_llm_response", "target": "explanationitem", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/explain/explain_engine.py", "source_location": "L331", "weight": 1.0}, {"source": "$graphify-root$_src_explain_explain_engine_py", "target": "$graphify-root$_src_explain_explain_engine_fallback", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/explain/explain_engine.py", "source_location": "L353", "weight": 1.0}, {"source": "$graphify-root$_src_explain_explain_engine_fallback", "target": "hardfail", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/explain/explain_engine.py", "source_location": "L353", "weight": 1.0}, {"source": "$graphify-root$_src_explain_explain_engine_fallback", "target": "warning", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/explain/explain_engine.py", "source_location": "L353", "weight": 1.0}, {"source": "$graphify-root$_src_explain_explain_engine_fallback", "target": "explanationitem", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/explain/explain_engine.py", "source_location": "L353", "weight": 1.0}, {"source": "$graphify-root$_src_explain_explain_engine_py", "target": "$graphify-root$_src_explain_explain_engine_explainengine", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/explain/explain_engine.py", "source_location": "L416", "weight": 1.0}, {"source": "$graphify-root$_src_explain_explain_engine_explainengine", "target": "$graphify-root$_src_explain_explain_engine_explainengine_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/explain/explain_engine.py", "source_location": "L419", "weight": 1.0}, {"source": "$graphify-root$_src_explain_explain_engine_explainengine_init", "target": "any", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/explain/explain_engine.py", "source_location": "L419", "weight": 1.0}, {"source": "$graphify-root$_src_explain_explain_engine_explainengine_init", "target": "graphretriever", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/explain/explain_engine.py", "source_location": "L419", "weight": 1.0}, {"source": "$graphify-root$_src_explain_explain_engine_explainengine", "target": "$graphify-root$_src_explain_explain_engine_explainengine_is_available", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/explain/explain_engine.py", "source_location": "L438", "weight": 1.0}, {"source": "$graphify-root$_src_explain_explain_engine_explainengine", "target": "$graphify-root$_src_explain_explain_engine_explainengine_build_alternatives", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/explain/explain_engine.py", "source_location": "L441", "weight": 1.0}, {"source": "$graphify-root$_src_explain_explain_engine_explainengine_build_alternatives", "target": "hardfail", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/explain/explain_engine.py", "source_location": "L441", "weight": 1.0}, {"source": "$graphify-root$_src_explain_explain_engine_explainengine_build_alternatives", "target": "alternativepoi", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/explain/explain_engine.py", "source_location": "L441", "weight": 1.0}, {"source": "$graphify-root$_src_explain_explain_engine_explainengine", "target": "$graphify-root$_src_explain_explain_engine_explainengine_generate", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/explain/explain_engine.py", "source_location": "L452", "weight": 1.0}, {"source": "$graphify-root$_src_explain_explain_engine_explainengine_generate", "target": "hardfail", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/explain/explain_engine.py", "source_location": "L452", "weight": 1.0}, {"source": "$graphify-root$_src_explain_explain_engine_explainengine_generate", "target": "warning", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/explain/explain_engine.py", "source_location": "L452", "weight": 1.0}, {"source": "$graphify-root$_src_explain_explain_engine_explainengine_generate", "target": "scores", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/explain/explain_engine.py", "source_location": "L452", "weight": 1.0}, {"source": "$graphify-root$_src_explain_explain_engine_explainengine_generate", "target": "itineraryplan", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/explain/explain_engine.py", "source_location": "L452", "weight": 1.0}, {"source": "$graphify-root$_src_explain_explain_engine_explainengine_generate", "target": "explanationitem", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/explain/explain_engine.py", "source_location": "L452", "weight": 1.0}, {"source": "$graphify-root$_src_explain_explain_engine_explainengine", "target": "$graphify-root$_src_explain_explain_engine_explainengine_call_llm", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/explain/explain_engine.py", "source_location": "L526", "weight": 1.0}, {"source": "$graphify-root$_src_explain_explain_engine_explainengine_call_llm", "target": "hardfail", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/explain/explain_engine.py", "source_location": "L526", "weight": 1.0}, {"source": "$graphify-root$_src_explain_explain_engine_explainengine_call_llm", "target": "warning", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/explain/explain_engine.py", "source_location": "L526", "weight": 1.0}, {"source": "$graphify-root$_src_explain_explain_engine_explainengine_call_llm", "target": "scores", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/explain/explain_engine.py", "source_location": "L526", "weight": 1.0}, {"source": "$graphify-root$_src_explain_explain_engine_explainengine_call_llm", "target": "itineraryplan", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/explain/explain_engine.py", "source_location": "L526", "weight": 1.0}, {"source": "$graphify-root$_src_explain_explain_engine_explainengine_call_llm", "target": "explanationitem", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/explain/explain_engine.py", "source_location": "L526", "weight": 1.0}, {"source": "$graphify-root$_src_explain_explain_engine_build_user_prompt", "target": "$graphify-root$_src_explain_explain_engine_graph_context", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/explain/explain_engine.py", "source_location": "L236", "weight": 1.0}, {"source": "$graphify-root$_src_explain_explain_engine_parse_llm_response", "target": "explanationitem", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/explain/explain_engine.py", "source_location": "L341", "weight": 1.0}, {"source": "$graphify-root$_src_explain_explain_engine_fallback", "target": "explanationitem", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/explain/explain_engine.py", "source_location": "L363", "weight": 1.0}, {"source": "$graphify-root$_src_explain_explain_engine_explainengine_build_alternatives", "target": "$graphify-root$_src_explain_explain_engine_find_alternatives", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/explain/explain_engine.py", "source_location": "L447", "weight": 1.0}, {"source": "$graphify-root$_src_explain_explain_engine_explainengine_generate", "target": "explanationitem", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/explain/explain_engine.py", "source_location": "L498", "weight": 1.0}, {"source": "$graphify-root$_src_explain_explain_engine_explainengine_generate", "target": "$graphify-root$_src_explain_explain_engine_explainengine_is_available", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/explain/explain_engine.py", "source_location": "L508", "weight": 1.0}, {"source": "$graphify-root$_src_explain_explain_engine_explainengine_generate", "target": "$graphify-root$_src_explain_explain_engine_fallback", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/explain/explain_engine.py", "source_location": "L509", "weight": 1.0}, {"source": "$graphify-root$_src_explain_explain_engine_explainengine_generate", "target": "$graphify-root$_src_explain_explain_engine_cache_key", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/explain/explain_engine.py", "source_location": "L512", "weight": 1.0}, {"source": "$graphify-root$_src_explain_explain_engine_explainengine_generate", "target": "$graphify-root$_src_explain_explain_engine_explainengine_call_llm", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/explain/explain_engine.py", "source_location": "L517", "weight": 1.0}, {"source": "$graphify-root$_src_explain_explain_engine_explainengine_call_llm", "target": "$graphify-root$_src_explain_explain_engine_build_user_prompt", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/explain/explain_engine.py", "source_location": "L536", "weight": 1.0}, {"source": "$graphify-root$_src_explain_explain_engine_explainengine_call_llm", "target": "$graphify-root$_src_explain_explain_engine_parse_llm_response", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/explain/explain_engine.py", "source_location": "L555", "weight": 1.0}, {"source": "$graphify-root$_src_explain_explain_engine_rationale_1", "target": "$graphify-root$_src_explain_explain_engine_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/explain/explain_engine.py", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_src_explain_explain_engine_rationale_45", "target": "$graphify-root$_src_explain_explain_engine_lrucache", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/explain/explain_engine.py", "source_location": "L45", "weight": 1.0}, {"source": "$graphify-root$_src_explain_explain_engine_rationale_188", "target": "$graphify-root$_src_explain_explain_engine_graph_context", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/explain/explain_engine.py", "source_location": "L188", "weight": 1.0}, {"source": "$graphify-root$_src_explain_explain_engine_rationale_206", "target": "$graphify-root$_src_explain_explain_engine_find_alternatives", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/explain/explain_engine.py", "source_location": "L206", "weight": 1.0}, {"source": "$graphify-root$_src_explain_explain_engine_rationale_417", "target": "$graphify-root$_src_explain_explain_engine_explainengine", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/explain/explain_engine.py", "source_location": "L417", "weight": 1.0}, {"source": "$graphify-root$_src_explain_explain_engine_rationale_442", "target": "$graphify-root$_src_explain_explain_engine_explainengine_build_alternatives", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/explain/explain_engine.py", "source_location": "L442", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_src_explain_explain_engine_lrucache_init", "callee": "OrderedDict", "is_member_call": false, "source_file": "src/explain/explain_engine.py", "source_location": "L48", "receiver": null}, {"caller_nid": "$graphify-root$_src_explain_explain_engine_lrucache_getitem", "callee": "move_to_end", "is_member_call": true, "source_file": "src/explain/explain_engine.py", "source_location": "L55", "receiver": null}, {"caller_nid": "$graphify-root$_src_explain_explain_engine_lrucache_setitem", "callee": "move_to_end", "is_member_call": true, "source_file": "src/explain/explain_engine.py", "source_location": "L60", "receiver": null}, {"caller_nid": "$graphify-root$_src_explain_explain_engine_lrucache_setitem", "callee": "popitem", "is_member_call": true, "source_file": "src/explain/explain_engine.py", "source_location": "L63", "receiver": null}, {"caller_nid": "$graphify-root$_src_explain_explain_engine_cache_key", "callee": "items", "is_member_call": true, "source_file": "src/explain/explain_engine.py", "source_location": "L180", "receiver": "penalty_breakdown"}, {"caller_nid": "$graphify-root$_src_explain_explain_engine_cache_key", "callee": "dumps", "is_member_call": true, "source_file": "src/explain/explain_engine.py", "source_location": "L183", "receiver": "json"}, {"caller_nid": "$graphify-root$_src_explain_explain_engine_cache_key", "callee": "hexdigest", "is_member_call": true, "source_file": "src/explain/explain_engine.py", "source_location": "L184", "receiver": null}, {"caller_nid": "$graphify-root$_src_explain_explain_engine_cache_key", "callee": "md5", "is_member_call": true, "source_file": "src/explain/explain_engine.py", "source_location": "L184", "receiver": "hashlib"}, {"caller_nid": "$graphify-root$_src_explain_explain_engine_cache_key", "callee": "encode", "is_member_call": true, "source_file": "src/explain/explain_engine.py", "source_location": "L184", "receiver": "raw"}, {"caller_nid": "$graphify-root$_src_explain_explain_engine_graph_context", "callee": "search_places", "is_member_call": true, "source_file": "src/explain/explain_engine.py", "source_location": "L194", "receiver": "graph"}, {"caller_nid": "$graphify-root$_src_explain_explain_engine_graph_context", "callee": "find_nearby", "is_member_call": true, "source_file": "src/explain/explain_engine.py", "source_location": "L199", "receiver": "graph"}, {"caller_nid": "$graphify-root$_src_explain_explain_engine_find_alternatives", "callee": "search_places", "is_member_call": true, "source_file": "src/explain/explain_engine.py", "source_location": "L209", "receiver": "graph"}, {"caller_nid": "$graphify-root$_src_explain_explain_engine_find_alternatives", "callee": "find_nearby", "is_member_call": true, "source_file": "src/explain/explain_engine.py", "source_location": "L212", "receiver": "graph"}, {"caller_nid": "$graphify-root$_src_explain_explain_engine_build_user_prompt", "callee": "append", "is_member_call": true, "source_file": "src/explain/explain_engine.py", "source_location": "L239", "receiver": "issues"}, {"caller_nid": "$graphify-root$_src_explain_explain_engine_build_user_prompt", "callee": "append", "is_member_call": true, "source_file": "src/explain/explain_engine.py", "source_location": "L258", "receiver": "issues"}, {"caller_nid": "$graphify-root$_src_explain_explain_engine_build_user_prompt", "callee": "items", "is_member_call": true, "source_file": "src/explain/explain_engine.py", "source_location": "L265", "receiver": "penalty_breakdown"}, {"caller_nid": "$graphify-root$_src_explain_explain_engine_build_user_prompt", "callee": "append", "is_member_call": true, "source_file": "src/explain/explain_engine.py", "source_location": "L266", "receiver": "issues"}, {"caller_nid": "$graphify-root$_src_explain_explain_engine_build_user_prompt", "callee": "get", "is_member_call": true, "source_file": "src/explain/explain_engine.py", "source_location": "L271", "receiver": "_PENALTY_RULES"}, {"caller_nid": "$graphify-root$_src_explain_explain_engine_build_user_prompt", "callee": "append", "is_member_call": true, "source_file": "src/explain/explain_engine.py", "source_location": "L276", "receiver": "issues"}, {"caller_nid": "$graphify-root$_src_explain_explain_engine_build_user_prompt", "callee": "values", "is_member_call": true, "source_file": "src/explain/explain_engine.py", "source_location": "L284", "receiver": "penalty_breakdown"}, {"caller_nid": "$graphify-root$_src_explain_explain_engine_build_user_prompt", "callee": "values", "is_member_call": true, "source_file": "src/explain/explain_engine.py", "source_location": "L285", "receiver": "bonus_breakdown"}, {"caller_nid": "$graphify-root$_src_explain_explain_engine_build_user_prompt", "callee": "dumps", "is_member_call": true, "source_file": "src/explain/explain_engine.py", "source_location": "L326", "receiver": "json"}, {"caller_nid": "$graphify-root$_src_explain_explain_engine_build_user_prompt", "callee": "dumps", "is_member_call": true, "source_file": "src/explain/explain_engine.py", "source_location": "L327", "receiver": "json"}, {"caller_nid": "$graphify-root$_src_explain_explain_engine_parse_llm_response", "callee": "strip", "is_member_call": true, "source_file": "src/explain/explain_engine.py", "source_location": "L332", "receiver": "raw"}, {"caller_nid": "$graphify-root$_src_explain_explain_engine_parse_llm_response", "callee": "startswith", "is_member_call": true, "source_file": "src/explain/explain_engine.py", "source_location": "L333", "receiver": "text"}, {"caller_nid": "$graphify-root$_src_explain_explain_engine_parse_llm_response", "callee": "split", "is_member_call": true, "source_file": "src/explain/explain_engine.py", "source_location": "L334", "receiver": "text"}, {"caller_nid": "$graphify-root$_src_explain_explain_engine_parse_llm_response", "callee": "strip", "is_member_call": true, "source_file": "src/explain/explain_engine.py", "source_location": "L335", "receiver": "l"}, {"caller_nid": "$graphify-root$_src_explain_explain_engine_parse_llm_response", "callee": "join", "is_member_call": true, "source_file": "src/explain/explain_engine.py", "source_location": "L336", "receiver": null}, {"caller_nid": "$graphify-root$_src_explain_explain_engine_parse_llm_response", "callee": "loads", "is_member_call": true, "source_file": "src/explain/explain_engine.py", "source_location": "L338", "receiver": "json"}, {"caller_nid": "$graphify-root$_src_explain_explain_engine_parse_llm_response", "callee": "append", "is_member_call": true, "source_file": "src/explain/explain_engine.py", "source_location": "L341", "receiver": "items"}, {"caller_nid": "$graphify-root$_src_explain_explain_engine_parse_llm_response", "callee": "get", "is_member_call": true, "source_file": "src/explain/explain_engine.py", "source_location": "L342", "receiver": "obj"}, {"caller_nid": "$graphify-root$_src_explain_explain_engine_parse_llm_response", "callee": "get", "is_member_call": true, "source_file": "src/explain/explain_engine.py", "source_location": "L343", "receiver": "obj"}, {"caller_nid": "$graphify-root$_src_explain_explain_engine_parse_llm_response", "callee": "get", "is_member_call": true, "source_file": "src/explain/explain_engine.py", "source_location": "L344", "receiver": "obj"}, {"caller_nid": "$graphify-root$_src_explain_explain_engine_parse_llm_response", "callee": "get", "is_member_call": true, "source_file": "src/explain/explain_engine.py", "source_location": "L345", "receiver": "obj"}, {"caller_nid": "$graphify-root$_src_explain_explain_engine_parse_llm_response", "callee": "get", "is_member_call": true, "source_file": "src/explain/explain_engine.py", "source_location": "L346", "receiver": "obj"}, {"caller_nid": "$graphify-root$_src_explain_explain_engine_parse_llm_response", "callee": "get", "is_member_call": true, "source_file": "src/explain/explain_engine.py", "source_location": "L347", "receiver": "obj"}, {"caller_nid": "$graphify-root$_src_explain_explain_engine_parse_llm_response", "callee": "get", "is_member_call": true, "source_file": "src/explain/explain_engine.py", "source_location": "L348", "receiver": "obj"}, {"caller_nid": "$graphify-root$_src_explain_explain_engine_fallback", "callee": "append", "is_member_call": true, "source_file": "src/explain/explain_engine.py", "source_location": "L363", "receiver": "items"}, {"caller_nid": "$graphify-root$_src_explain_explain_engine_fallback", "callee": "get", "is_member_call": true, "source_file": "src/explain/explain_engine.py", "source_location": "L367", "receiver": "_HARD_FAIL_RULES"}, {"caller_nid": "$graphify-root$_src_explain_explain_engine_fallback", "callee": "get", "is_member_call": true, "source_file": "src/explain/explain_engine.py", "source_location": "L369", "receiver": "_HARD_FAIL_SUGGESTIONS"}, {"caller_nid": "$graphify-root$_src_explain_explain_engine_fallback", "callee": "append", "is_member_call": true, "source_file": "src/explain/explain_engine.py", "source_location": "L375", "receiver": "items"}, {"caller_nid": "$graphify-root$_src_explain_explain_engine_fallback", "callee": "get", "is_member_call": true, "source_file": "src/explain/explain_engine.py", "source_location": "L379", "receiver": "_WARNING_RULES"}, {"caller_nid": "$graphify-root$_src_explain_explain_engine_fallback", "callee": "get", "is_member_call": true, "source_file": "src/explain/explain_engine.py", "source_location": "L381", "receiver": "_WARNING_SUGGESTIONS"}, {"caller_nid": "$graphify-root$_src_explain_explain_engine_fallback", "callee": "items", "is_member_call": true, "source_file": "src/explain/explain_engine.py", "source_location": "L385", "receiver": "penalty_breakdown"}, {"caller_nid": "$graphify-root$_src_explain_explain_engine_fallback", "callee": "append", "is_member_call": true, "source_file": "src/explain/explain_engine.py", "source_location": "L386", "receiver": "items"}, {"caller_nid": "$graphify-root$_src_explain_explain_engine_fallback", "callee": "get", "is_member_call": true, "source_file": "src/explain/explain_engine.py", "source_location": "L390", "receiver": "_PENALTY_RULES"}, {"caller_nid": "$graphify-root$_src_explain_explain_engine_fallback", "callee": "get", "is_member_call": true, "source_file": "src/explain/explain_engine.py", "source_location": "L392", "receiver": "_PENALTY_SUGGESTIONS"}, {"caller_nid": "$graphify-root$_src_explain_explain_engine_fallback", "callee": "append", "is_member_call": true, "source_file": "src/explain/explain_engine.py", "source_location": "L396", "receiver": "items"}, {"caller_nid": "$graphify-root$_src_explain_explain_engine_fallback", "callee": "values", "is_member_call": true, "source_file": "src/explain/explain_engine.py", "source_location": "L402", "receiver": "penalty_breakdown"}, {"caller_nid": "$graphify-root$_src_explain_explain_engine_explainengine_init", "callee": "get", "is_member_call": true, "source_file": "src/explain/explain_engine.py", "source_location": "L431", "receiver": null}, {"caller_nid": "$graphify-root$_src_explain_explain_engine_explainengine_init", "callee": "Anthropic", "is_member_call": true, "source_file": "src/explain/explain_engine.py", "source_location": "L434", "receiver": "anthropic"}, {"caller_nid": "$graphify-root$_src_explain_explain_engine_explainengine_init", "callee": "from_env", "is_member_call": true, "source_file": "src/explain/explain_engine.py", "source_location": "L436", "receiver": "GraphRetriever"}, {"caller_nid": "$graphify-root$_src_explain_explain_engine_explainengine_generate", "callee": "append", "is_member_call": true, "source_file": "src/explain/explain_engine.py", "source_location": "L468", "receiver": "strengths"}, {"caller_nid": "$graphify-root$_src_explain_explain_engine_explainengine_generate", "callee": "append", "is_member_call": true, "source_file": "src/explain/explain_engine.py", "source_location": "L470", "receiver": "strengths"}, {"caller_nid": "$graphify-root$_src_explain_explain_engine_explainengine_generate", "callee": "append", "is_member_call": true, "source_file": "src/explain/explain_engine.py", "source_location": "L472", "receiver": "strengths"}, {"caller_nid": "$graphify-root$_src_explain_explain_engine_explainengine_generate", "callee": "append", "is_member_call": true, "source_file": "src/explain/explain_engine.py", "source_location": "L474", "receiver": "strengths"}, {"caller_nid": "$graphify-root$_src_explain_explain_engine_explainengine_generate", "callee": "append", "is_member_call": true, "source_file": "src/explain/explain_engine.py", "source_location": "L476", "receiver": "strengths"}, {"caller_nid": "$graphify-root$_src_explain_explain_engine_explainengine_generate", "callee": "append", "is_member_call": true, "source_file": "src/explain/explain_engine.py", "source_location": "L478", "receiver": "improvement_hints"}, {"caller_nid": "$graphify-root$_src_explain_explain_engine_explainengine_generate", "callee": "append", "is_member_call": true, "source_file": "src/explain/explain_engine.py", "source_location": "L480", "receiver": "improvement_hints"}, {"caller_nid": "$graphify-root$_src_explain_explain_engine_explainengine_generate", "callee": "append", "is_member_call": true, "source_file": "src/explain/explain_engine.py", "source_location": "L482", "receiver": "improvement_hints"}, {"caller_nid": "$graphify-root$_src_explain_explain_engine_explainengine_generate", "callee": "values", "is_member_call": true, "source_file": "src/explain/explain_engine.py", "source_location": "L484", "receiver": "bonus_breakdown"}, {"caller_nid": "$graphify-root$_src_explain_explain_engine_explainengine_generate", "callee": "append", "is_member_call": true, "source_file": "src/explain/explain_engine.py", "source_location": "L487", "receiver": "fact_parts"}, {"caller_nid": "$graphify-root$_src_explain_explain_engine_explainengine_generate", "callee": "join", "is_member_call": true, "source_file": "src/explain/explain_engine.py", "source_location": "L487", "receiver": null}, {"caller_nid": "$graphify-root$_src_explain_explain_engine_explainengine_generate", "callee": "append", "is_member_call": true, "source_file": "src/explain/explain_engine.py", "source_location": "L489", "receiver": "fact_parts"}, {"caller_nid": "$graphify-root$_src_explain_explain_engine_explainengine_generate", "callee": "join", "is_member_call": true, "source_file": "src/explain/explain_engine.py", "source_location": "L492", "receiver": null}, {"caller_nid": "$graphify-root$_src_explain_explain_engine_explainengine_generate", "callee": "join", "is_member_call": true, "source_file": "src/explain/explain_engine.py", "source_location": "L501", "receiver": null}, {"caller_nid": "$graphify-root$_src_explain_explain_engine_explainengine_call_llm", "callee": "create", "is_member_call": true, "source_file": "src/explain/explain_engine.py", "source_location": "L542", "receiver": null}, {"caller_nid": "$graphify-root$_src_explain_explain_engine_explainengine_call_llm", "callee": "SYSTEM_PROMPT", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "src/explain/explain_engine.py", "source_location": "L548"}, {"caller_nid": "$graphify-root$_src_explain_explain_engine_explainengine_call_llm", "callee": "join", "is_member_call": true, "source_file": "src/explain/explain_engine.py", "source_location": "L555", "receiver": null}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/1d3d0b0e2a24fe31b116ad7acb19a4b3f223f5d1c6919444c5e50513ba40f413.json b/graphify-out/cache/ast/v0.9.31/1d3d0b0e2a24fe31b116ad7acb19a4b3f223f5d1c6919444c5e50513ba40f413.json new file mode 100644 index 0000000..d941462 --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/1d3d0b0e2a24fe31b116ad7acb19a4b3f223f5d1c6919444c5e50513ba40f413.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_scripts_collect_naver_full_py", "label": "collect_naver_full.py", "file_type": "code", "source_file": "scripts/collect_naver_full.py", "source_location": "L1"}, {"id": "$graphify-root$_scripts_collect_naver_full_rate_get", "label": "_rate_get()", "file_type": "code", "source_file": "scripts/collect_naver_full.py", "source_location": "L93", "_callable": true}, {"id": "client", "label": "Client", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/scripts/collect_naver_full.py"}, {"id": "response", "label": "Response", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/scripts/collect_naver_full.py"}, {"id": "$graphify-root$_scripts_collect_naver_full_load_quota", "label": "load_quota()", "file_type": "code", "source_file": "scripts/collect_naver_full.py", "source_location": "L110", "_callable": true}, {"id": "$graphify-root$_scripts_collect_naver_full_save_quota", "label": "_save_quota()", "file_type": "code", "source_file": "scripts/collect_naver_full.py", "source_location": "L123", "_callable": true}, {"id": "$graphify-root$_scripts_collect_naver_full_increment_quota", "label": "_increment_quota()", "file_type": "code", "source_file": "scripts/collect_naver_full.py", "source_location": "L127", "_callable": true}, {"id": "$graphify-root$_scripts_collect_naver_full_strip", "label": "_strip()", "file_type": "code", "source_file": "scripts/collect_naver_full.py", "source_location": "L138", "_callable": true}, {"id": "$graphify-root$_scripts_collect_naver_full_count_hits", "label": "_count_hits()", "file_type": "code", "source_file": "scripts/collect_naver_full.py", "source_location": "L214", "_callable": true}, {"id": "$graphify-root$_scripts_collect_naver_full_parse_price", "label": "_parse_price()", "file_type": "code", "source_file": "scripts/collect_naver_full.py", "source_location": "L232", "_callable": true}, {"id": "$graphify-root$_scripts_collect_naver_full_extract_fields", "label": "extract_fields()", "file_type": "code", "source_file": "scripts/collect_naver_full.py", "source_location": "L255", "_callable": true}, {"id": "$graphify-root$_scripts_collect_naver_full_build_summary_text", "label": "build_summary_text()", "file_type": "code", "source_file": "scripts/collect_naver_full.py", "source_location": "L315", "_callable": true}, {"id": "$graphify-root$_scripts_collect_naver_full_fetch_blog_texts", "label": "_fetch_blog_texts()", "file_type": "code", "source_file": "scripts/collect_naver_full.py", "source_location": "L328", "_callable": true}, {"id": "$graphify-root$_scripts_collect_naver_full_fetch_and_extract", "label": "fetch_and_extract()", "file_type": "code", "source_file": "scripts/collect_naver_full.py", "source_location": "L354", "_callable": true}, {"id": "$graphify-root$_scripts_collect_naver_full_load_all_pois", "label": "load_all_pois()", "file_type": "code", "source_file": "scripts/collect_naver_full.py", "source_location": "L396", "_callable": true}, {"id": "$graphify-root$_scripts_collect_naver_full_load_progress", "label": "load_progress()", "file_type": "code", "source_file": "scripts/collect_naver_full.py", "source_location": "L406", "_callable": true}, {"id": "$graphify-root$_scripts_collect_naver_full_save_progress", "label": "save_progress()", "file_type": "code", "source_file": "scripts/collect_naver_full.py", "source_location": "L417", "_callable": true}, {"id": "$graphify-root$_scripts_collect_naver_full_save_output", "label": "save_output()", "file_type": "code", "source_file": "scripts/collect_naver_full.py", "source_location": "L422", "_callable": true}, {"id": "$graphify-root$_scripts_collect_naver_full_print_stats", "label": "print_stats()", "file_type": "code", "source_file": "scripts/collect_naver_full.py", "source_location": "L431", "_callable": true}, {"id": "$graphify-root$_scripts_collect_naver_full_main", "label": "main()", "file_type": "code", "source_file": "scripts/collect_naver_full.py", "source_location": "L464", "_callable": true}, {"id": "$graphify-root$_scripts_collect_naver_full_rationale_111", "label": "\uc624\ub298 \ub0a0\uc9dc \uae30\uc900 \ub0a8\uc740 API \ud638\ucd9c \uc218 \ubc18\ud658.", "file_type": "rationale", "source_file": "scripts/collect_naver_full.py", "source_location": "L111"}, {"id": "$graphify-root$_scripts_collect_naver_full_rationale_128", "label": "\ud638\ucd9c \uce74\uc6b4\ud2b8 \uc99d\uac00. \ud55c\ub3c4 \ucd08\uacfc \uc2dc False \ubc18\ud658.", "file_type": "rationale", "source_file": "scripts/collect_naver_full.py", "source_location": "L128"}, {"id": "$graphify-root$_scripts_collect_naver_full_rationale_407", "label": "contentid \u2192 record \ub515\uc154\ub108\ub9ac \ubc18\ud658 (progress \ud30c\uc77c\uc774 list \ud615\uc2dd\ub3c4 \ucc98\ub9ac).", "file_type": "rationale", "source_file": "scripts/collect_naver_full.py", "source_location": "L407"}], "edges": [{"source": "$graphify-root$_scripts_collect_naver_full_py", "target": "argparse", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_full.py", "source_location": "L22", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_full_py", "target": "csv", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_full.py", "source_location": "L23", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_full_py", "target": "json", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_full.py", "source_location": "L24", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_full_py", "target": "os", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_full.py", "source_location": "L25", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_full_py", "target": "re", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_full.py", "source_location": "L26", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_full_py", "target": "sys", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_full.py", "source_location": "L27", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_full_py", "target": "threading", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_full.py", "source_location": "L28", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_full_py", "target": "time", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_full.py", "source_location": "L29", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_full_py", "target": "concurrent_futures", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_full.py", "source_location": "L30", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_full_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_full.py", "source_location": "L31", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_full_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_full.py", "source_location": "L32", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_full_py", "target": "httpx", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_full.py", "source_location": "L34", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_full_py", "target": "dotenv", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_full.py", "source_location": "L35", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_full_py", "target": "tqdm", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_full.py", "source_location": "L36", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_full_py", "target": "$graphify-root$_scripts_collect_naver_full_rate_get", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_full.py", "source_location": "L93", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_full_rate_get", "target": "client", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_full.py", "source_location": "L93", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_full_rate_get", "target": "response", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_full.py", "source_location": "L93", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_full_py", "target": "$graphify-root$_scripts_collect_naver_full_load_quota", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_full.py", "source_location": "L110", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_full_py", "target": "$graphify-root$_scripts_collect_naver_full_save_quota", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_full.py", "source_location": "L123", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_full_py", "target": "$graphify-root$_scripts_collect_naver_full_increment_quota", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_full.py", "source_location": "L127", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_full_py", "target": "$graphify-root$_scripts_collect_naver_full_strip", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_full.py", "source_location": "L138", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_full_py", "target": "$graphify-root$_scripts_collect_naver_full_count_hits", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_full.py", "source_location": "L214", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_full_py", "target": "$graphify-root$_scripts_collect_naver_full_parse_price", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_full.py", "source_location": "L232", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_full_py", "target": "$graphify-root$_scripts_collect_naver_full_extract_fields", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_full.py", "source_location": "L255", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_full_py", "target": "$graphify-root$_scripts_collect_naver_full_build_summary_text", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_full.py", "source_location": "L315", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_full_py", "target": "$graphify-root$_scripts_collect_naver_full_fetch_blog_texts", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_full.py", "source_location": "L328", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_full_fetch_blog_texts", "target": "client", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_full.py", "source_location": "L328", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_full_py", "target": "$graphify-root$_scripts_collect_naver_full_fetch_and_extract", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_full.py", "source_location": "L354", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_full_fetch_and_extract", "target": "client", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_full.py", "source_location": "L354", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_full_py", "target": "$graphify-root$_scripts_collect_naver_full_load_all_pois", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_full.py", "source_location": "L396", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_full_py", "target": "$graphify-root$_scripts_collect_naver_full_load_progress", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_full.py", "source_location": "L406", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_full_py", "target": "$graphify-root$_scripts_collect_naver_full_save_progress", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_full.py", "source_location": "L417", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_full_py", "target": "$graphify-root$_scripts_collect_naver_full_save_output", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_full.py", "source_location": "L422", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_full_py", "target": "$graphify-root$_scripts_collect_naver_full_print_stats", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_full.py", "source_location": "L431", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_full_py", "target": "$graphify-root$_scripts_collect_naver_full_main", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_full.py", "source_location": "L464", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_full_increment_quota", "target": "$graphify-root$_scripts_collect_naver_full_save_quota", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_full.py", "source_location": "L133", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_full_extract_fields", "target": "$graphify-root$_scripts_collect_naver_full_count_hits", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_full.py", "source_location": "L270", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_full_extract_fields", "target": "$graphify-root$_scripts_collect_naver_full_parse_price", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_full.py", "source_location": "L285", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_full_fetch_blog_texts", "target": "$graphify-root$_scripts_collect_naver_full_rate_get", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_full.py", "source_location": "L331", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_full_fetch_blog_texts", "target": "$graphify-root$_scripts_collect_naver_full_strip", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_full.py", "source_location": "L345", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_full_fetch_and_extract", "target": "$graphify-root$_scripts_collect_naver_full_increment_quota", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_full.py", "source_location": "L361", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_full_fetch_and_extract", "target": "$graphify-root$_scripts_collect_naver_full_fetch_blog_texts", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_full.py", "source_location": "L367", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_full_fetch_and_extract", "target": "$graphify-root$_scripts_collect_naver_full_extract_fields", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_full.py", "source_location": "L378", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_full_fetch_and_extract", "target": "$graphify-root$_scripts_collect_naver_full_build_summary_text", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_full.py", "source_location": "L391", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_full_main", "target": "$graphify-root$_scripts_collect_naver_full_load_progress", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_full.py", "source_location": "L477", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_full_main", "target": "$graphify-root$_scripts_collect_naver_full_load_all_pois", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_full.py", "source_location": "L478", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_full_main", "target": "$graphify-root$_scripts_collect_naver_full_load_quota", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_full.py", "source_location": "L481", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_full_main", "target": "$graphify-root$_scripts_collect_naver_full_print_stats", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_full.py", "source_location": "L494", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_full_main", "target": "$graphify-root$_scripts_collect_naver_full_save_output", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_full.py", "source_location": "L504", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_full_main", "target": "client", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_full.py", "source_location": "L512", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_full_main", "target": "$graphify-root$_scripts_collect_naver_full_fetch_and_extract", "relation": "indirect_call", "context": "argument", "confidence": "INFERRED", "source_file": "scripts/collect_naver_full.py", "source_location": "L514", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_full_main", "target": "$graphify-root$_scripts_collect_naver_full_save_progress", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_full.py", "source_location": "L530", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_full_main", "target": "$graphify-root$_scripts_collect_naver_full_save_quota", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_full.py", "source_location": "L536", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_full_rationale_111", "target": "$graphify-root$_scripts_collect_naver_full_load_quota", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_full.py", "source_location": "L111", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_full_rationale_128", "target": "$graphify-root$_scripts_collect_naver_full_increment_quota", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_full.py", "source_location": "L128", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_full_rationale_407", "target": "$graphify-root$_scripts_collect_naver_full_load_progress", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_full.py", "source_location": "L407", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_scripts_collect_naver_full_rate_get", "callee": "monotonic", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L95", "receiver": "time"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_rate_get", "callee": "pop", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L97", "receiver": "_req_times"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_rate_get", "callee": "_req_times", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/collect_naver_full.py", "source_location": "L98"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_rate_get", "callee": "sleep", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L101", "receiver": "time"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_rate_get", "callee": "append", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L102", "receiver": "_req_times"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_rate_get", "callee": "monotonic", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L102", "receiver": "time"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_rate_get", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L103", "receiver": "client"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_load_quota", "callee": "today", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L113", "receiver": "date"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_load_quota", "callee": "exists", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L114", "receiver": "QUOTA_PATH"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_load_quota", "callee": "QUOTA_PATH", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/collect_naver_full.py", "source_location": "L115"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_load_quota", "callee": "load", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L116", "receiver": "json"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_load_quota", "callee": "f", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/collect_naver_full.py", "source_location": "L116"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_load_quota", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L117", "receiver": "q"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_load_quota", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L118", "receiver": "q"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_load_quota", "callee": "DAILY_CALL_LIMIT", "is_member_call": false, "indirect": true, "context": "return", "source_file": "scripts/collect_naver_full.py", "source_location": "L121"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_save_quota", "callee": "QUOTA_PATH", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/collect_naver_full.py", "source_location": "L124"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_save_quota", "callee": "dump", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L125", "receiver": "json"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_save_quota", "callee": "f", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/collect_naver_full.py", "source_location": "L125"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_save_quota", "callee": "_daily_calls", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "scripts/collect_naver_full.py", "source_location": "L125"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_save_quota", "callee": "today", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L125", "receiver": "date"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_strip", "callee": "sub", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L139", "receiver": "re"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_parse_price", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L233", "receiver": "_TYPE_THRESHOLDS"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_parse_price", "callee": "finditer", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L235", "receiver": "_PRICE_RE"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_parse_price", "callee": "group", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L236", "receiver": "m"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_parse_price", "callee": "group", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L236", "receiver": "m"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_parse_price", "callee": "append", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L238", "receiver": "prices"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_parse_price", "callee": "replace", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L238", "receiver": "raw"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_parse_price", "callee": "group", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L239", "receiver": "m"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_parse_price", "callee": "append", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L240", "receiver": "prices"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_parse_price", "callee": "group", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L240", "receiver": "m"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_parse_price", "callee": "group", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L241", "receiver": "m"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_parse_price", "callee": "append", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L242", "receiver": "prices"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_parse_price", "callee": "group", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L242", "receiver": "m"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_parse_price", "callee": "group", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L243", "receiver": "m"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_parse_price", "callee": "group", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L243", "receiver": "m"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_parse_price", "callee": "append", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L244", "receiver": "prices"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_parse_price", "callee": "group", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L244", "receiver": "m"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_parse_price", "callee": "group", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L244", "receiver": "m"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_extract_fields", "callee": "join", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L256", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_extract_fields", "callee": "decide", "is_member_call": false, "source_file": "scripts/collect_naver_full.py", "source_location": "L266", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_extract_fields", "callee": "decide", "is_member_call": false, "source_file": "scripts/collect_naver_full.py", "source_location": "L267", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_extract_fields", "callee": "decide", "is_member_call": false, "source_file": "scripts/collect_naver_full.py", "source_location": "L268", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_build_summary_text", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L317", "receiver": "record"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_build_summary_text", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L317", "receiver": "record"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_build_summary_text", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L318", "receiver": "record"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_build_summary_text", "callee": "items", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L320", "receiver": "_FIELD_TEXT"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_build_summary_text", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L321", "receiver": "record"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_build_summary_text", "callee": "append", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L323", "receiver": "parts"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_build_summary_text", "callee": "join", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L324", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_fetch_blog_texts", "callee": "MAX_RETRIES", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/collect_naver_full.py", "source_location": "L329"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_fetch_blog_texts", "callee": "NAVER_BLOG_URL", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/collect_naver_full.py", "source_location": "L332"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_fetch_blog_texts", "callee": "NAVER_HEADERS", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/collect_naver_full.py", "source_location": "L333"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_fetch_blog_texts", "callee": "BLOG_DISPLAY", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "scripts/collect_naver_full.py", "source_location": "L334"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_fetch_blog_texts", "callee": "exit", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L339", "receiver": "sys"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_fetch_blog_texts", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L345", "receiver": "it"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_fetch_blog_texts", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L345", "receiver": "it"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_fetch_blog_texts", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L346", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_fetch_blog_texts", "callee": "json", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L346", "receiver": "resp"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_fetch_blog_texts", "callee": "sleep", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L350", "receiver": "time"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_fetch_and_extract", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L356", "receiver": "poi"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_fetch_and_extract", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L357", "receiver": "poi"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_fetch_and_extract", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L358", "receiver": "TYPE_QUERY_SUFFIX"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_fetch_and_extract", "callee": "CALLS_PER_POI", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/collect_naver_full.py", "source_location": "L361"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_fetch_and_extract", "callee": "strip", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L367", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_fetch_and_extract", "callee": "add", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L375", "receiver": "seen"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_fetch_and_extract", "callee": "append", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L376", "receiver": "all_texts"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_fetch_and_extract", "callee": "update", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L379", "receiver": "fields"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_fetch_and_extract", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L382", "receiver": "poi"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_fetch_and_extract", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L384", "receiver": "poi"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_fetch_and_extract", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L386", "receiver": "TYPE_LABEL"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_fetch_and_extract", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L387", "receiver": "poi"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_fetch_and_extract", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L388", "receiver": "poi"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_load_all_pois", "callee": "CSV_PATH", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/collect_naver_full.py", "source_location": "L398"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_load_all_pois", "callee": "DictReader", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L399", "receiver": "csv"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_load_all_pois", "callee": "f", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/collect_naver_full.py", "source_location": "L399"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_load_all_pois", "callee": "append", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L400", "receiver": "rows"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_load_all_pois", "callee": "sort", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L401", "receiver": "rows"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_load_all_pois", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L401", "receiver": "TYPE_PRIORITY"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_load_all_pois", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L401", "receiver": "r"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_load_progress", "callee": "exists", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L408", "receiver": "PROGRESS_PATH"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_load_progress", "callee": "PROGRESS_PATH", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/collect_naver_full.py", "source_location": "L409"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_load_progress", "callee": "load", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L410", "receiver": "json"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_load_progress", "callee": "f", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/collect_naver_full.py", "source_location": "L410"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_load_progress", "callee": "list", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/collect_naver_full.py", "source_location": "L411"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_load_progress", "callee": "dict", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/collect_naver_full.py", "source_location": "L413"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_save_progress", "callee": "mkdir", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L418", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_save_progress", "callee": "PROGRESS_PATH", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/collect_naver_full.py", "source_location": "L419"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_save_progress", "callee": "dump", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L420", "receiver": "json"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_save_progress", "callee": "f", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/collect_naver_full.py", "source_location": "L420"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_save_progress", "callee": "values", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L420", "receiver": "results"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_save_output", "callee": "values", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L423", "receiver": "results"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_save_output", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L423", "receiver": "r"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_save_output", "callee": "mkdir", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L424", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_save_output", "callee": "OUTPUT_PATH", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/collect_naver_full.py", "source_location": "L425"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_save_output", "callee": "dump", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L426", "receiver": "json"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_save_output", "callee": "f", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/collect_naver_full.py", "source_location": "L426"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_print_stats", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L440", "receiver": "r"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_print_stats", "callee": "cnt", "is_member_call": false, "source_file": "scripts/collect_naver_full.py", "source_location": "L441", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_print_stats", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L441", "receiver": "r"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_print_stats", "callee": "cnt", "is_member_call": false, "source_file": "scripts/collect_naver_full.py", "source_location": "L441", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_print_stats", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L441", "receiver": "r"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_print_stats", "callee": "cnt", "is_member_call": false, "source_file": "scripts/collect_naver_full.py", "source_location": "L441", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_print_stats", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L441", "receiver": "r"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_print_stats", "callee": "cnt", "is_member_call": false, "source_file": "scripts/collect_naver_full.py", "source_location": "L443", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_print_stats", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L443", "receiver": "r"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_print_stats", "callee": "cnt", "is_member_call": false, "source_file": "scripts/collect_naver_full.py", "source_location": "L445", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_print_stats", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L445", "receiver": "r"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_print_stats", "callee": "cnt", "is_member_call": false, "source_file": "scripts/collect_naver_full.py", "source_location": "L445", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_print_stats", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L445", "receiver": "r"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_print_stats", "callee": "cnt", "is_member_call": false, "source_file": "scripts/collect_naver_full.py", "source_location": "L446", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_print_stats", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L446", "receiver": "r"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_print_stats", "callee": "cnt", "is_member_call": false, "source_file": "scripts/collect_naver_full.py", "source_location": "L446", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_print_stats", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L446", "receiver": "r"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_print_stats", "callee": "cnt", "is_member_call": false, "source_file": "scripts/collect_naver_full.py", "source_location": "L448", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_print_stats", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L448", "receiver": "r"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_print_stats", "callee": "cnt", "is_member_call": false, "source_file": "scripts/collect_naver_full.py", "source_location": "L450", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_print_stats", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L450", "receiver": "r"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_print_stats", "callee": "cnt", "is_member_call": false, "source_file": "scripts/collect_naver_full.py", "source_location": "L452", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_print_stats", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L452", "receiver": "r"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_print_stats", "callee": "k", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/collect_naver_full.py", "source_location": "L452"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_print_stats", "callee": "Counter", "is_member_call": false, "source_file": "scripts/collect_naver_full.py", "source_location": "L457", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_print_stats", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L457", "receiver": "r"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_print_stats", "callee": "items", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L459", "receiver": "TYPE_LABEL"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_print_stats", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L460", "receiver": "type_cnt"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_main", "callee": "ArgumentParser", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L465", "receiver": "argparse"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_main", "callee": "add_argument", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L466", "receiver": "parser"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_main", "callee": "int", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/collect_naver_full.py", "source_location": "L466"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_main", "callee": "add_argument", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L468", "receiver": "parser"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_main", "callee": "parse_args", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L470", "receiver": "parser"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_main", "callee": "exit", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L474", "receiver": "sys"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_main", "callee": "values", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L493", "receiver": "done"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_main", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L493", "receiver": "r"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_main", "callee": "monotonic", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L508", "receiver": "time"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_main", "callee": "ThreadPoolExecutor", "is_member_call": false, "source_file": "scripts/collect_naver_full.py", "source_location": "L513", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_main", "callee": "MAX_WORKERS", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/collect_naver_full.py", "source_location": "L513"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_main", "callee": "submit", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L514", "receiver": "pool"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_main", "callee": "http", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/collect_naver_full.py", "source_location": "L514"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_main", "callee": "tqdm", "is_member_call": false, "source_file": "scripts/collect_naver_full.py", "source_location": "L516", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_main", "callee": "as_completed", "is_member_call": false, "source_file": "scripts/collect_naver_full.py", "source_location": "L517", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_main", "callee": "result", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L518", "receiver": "fut"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_main", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L520", "receiver": "result"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_main", "callee": "update", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L522", "receiver": "pbar"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_main", "callee": "append", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L526", "receiver": "batch_buf"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_main", "callee": "update", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L527", "receiver": "pbar"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_main", "callee": "clear", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L531", "receiver": "batch_buf"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_main", "callee": "monotonic", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L537", "receiver": "time"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_main", "callee": "values", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L540", "receiver": "done"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_full_main", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_full.py", "source_location": "L540", "receiver": "r"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/1e0a4400d4c40571f12397f91204c85fb20002f4ea632b4cd4750fa6ab0613e8.json b/graphify-out/cache/ast/v0.9.31/1e0a4400d4c40571f12397f91204c85fb20002f4ea632b4cd4750fa6ab0613e8.json new file mode 100644 index 0000000..913df79 --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/1e0a4400d4c40571f12397f91204c85fb20002f4ea632b4cd4750fa6ab0613e8.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_tests_test_geo_py", "label": "test_geo.py", "file_type": "code", "source_file": "tests/test_geo.py", "source_location": "L1"}, {"id": "$graphify-root$_tests_test_geo_make_poi", "label": "make_poi()", "file_type": "code", "source_file": "tests/test_geo.py", "source_location": "L10", "_callable": true}, {"id": "poi", "label": "POI", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/tests/test_geo.py"}, {"id": "$graphify-root$_tests_test_geo_testhaversinekm", "label": "TestHaversineKm", "file_type": "code", "source_file": "tests/test_geo.py", "source_location": "L23", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_tests_test_geo_testhaversinekm_test_same_point_is_zero", "label": ".test_same_point_is_zero()", "file_type": "code", "source_file": "tests/test_geo.py", "source_location": "L24", "_callable": true}, {"id": "$graphify-root$_tests_test_geo_testhaversinekm_test_known_distance", "label": ".test_known_distance()", "file_type": "code", "source_file": "tests/test_geo.py", "source_location": "L27", "_callable": true}, {"id": "$graphify-root$_tests_test_geo_testhaversinekm_test_symmetric", "label": ".test_symmetric()", "file_type": "code", "source_file": "tests/test_geo.py", "source_location": "L32", "_callable": true}, {"id": "$graphify-root$_tests_test_geo_testhaversinekm_test_positive", "label": ".test_positive()", "file_type": "code", "source_file": "tests/test_geo.py", "source_location": "L37", "_callable": true}, {"id": "$graphify-root$_tests_test_geo_testbuilddistcache", "label": "TestBuildDistCache", "file_type": "code", "source_file": "tests/test_geo.py", "source_location": "L45", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_tests_test_geo_testbuilddistcache_test_all_pairs_present", "label": ".test_all_pairs_present()", "file_type": "code", "source_file": "tests/test_geo.py", "source_location": "L46", "_callable": true}, {"id": "$graphify-root$_tests_test_geo_testbuilddistcache_test_no_self_pairs", "label": ".test_no_self_pairs()", "file_type": "code", "source_file": "tests/test_geo.py", "source_location": "L54", "_callable": true}, {"id": "$graphify-root$_tests_test_geo_testbuilddistcache_test_values_match_haversine", "label": ".test_values_match_haversine()", "file_type": "code", "source_file": "tests/test_geo.py", "source_location": "L60", "_callable": true}, {"id": "$graphify-root$_tests_test_geo_testbuilddistcache_test_single_poi_empty_cache", "label": ".test_single_poi_empty_cache()", "file_type": "code", "source_file": "tests/test_geo.py", "source_location": "L70", "_callable": true}, {"id": "$graphify-root$_tests_test_geo_testbuilddistcache_test_empty_list_empty_cache", "label": ".test_empty_list_empty_cache()", "file_type": "code", "source_file": "tests/test_geo.py", "source_location": "L75", "_callable": true}, {"id": "$graphify-root$_tests_test_geo_testnnheuristickm", "label": "TestNnHeuristicKm", "file_type": "code", "source_file": "tests/test_geo.py", "source_location": "L83", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_tests_test_geo_testnnheuristickm_test_single_poi_returns_zero", "label": ".test_single_poi_returns_zero()", "file_type": "code", "source_file": "tests/test_geo.py", "source_location": "L84", "_callable": true}, {"id": "$graphify-root$_tests_test_geo_testnnheuristickm_test_two_pois_returns_distance", "label": ".test_two_pois_returns_distance()", "file_type": "code", "source_file": "tests/test_geo.py", "source_location": "L88", "_callable": true}, {"id": "$graphify-root$_tests_test_geo_testnnheuristickm_test_nn_le_actual_for_suboptimal", "label": ".test_nn_le_actual_for_suboptimal()", "file_type": "code", "source_file": "tests/test_geo.py", "source_location": "L93", "_callable": true}, {"id": "$graphify-root$_tests_test_geo_testnnheuristickm_test_cache_gives_same_result", "label": ".test_cache_gives_same_result()", "file_type": "code", "source_file": "tests/test_geo.py", "source_location": "L109", "_callable": true}, {"id": "$graphify-root$_tests_test_geo_testnnheuristickm_test_collinear_optimal_order_matches_nn", "label": ".test_collinear_optimal_order_matches_nn()", "file_type": "code", "source_file": "tests/test_geo.py", "source_location": "L114", "_callable": true}, {"id": "$graphify-root$_tests_test_geo_testgettravelmin", "label": "TestGetTravelMin", "file_type": "code", "source_file": "tests/test_geo.py", "source_location": "L128", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_tests_test_geo_testgettravelmin_test_uses_matrix_when_available", "label": ".test_uses_matrix_when_available()", "file_type": "code", "source_file": "tests/test_geo.py", "source_location": "L129", "_callable": true}, {"id": "$graphify-root$_tests_test_geo_testgettravelmin_test_haversine_fallback_when_no_matrix", "label": ".test_haversine_fallback_when_no_matrix()", "file_type": "code", "source_file": "tests/test_geo.py", "source_location": "L135", "_callable": true}, {"id": "$graphify-root$_tests_test_geo_testgettravelmin_test_cache_fallback_when_no_matrix", "label": ".test_cache_fallback_when_no_matrix()", "file_type": "code", "source_file": "tests/test_geo.py", "source_location": "L143", "_callable": true}, {"id": "$graphify-root$_tests_test_geo_testgettravelmin_test_matrix_takes_priority_over_cache", "label": ".test_matrix_takes_priority_over_cache()", "file_type": "code", "source_file": "tests/test_geo.py", "source_location": "L150", "_callable": true}, {"id": "$graphify-root$_tests_test_geo_rationale_1", "label": "Tests for src/utils/geo.py (TDD).", "file_type": "rationale", "source_file": "tests/test_geo.py", "source_location": "L1"}], "edges": [{"source": "$graphify-root$_tests_test_geo_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_geo.py", "source_location": "L4", "weight": 1.0}, {"source": "$graphify-root$_tests_test_geo_py", "target": "src_data_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_geo.py", "source_location": "L6", "weight": 1.0}, {"source": "$graphify-root$_tests_test_geo_py", "target": "src_utils_geo", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_geo.py", "source_location": "L7", "weight": 1.0}, {"source": "$graphify-root$_tests_test_geo_py", "target": "$graphify-root$_tests_test_geo_make_poi", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_geo.py", "source_location": "L10", "weight": 1.0}, {"source": "$graphify-root$_tests_test_geo_make_poi", "target": "poi", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "tests/test_geo.py", "source_location": "L10", "weight": 1.0}, {"source": "$graphify-root$_tests_test_geo_py", "target": "$graphify-root$_tests_test_geo_testhaversinekm", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_geo.py", "source_location": "L23", "weight": 1.0}, {"source": "$graphify-root$_tests_test_geo_testhaversinekm", "target": "$graphify-root$_tests_test_geo_testhaversinekm_test_same_point_is_zero", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_geo.py", "source_location": "L24", "weight": 1.0}, {"source": "$graphify-root$_tests_test_geo_testhaversinekm", "target": "$graphify-root$_tests_test_geo_testhaversinekm_test_known_distance", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_geo.py", "source_location": "L27", "weight": 1.0}, {"source": "$graphify-root$_tests_test_geo_testhaversinekm", "target": "$graphify-root$_tests_test_geo_testhaversinekm_test_symmetric", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_geo.py", "source_location": "L32", "weight": 1.0}, {"source": "$graphify-root$_tests_test_geo_testhaversinekm", "target": "$graphify-root$_tests_test_geo_testhaversinekm_test_positive", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_geo.py", "source_location": "L37", "weight": 1.0}, {"source": "$graphify-root$_tests_test_geo_py", "target": "$graphify-root$_tests_test_geo_testbuilddistcache", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_geo.py", "source_location": "L45", "weight": 1.0}, {"source": "$graphify-root$_tests_test_geo_testbuilddistcache", "target": "$graphify-root$_tests_test_geo_testbuilddistcache_test_all_pairs_present", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_geo.py", "source_location": "L46", "weight": 1.0}, {"source": "$graphify-root$_tests_test_geo_testbuilddistcache", "target": "$graphify-root$_tests_test_geo_testbuilddistcache_test_no_self_pairs", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_geo.py", "source_location": "L54", "weight": 1.0}, {"source": "$graphify-root$_tests_test_geo_testbuilddistcache", "target": "$graphify-root$_tests_test_geo_testbuilddistcache_test_values_match_haversine", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_geo.py", "source_location": "L60", "weight": 1.0}, {"source": "$graphify-root$_tests_test_geo_testbuilddistcache", "target": "$graphify-root$_tests_test_geo_testbuilddistcache_test_single_poi_empty_cache", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_geo.py", "source_location": "L70", "weight": 1.0}, {"source": "$graphify-root$_tests_test_geo_testbuilddistcache", "target": "$graphify-root$_tests_test_geo_testbuilddistcache_test_empty_list_empty_cache", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_geo.py", "source_location": "L75", "weight": 1.0}, {"source": "$graphify-root$_tests_test_geo_py", "target": "$graphify-root$_tests_test_geo_testnnheuristickm", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_geo.py", "source_location": "L83", "weight": 1.0}, {"source": "$graphify-root$_tests_test_geo_testnnheuristickm", "target": "$graphify-root$_tests_test_geo_testnnheuristickm_test_single_poi_returns_zero", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_geo.py", "source_location": "L84", "weight": 1.0}, {"source": "$graphify-root$_tests_test_geo_testnnheuristickm", "target": "$graphify-root$_tests_test_geo_testnnheuristickm_test_two_pois_returns_distance", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_geo.py", "source_location": "L88", "weight": 1.0}, {"source": "$graphify-root$_tests_test_geo_testnnheuristickm", "target": "$graphify-root$_tests_test_geo_testnnheuristickm_test_nn_le_actual_for_suboptimal", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_geo.py", "source_location": "L93", "weight": 1.0}, {"source": "$graphify-root$_tests_test_geo_testnnheuristickm", "target": "$graphify-root$_tests_test_geo_testnnheuristickm_test_cache_gives_same_result", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_geo.py", "source_location": "L109", "weight": 1.0}, {"source": "$graphify-root$_tests_test_geo_testnnheuristickm", "target": "$graphify-root$_tests_test_geo_testnnheuristickm_test_collinear_optimal_order_matches_nn", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_geo.py", "source_location": "L114", "weight": 1.0}, {"source": "$graphify-root$_tests_test_geo_py", "target": "$graphify-root$_tests_test_geo_testgettravelmin", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_geo.py", "source_location": "L128", "weight": 1.0}, {"source": "$graphify-root$_tests_test_geo_testgettravelmin", "target": "$graphify-root$_tests_test_geo_testgettravelmin_test_uses_matrix_when_available", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_geo.py", "source_location": "L129", "weight": 1.0}, {"source": "$graphify-root$_tests_test_geo_testgettravelmin", "target": "$graphify-root$_tests_test_geo_testgettravelmin_test_haversine_fallback_when_no_matrix", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_geo.py", "source_location": "L135", "weight": 1.0}, {"source": "$graphify-root$_tests_test_geo_testgettravelmin", "target": "$graphify-root$_tests_test_geo_testgettravelmin_test_cache_fallback_when_no_matrix", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_geo.py", "source_location": "L143", "weight": 1.0}, {"source": "$graphify-root$_tests_test_geo_testgettravelmin", "target": "$graphify-root$_tests_test_geo_testgettravelmin_test_matrix_takes_priority_over_cache", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_geo.py", "source_location": "L150", "weight": 1.0}, {"source": "$graphify-root$_tests_test_geo_make_poi", "target": "poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_geo.py", "source_location": "L11", "weight": 1.0}, {"source": "$graphify-root$_tests_test_geo_testbuilddistcache_test_all_pairs_present", "target": "$graphify-root$_tests_test_geo_make_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_geo.py", "source_location": "L47", "weight": 1.0}, {"source": "$graphify-root$_tests_test_geo_testbuilddistcache_test_no_self_pairs", "target": "$graphify-root$_tests_test_geo_make_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_geo.py", "source_location": "L55", "weight": 1.0}, {"source": "$graphify-root$_tests_test_geo_testbuilddistcache_test_values_match_haversine", "target": "$graphify-root$_tests_test_geo_make_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_geo.py", "source_location": "L62", "weight": 1.0}, {"source": "$graphify-root$_tests_test_geo_testbuilddistcache_test_single_poi_empty_cache", "target": "$graphify-root$_tests_test_geo_make_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_geo.py", "source_location": "L71", "weight": 1.0}, {"source": "$graphify-root$_tests_test_geo_testnnheuristickm_test_single_poi_returns_zero", "target": "$graphify-root$_tests_test_geo_make_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_geo.py", "source_location": "L85", "weight": 1.0}, {"source": "$graphify-root$_tests_test_geo_testnnheuristickm_test_two_pois_returns_distance", "target": "$graphify-root$_tests_test_geo_make_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_geo.py", "source_location": "L89", "weight": 1.0}, {"source": "$graphify-root$_tests_test_geo_testnnheuristickm_test_nn_le_actual_for_suboptimal", "target": "$graphify-root$_tests_test_geo_make_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_geo.py", "source_location": "L96", "weight": 1.0}, {"source": "$graphify-root$_tests_test_geo_testnnheuristickm_test_cache_gives_same_result", "target": "$graphify-root$_tests_test_geo_make_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_geo.py", "source_location": "L110", "weight": 1.0}, {"source": "$graphify-root$_tests_test_geo_testnnheuristickm_test_collinear_optimal_order_matches_nn", "target": "$graphify-root$_tests_test_geo_make_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_geo.py", "source_location": "L116", "weight": 1.0}, {"source": "$graphify-root$_tests_test_geo_testgettravelmin_test_uses_matrix_when_available", "target": "$graphify-root$_tests_test_geo_make_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_geo.py", "source_location": "L130", "weight": 1.0}, {"source": "$graphify-root$_tests_test_geo_testgettravelmin_test_haversine_fallback_when_no_matrix", "target": "$graphify-root$_tests_test_geo_make_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_geo.py", "source_location": "L136", "weight": 1.0}, {"source": "$graphify-root$_tests_test_geo_testgettravelmin_test_cache_fallback_when_no_matrix", "target": "$graphify-root$_tests_test_geo_make_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_geo.py", "source_location": "L144", "weight": 1.0}, {"source": "$graphify-root$_tests_test_geo_testgettravelmin_test_matrix_takes_priority_over_cache", "target": "$graphify-root$_tests_test_geo_make_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_geo.py", "source_location": "L151", "weight": 1.0}, {"source": "$graphify-root$_tests_test_geo_rationale_1", "target": "$graphify-root$_tests_test_geo_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_geo.py", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_tests_test_geo_testhaversinekm_test_same_point_is_zero", "callee": "haversine_km", "is_member_call": false, "source_file": "tests/test_geo.py", "source_location": "L25", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_geo_testhaversinekm_test_same_point_is_zero", "callee": "approx", "is_member_call": true, "source_file": "tests/test_geo.py", "source_location": "L25", "receiver": "pytest"}, {"caller_nid": "$graphify-root$_tests_test_geo_testhaversinekm_test_known_distance", "callee": "haversine_km", "is_member_call": false, "source_file": "tests/test_geo.py", "source_location": "L29", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_geo_testhaversinekm_test_symmetric", "callee": "haversine_km", "is_member_call": false, "source_file": "tests/test_geo.py", "source_location": "L33", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_geo_testhaversinekm_test_symmetric", "callee": "haversine_km", "is_member_call": false, "source_file": "tests/test_geo.py", "source_location": "L34", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_geo_testhaversinekm_test_symmetric", "callee": "approx", "is_member_call": true, "source_file": "tests/test_geo.py", "source_location": "L35", "receiver": "pytest"}, {"caller_nid": "$graphify-root$_tests_test_geo_testhaversinekm_test_positive", "callee": "haversine_km", "is_member_call": false, "source_file": "tests/test_geo.py", "source_location": "L38", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_geo_testbuilddistcache_test_all_pairs_present", "callee": "build_dist_cache", "is_member_call": false, "source_file": "tests/test_geo.py", "source_location": "L48", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_geo_testbuilddistcache_test_no_self_pairs", "callee": "build_dist_cache", "is_member_call": false, "source_file": "tests/test_geo.py", "source_location": "L56", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_geo_testbuilddistcache_test_values_match_haversine", "callee": "build_dist_cache", "is_member_call": false, "source_file": "tests/test_geo.py", "source_location": "L65", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_geo_testbuilddistcache_test_values_match_haversine", "callee": "haversine_km", "is_member_call": false, "source_file": "tests/test_geo.py", "source_location": "L66", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_geo_testbuilddistcache_test_values_match_haversine", "callee": "approx", "is_member_call": true, "source_file": "tests/test_geo.py", "source_location": "L67", "receiver": "pytest"}, {"caller_nid": "$graphify-root$_tests_test_geo_testbuilddistcache_test_values_match_haversine", "callee": "approx", "is_member_call": true, "source_file": "tests/test_geo.py", "source_location": "L68", "receiver": "pytest"}, {"caller_nid": "$graphify-root$_tests_test_geo_testbuilddistcache_test_single_poi_empty_cache", "callee": "build_dist_cache", "is_member_call": false, "source_file": "tests/test_geo.py", "source_location": "L72", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_geo_testbuilddistcache_test_empty_list_empty_cache", "callee": "build_dist_cache", "is_member_call": false, "source_file": "tests/test_geo.py", "source_location": "L76", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_geo_testnnheuristickm_test_single_poi_returns_zero", "callee": "nn_heuristic_km", "is_member_call": false, "source_file": "tests/test_geo.py", "source_location": "L86", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_geo_testnnheuristickm_test_two_pois_returns_distance", "callee": "haversine_km", "is_member_call": false, "source_file": "tests/test_geo.py", "source_location": "L90", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_geo_testnnheuristickm_test_two_pois_returns_distance", "callee": "nn_heuristic_km", "is_member_call": false, "source_file": "tests/test_geo.py", "source_location": "L91", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_geo_testnnheuristickm_test_two_pois_returns_distance", "callee": "approx", "is_member_call": true, "source_file": "tests/test_geo.py", "source_location": "L91", "receiver": "pytest"}, {"caller_nid": "$graphify-root$_tests_test_geo_testnnheuristickm_test_nn_le_actual_for_suboptimal", "callee": "haversine_km", "is_member_call": false, "source_file": "tests/test_geo.py", "source_location": "L102", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_geo_testnnheuristickm_test_nn_le_actual_for_suboptimal", "callee": "haversine_km", "is_member_call": false, "source_file": "tests/test_geo.py", "source_location": "L103", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_geo_testnnheuristickm_test_nn_le_actual_for_suboptimal", "callee": "haversine_km", "is_member_call": false, "source_file": "tests/test_geo.py", "source_location": "L104", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_geo_testnnheuristickm_test_nn_le_actual_for_suboptimal", "callee": "nn_heuristic_km", "is_member_call": false, "source_file": "tests/test_geo.py", "source_location": "L106", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_geo_testnnheuristickm_test_cache_gives_same_result", "callee": "build_dist_cache", "is_member_call": false, "source_file": "tests/test_geo.py", "source_location": "L111", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_geo_testnnheuristickm_test_cache_gives_same_result", "callee": "nn_heuristic_km", "is_member_call": false, "source_file": "tests/test_geo.py", "source_location": "L112", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_geo_testnnheuristickm_test_cache_gives_same_result", "callee": "approx", "is_member_call": true, "source_file": "tests/test_geo.py", "source_location": "L112", "receiver": "pytest"}, {"caller_nid": "$graphify-root$_tests_test_geo_testnnheuristickm_test_cache_gives_same_result", "callee": "nn_heuristic_km", "is_member_call": false, "source_file": "tests/test_geo.py", "source_location": "L112", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_geo_testnnheuristickm_test_collinear_optimal_order_matches_nn", "callee": "haversine_km", "is_member_call": false, "source_file": "tests/test_geo.py", "source_location": "L118", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_geo_testnnheuristickm_test_collinear_optimal_order_matches_nn", "callee": "nn_heuristic_km", "is_member_call": false, "source_file": "tests/test_geo.py", "source_location": "L121", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_geo_testnnheuristickm_test_collinear_optimal_order_matches_nn", "callee": "approx", "is_member_call": true, "source_file": "tests/test_geo.py", "source_location": "L121", "receiver": "pytest"}, {"caller_nid": "$graphify-root$_tests_test_geo_testgettravelmin_test_uses_matrix_when_available", "callee": "get_travel_min", "is_member_call": false, "source_file": "tests/test_geo.py", "source_location": "L133", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_geo_testgettravelmin_test_haversine_fallback_when_no_matrix", "callee": "haversine_km", "is_member_call": false, "source_file": "tests/test_geo.py", "source_location": "L138", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_geo_testgettravelmin_test_haversine_fallback_when_no_matrix", "callee": "get_travel_min", "is_member_call": false, "source_file": "tests/test_geo.py", "source_location": "L140", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_geo_testgettravelmin_test_haversine_fallback_when_no_matrix", "callee": "approx", "is_member_call": true, "source_file": "tests/test_geo.py", "source_location": "L141", "receiver": "pytest"}, {"caller_nid": "$graphify-root$_tests_test_geo_testgettravelmin_test_cache_fallback_when_no_matrix", "callee": "get_travel_min", "is_member_call": false, "source_file": "tests/test_geo.py", "source_location": "L147", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_geo_testgettravelmin_test_cache_fallback_when_no_matrix", "callee": "approx", "is_member_call": true, "source_file": "tests/test_geo.py", "source_location": "L148", "receiver": "pytest"}, {"caller_nid": "$graphify-root$_tests_test_geo_testgettravelmin_test_matrix_takes_priority_over_cache", "callee": "get_travel_min", "is_member_call": false, "source_file": "tests/test_geo.py", "source_location": "L155", "receiver": null}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/22feb272eb4e2fa6ddffb4f0f095a2fa27ad9af2b666d5f77397c3ca7c3f0686.json b/graphify-out/cache/ast/v0.9.31/22feb272eb4e2fa6ddffb4f0f095a2fa27ad9af2b666d5f77397c3ca7c3f0686.json new file mode 100644 index 0000000..5041178 --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/22feb272eb4e2fa6ddffb4f0f095a2fa27ad9af2b666d5f77397c3ca7c3f0686.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_gun_scripts_create_input_template_py", "label": "create_input_template.py", "file_type": "code", "source_file": "gun/scripts/create_input_template.py", "source_location": "L1"}, {"id": "$graphify-root$_gun_scripts_create_input_template_make_workbook", "label": "make_workbook()", "file_type": "code", "source_file": "gun/scripts/create_input_template.py", "source_location": "L57", "_callable": true}, {"id": "workbook", "label": "Workbook", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/gun/scripts/create_input_template.py"}, {"id": "$graphify-root$_gun_scripts_create_input_template_main", "label": "main()", "file_type": "code", "source_file": "gun/scripts/create_input_template.py", "source_location": "L157", "_callable": true}, {"id": "$graphify-root$_gun_scripts_create_input_template_rationale_1", "label": "recommendations_input.xlsx \uc785\ub825 \uc591\uc2dd + \uc608\uc2dc \uc0dd\uc131. \uc2e4\ud589: python3\u2026", "file_type": "rationale", "source_file": "gun/scripts/create_input_template.py", "source_location": "L1"}], "edges": [{"source": "$graphify-root$_gun_scripts_create_input_template_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "gun/scripts/create_input_template.py", "source_location": "L11", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_create_input_template_py", "target": "openpyxl", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "gun/scripts/create_input_template.py", "source_location": "L13", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_create_input_template_py", "target": "openpyxl_styles", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "gun/scripts/create_input_template.py", "source_location": "L14", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_create_input_template_py", "target": "openpyxl_utils", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "gun/scripts/create_input_template.py", "source_location": "L15", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_create_input_template_py", "target": "openpyxl_worksheet_datavalidation", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "gun/scripts/create_input_template.py", "source_location": "L16", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_create_input_template_py", "target": "$graphify-root$_gun_scripts_create_input_template_make_workbook", "relation": "contains", "confidence": "EXTRACTED", "source_file": "gun/scripts/create_input_template.py", "source_location": "L57", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_create_input_template_make_workbook", "target": "workbook", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "gun/scripts/create_input_template.py", "source_location": "L57", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_create_input_template_py", "target": "$graphify-root$_gun_scripts_create_input_template_main", "relation": "contains", "confidence": "EXTRACTED", "source_file": "gun/scripts/create_input_template.py", "source_location": "L157", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_create_input_template_make_workbook", "target": "workbook", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "gun/scripts/create_input_template.py", "source_location": "L58", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_create_input_template_main", "target": "$graphify-root$_gun_scripts_create_input_template_make_workbook", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "gun/scripts/create_input_template.py", "source_location": "L158", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_create_input_template_rationale_1", "target": "$graphify-root$_gun_scripts_create_input_template_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "gun/scripts/create_input_template.py", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_gun_scripts_create_input_template_make_workbook", "callee": "PatternFill", "is_member_call": false, "source_file": "gun/scripts/create_input_template.py", "source_location": "L65", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_create_input_template_make_workbook", "callee": "INPUT_COLS", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/create_input_template.py", "source_location": "L67"}, {"caller_nid": "$graphify-root$_gun_scripts_create_input_template_make_workbook", "callee": "cell", "is_member_call": true, "source_file": "gun/scripts/create_input_template.py", "source_location": "L68", "receiver": "ws"}, {"caller_nid": "$graphify-root$_gun_scripts_create_input_template_make_workbook", "callee": "Alignment", "is_member_call": false, "source_file": "gun/scripts/create_input_template.py", "source_location": "L71", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_create_input_template_make_workbook", "callee": "PatternFill", "is_member_call": false, "source_file": "gun/scripts/create_input_template.py", "source_location": "L74", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_create_input_template_make_workbook", "callee": "EXAMPLE_ROWS", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/create_input_template.py", "source_location": "L75"}, {"caller_nid": "$graphify-root$_gun_scripts_create_input_template_make_workbook", "callee": "cell", "is_member_call": true, "source_file": "gun/scripts/create_input_template.py", "source_location": "L77", "receiver": "ws"}, {"caller_nid": "$graphify-root$_gun_scripts_create_input_template_make_workbook", "callee": "get_column_letter", "is_member_call": false, "source_file": "gun/scripts/create_input_template.py", "source_location": "L83", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_create_input_template_make_workbook", "callee": "DataValidation", "is_member_call": false, "source_file": "gun/scripts/create_input_template.py", "source_location": "L87", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_create_input_template_make_workbook", "callee": "join", "is_member_call": true, "source_file": "gun/scripts/create_input_template.py", "source_location": "L88", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_create_input_template_make_workbook", "callee": "SIDO_OPTIONS", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/create_input_template.py", "source_location": "L88"}, {"caller_nid": "$graphify-root$_gun_scripts_create_input_template_make_workbook", "callee": "add", "is_member_call": true, "source_file": "gun/scripts/create_input_template.py", "source_location": "L90", "receiver": "dv_sido"}, {"caller_nid": "$graphify-root$_gun_scripts_create_input_template_make_workbook", "callee": "add_data_validation", "is_member_call": true, "source_file": "gun/scripts/create_input_template.py", "source_location": "L91", "receiver": "ws"}, {"caller_nid": "$graphify-root$_gun_scripts_create_input_template_make_workbook", "callee": "DataValidation", "is_member_call": false, "source_file": "gun/scripts/create_input_template.py", "source_location": "L94", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_create_input_template_make_workbook", "callee": "join", "is_member_call": true, "source_file": "gun/scripts/create_input_template.py", "source_location": "L95", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_create_input_template_make_workbook", "callee": "PERIOD_OPTIONS", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/create_input_template.py", "source_location": "L95"}, {"caller_nid": "$graphify-root$_gun_scripts_create_input_template_make_workbook", "callee": "add", "is_member_call": true, "source_file": "gun/scripts/create_input_template.py", "source_location": "L97", "receiver": "dv_period"}, {"caller_nid": "$graphify-root$_gun_scripts_create_input_template_make_workbook", "callee": "add_data_validation", "is_member_call": true, "source_file": "gun/scripts/create_input_template.py", "source_location": "L98", "receiver": "ws"}, {"caller_nid": "$graphify-root$_gun_scripts_create_input_template_make_workbook", "callee": "DataValidation", "is_member_call": false, "source_file": "gun/scripts/create_input_template.py", "source_location": "L101", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_create_input_template_make_workbook", "callee": "join", "is_member_call": true, "source_file": "gun/scripts/create_input_template.py", "source_location": "L102", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_create_input_template_make_workbook", "callee": "CATEGORY_HINTS", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/create_input_template.py", "source_location": "L102"}, {"caller_nid": "$graphify-root$_gun_scripts_create_input_template_make_workbook", "callee": "add", "is_member_call": true, "source_file": "gun/scripts/create_input_template.py", "source_location": "L104", "receiver": "dv_cat"}, {"caller_nid": "$graphify-root$_gun_scripts_create_input_template_make_workbook", "callee": "add_data_validation", "is_member_call": true, "source_file": "gun/scripts/create_input_template.py", "source_location": "L105", "receiver": "ws"}, {"caller_nid": "$graphify-root$_gun_scripts_create_input_template_make_workbook", "callee": "create_sheet", "is_member_call": true, "source_file": "gun/scripts/create_input_template.py", "source_location": "L111", "receiver": "wb"}, {"caller_nid": "$graphify-root$_gun_scripts_create_input_template_make_workbook", "callee": "cell", "is_member_call": true, "source_file": "gun/scripts/create_input_template.py", "source_location": "L112", "receiver": "ws_guide"}, {"caller_nid": "$graphify-root$_gun_scripts_create_input_template_make_workbook", "callee": "cell", "is_member_call": true, "source_file": "gun/scripts/create_input_template.py", "source_location": "L113", "receiver": "ws_guide"}, {"caller_nid": "$graphify-root$_gun_scripts_create_input_template_make_workbook", "callee": "INPUT_COLS", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/create_input_template.py", "source_location": "L114"}, {"caller_nid": "$graphify-root$_gun_scripts_create_input_template_make_workbook", "callee": "cell", "is_member_call": true, "source_file": "gun/scripts/create_input_template.py", "source_location": "L115", "receiver": "ws_guide"}, {"caller_nid": "$graphify-root$_gun_scripts_create_input_template_make_workbook", "callee": "cell", "is_member_call": true, "source_file": "gun/scripts/create_input_template.py", "source_location": "L116", "receiver": "ws_guide"}, {"caller_nid": "$graphify-root$_gun_scripts_create_input_template_make_workbook", "callee": "cell", "is_member_call": true, "source_file": "gun/scripts/create_input_template.py", "source_location": "L119", "receiver": "ws_guide"}, {"caller_nid": "$graphify-root$_gun_scripts_create_input_template_make_workbook", "callee": "INPUT_COLS", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/create_input_template.py", "source_location": "L119"}, {"caller_nid": "$graphify-root$_gun_scripts_create_input_template_make_workbook", "callee": "cell", "is_member_call": true, "source_file": "gun/scripts/create_input_template.py", "source_location": "L136", "receiver": "ws_guide"}, {"caller_nid": "$graphify-root$_gun_scripts_create_input_template_make_workbook", "callee": "INPUT_COLS", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/create_input_template.py", "source_location": "L136"}, {"caller_nid": "$graphify-root$_gun_scripts_create_input_template_make_workbook", "callee": "create_sheet", "is_member_call": true, "source_file": "gun/scripts/create_input_template.py", "source_location": "L142", "receiver": "wb"}, {"caller_nid": "$graphify-root$_gun_scripts_create_input_template_make_workbook", "callee": "INPUT_COLS", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/create_input_template.py", "source_location": "L143"}, {"caller_nid": "$graphify-root$_gun_scripts_create_input_template_make_workbook", "callee": "cell", "is_member_call": true, "source_file": "gun/scripts/create_input_template.py", "source_location": "L144", "receiver": "ws_ex"}, {"caller_nid": "$graphify-root$_gun_scripts_create_input_template_make_workbook", "callee": "EXAMPLE_ROWS", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/create_input_template.py", "source_location": "L147"}, {"caller_nid": "$graphify-root$_gun_scripts_create_input_template_make_workbook", "callee": "cell", "is_member_call": true, "source_file": "gun/scripts/create_input_template.py", "source_location": "L149", "receiver": "ws_ex"}, {"caller_nid": "$graphify-root$_gun_scripts_create_input_template_make_workbook", "callee": "get_column_letter", "is_member_call": false, "source_file": "gun/scripts/create_input_template.py", "source_location": "L151", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_create_input_template_main", "callee": "save", "is_member_call": true, "source_file": "gun/scripts/create_input_template.py", "source_location": "L159", "receiver": "wb"}, {"caller_nid": "$graphify-root$_gun_scripts_create_input_template_main", "callee": "OUTPUT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/create_input_template.py", "source_location": "L159"}, {"caller_nid": "$graphify-root$_gun_scripts_create_input_template_main", "callee": "INPUT_COLS", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/create_input_template.py", "source_location": "L162"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/24ce014a6e4284ab10877ff8595735d01d7f820c595a5026c1b9b6e7fcfb18c7.json b/graphify-out/cache/ast/v0.9.31/24ce014a6e4284ab10877ff8595735d01d7f820c595a5026c1b9b6e7fcfb18c7.json new file mode 100644 index 0000000..e29ed4f --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/24ce014a6e4284ab10877ff8595735d01d7f820c595a5026c1b9b6e7fcfb18c7.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_gun_scripts_inspect_json_py", "label": "inspect_json.py", "file_type": "code", "source_file": "gun/scripts/inspect_json.py", "source_location": "L1"}, {"id": "$graphify-root$_gun_scripts_inspect_json_get_path", "label": "get_path()", "file_type": "code", "source_file": "gun/scripts/inspect_json.py", "source_location": "L24", "_callable": true}, {"id": "any", "label": "Any", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/gun/scripts/inspect_json.py"}, {"id": "$graphify-root$_gun_scripts_inspect_json_describe", "label": "describe()", "file_type": "code", "source_file": "gun/scripts/inspect_json.py", "source_location": "L44", "_callable": true}, {"id": "$graphify-root$_gun_scripts_inspect_json_print_tree", "label": "print_tree()", "file_type": "code", "source_file": "gun/scripts/inspect_json.py", "source_location": "L59", "_callable": true}, {"id": "$graphify-root$_gun_scripts_inspect_json_search_in", "label": "search_in()", "file_type": "code", "source_file": "gun/scripts/inspect_json.py", "source_location": "L86", "_callable": true}, {"id": "$graphify-root$_gun_scripts_inspect_json_main", "label": "main()", "file_type": "code", "source_file": "gun/scripts/inspect_json.py", "source_location": "L105", "_callable": true}, {"id": "$graphify-root$_gun_scripts_inspect_json_rationale_1", "label": "JSON \ud30c\uc77c \ube60\ub978 \ud655\uc778 \uc720\ud2f8\ub9ac\ud2f0 ================================= \uc0ac\uc6a9\ubc95: python3\u2026", "file_type": "rationale", "source_file": "gun/scripts/inspect_json.py", "source_location": "L1"}, {"id": "$graphify-root$_gun_scripts_inspect_json_rationale_25", "label": "a.b.0.c' \ud615\ud0dc \uacbd\ub85c\ub85c dict/list \uc548\uc73c\ub85c \ub4e4\uc5b4\uac10.", "file_type": "rationale", "source_file": "gun/scripts/inspect_json.py", "source_location": "L25"}, {"id": "$graphify-root$_gun_scripts_inspect_json_rationale_60", "label": "\uad6c\uc870\ub9cc \ud2b8\ub9ac\ub85c \ucd9c\ub825 (\uac12\uc740 \ud0c0\uc785\uacfc \uae38\uc774\ub9cc).", "file_type": "rationale", "source_file": "gun/scripts/inspect_json.py", "source_location": "L60"}, {"id": "$graphify-root$_gun_scripts_inspect_json_rationale_87", "label": "\ubaa8\ub4e0 \uac12\uc5d0\uc11c text \ud3ec\ud568 \ud56d\ubaa9 \ucc3e\uae30. \ubc18\ud658: [(\uacbd\ub85c, \uac12)]", "file_type": "rationale", "source_file": "gun/scripts/inspect_json.py", "source_location": "L87"}], "edges": [{"source": "$graphify-root$_gun_scripts_inspect_json_py", "target": "argparse", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "gun/scripts/inspect_json.py", "source_location": "L17", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_inspect_json_py", "target": "json", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "gun/scripts/inspect_json.py", "source_location": "L18", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_inspect_json_py", "target": "sys", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "gun/scripts/inspect_json.py", "source_location": "L19", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_inspect_json_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "gun/scripts/inspect_json.py", "source_location": "L20", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_inspect_json_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "gun/scripts/inspect_json.py", "source_location": "L21", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_inspect_json_py", "target": "$graphify-root$_gun_scripts_inspect_json_get_path", "relation": "contains", "confidence": "EXTRACTED", "source_file": "gun/scripts/inspect_json.py", "source_location": "L24", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_inspect_json_get_path", "target": "any", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "gun/scripts/inspect_json.py", "source_location": "L24", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_inspect_json_get_path", "target": "any", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "gun/scripts/inspect_json.py", "source_location": "L24", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_inspect_json_py", "target": "$graphify-root$_gun_scripts_inspect_json_describe", "relation": "contains", "confidence": "EXTRACTED", "source_file": "gun/scripts/inspect_json.py", "source_location": "L44", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_inspect_json_describe", "target": "any", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "gun/scripts/inspect_json.py", "source_location": "L44", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_inspect_json_py", "target": "$graphify-root$_gun_scripts_inspect_json_print_tree", "relation": "contains", "confidence": "EXTRACTED", "source_file": "gun/scripts/inspect_json.py", "source_location": "L59", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_inspect_json_print_tree", "target": "any", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "gun/scripts/inspect_json.py", "source_location": "L59", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_inspect_json_py", "target": "$graphify-root$_gun_scripts_inspect_json_search_in", "relation": "contains", "confidence": "EXTRACTED", "source_file": "gun/scripts/inspect_json.py", "source_location": "L86", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_inspect_json_search_in", "target": "any", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "gun/scripts/inspect_json.py", "source_location": "L86", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_inspect_json_search_in", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "gun/scripts/inspect_json.py", "source_location": "L86", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_inspect_json_py", "target": "$graphify-root$_gun_scripts_inspect_json_main", "relation": "contains", "confidence": "EXTRACTED", "source_file": "gun/scripts/inspect_json.py", "source_location": "L105", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_inspect_json_print_tree", "target": "$graphify-root$_gun_scripts_inspect_json_describe", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "gun/scripts/inspect_json.py", "source_location": "L70", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_inspect_json_main", "target": "$graphify-root$_gun_scripts_inspect_json_get_path", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "gun/scripts/inspect_json.py", "source_location": "L126", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_inspect_json_main", "target": "$graphify-root$_gun_scripts_inspect_json_search_in", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "gun/scripts/inspect_json.py", "source_location": "L132", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_inspect_json_main", "target": "$graphify-root$_gun_scripts_inspect_json_describe", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "gun/scripts/inspect_json.py", "source_location": "L135", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_inspect_json_main", "target": "$graphify-root$_gun_scripts_inspect_json_print_tree", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "gun/scripts/inspect_json.py", "source_location": "L143", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_inspect_json_rationale_1", "target": "$graphify-root$_gun_scripts_inspect_json_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "gun/scripts/inspect_json.py", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_inspect_json_rationale_25", "target": "$graphify-root$_gun_scripts_inspect_json_get_path", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "gun/scripts/inspect_json.py", "source_location": "L25", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_inspect_json_rationale_60", "target": "$graphify-root$_gun_scripts_inspect_json_print_tree", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "gun/scripts/inspect_json.py", "source_location": "L60", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_inspect_json_rationale_87", "target": "$graphify-root$_gun_scripts_inspect_json_search_in", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "gun/scripts/inspect_json.py", "source_location": "L87", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_gun_scripts_inspect_json_get_path", "callee": "split", "is_member_call": true, "source_file": "gun/scripts/inspect_json.py", "source_location": "L29", "receiver": "path"}, {"caller_nid": "$graphify-root$_gun_scripts_inspect_json_get_path", "callee": "list", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/inspect_json.py", "source_location": "L30"}, {"caller_nid": "$graphify-root$_gun_scripts_inspect_json_get_path", "callee": "ValueError", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "gun/scripts/inspect_json.py", "source_location": "L33"}, {"caller_nid": "$graphify-root$_gun_scripts_inspect_json_get_path", "callee": "IndexError", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "gun/scripts/inspect_json.py", "source_location": "L33"}, {"caller_nid": "$graphify-root$_gun_scripts_inspect_json_get_path", "callee": "dict", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/inspect_json.py", "source_location": "L35"}, {"caller_nid": "$graphify-root$_gun_scripts_inspect_json_get_path", "callee": "keys", "is_member_call": true, "source_file": "gun/scripts/inspect_json.py", "source_location": "L37", "receiver": "cur"}, {"caller_nid": "$graphify-root$_gun_scripts_inspect_json_describe", "callee": "list", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "gun/scripts/inspect_json.py", "source_location": "L47"}, {"caller_nid": "$graphify-root$_gun_scripts_inspect_json_describe", "callee": "tuple", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "gun/scripts/inspect_json.py", "source_location": "L47"}, {"caller_nid": "$graphify-root$_gun_scripts_inspect_json_describe", "callee": "dict", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/inspect_json.py", "source_location": "L49"}, {"caller_nid": "$graphify-root$_gun_scripts_inspect_json_describe", "callee": "str", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/inspect_json.py", "source_location": "L51"}, {"caller_nid": "$graphify-root$_gun_scripts_inspect_json_describe", "callee": "int", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "gun/scripts/inspect_json.py", "source_location": "L54"}, {"caller_nid": "$graphify-root$_gun_scripts_inspect_json_describe", "callee": "float", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "gun/scripts/inspect_json.py", "source_location": "L54"}, {"caller_nid": "$graphify-root$_gun_scripts_inspect_json_describe", "callee": "bool", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "gun/scripts/inspect_json.py", "source_location": "L54"}, {"caller_nid": "$graphify-root$_gun_scripts_inspect_json_print_tree", "callee": "dict", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/inspect_json.py", "source_location": "L64"}, {"caller_nid": "$graphify-root$_gun_scripts_inspect_json_print_tree", "callee": "keys", "is_member_call": true, "source_file": "gun/scripts/inspect_json.py", "source_location": "L65", "receiver": "data"}, {"caller_nid": "$graphify-root$_gun_scripts_inspect_json_print_tree", "callee": "dict", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "gun/scripts/inspect_json.py", "source_location": "L71"}, {"caller_nid": "$graphify-root$_gun_scripts_inspect_json_print_tree", "callee": "list", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "gun/scripts/inspect_json.py", "source_location": "L71"}, {"caller_nid": "$graphify-root$_gun_scripts_inspect_json_print_tree", "callee": "list", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/inspect_json.py", "source_location": "L74"}, {"caller_nid": "$graphify-root$_gun_scripts_inspect_json_print_tree", "callee": "dict", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "gun/scripts/inspect_json.py", "source_location": "L80"}, {"caller_nid": "$graphify-root$_gun_scripts_inspect_json_print_tree", "callee": "list", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "gun/scripts/inspect_json.py", "source_location": "L80"}, {"caller_nid": "$graphify-root$_gun_scripts_inspect_json_search_in", "callee": "dict", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/inspect_json.py", "source_location": "L89"}, {"caller_nid": "$graphify-root$_gun_scripts_inspect_json_search_in", "callee": "items", "is_member_call": true, "source_file": "gun/scripts/inspect_json.py", "source_location": "L90", "receiver": "data"}, {"caller_nid": "$graphify-root$_gun_scripts_inspect_json_search_in", "callee": "lower", "is_member_call": true, "source_file": "gun/scripts/inspect_json.py", "source_location": "L92", "receiver": "text"}, {"caller_nid": "$graphify-root$_gun_scripts_inspect_json_search_in", "callee": "lower", "is_member_call": true, "source_file": "gun/scripts/inspect_json.py", "source_location": "L92", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_inspect_json_search_in", "callee": "append", "is_member_call": true, "source_file": "gun/scripts/inspect_json.py", "source_location": "L93", "receiver": "results"}, {"caller_nid": "$graphify-root$_gun_scripts_inspect_json_search_in", "callee": "extend", "is_member_call": true, "source_file": "gun/scripts/inspect_json.py", "source_location": "L94", "receiver": "results"}, {"caller_nid": "$graphify-root$_gun_scripts_inspect_json_search_in", "callee": "list", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/inspect_json.py", "source_location": "L95"}, {"caller_nid": "$graphify-root$_gun_scripts_inspect_json_search_in", "callee": "extend", "is_member_call": true, "source_file": "gun/scripts/inspect_json.py", "source_location": "L98", "receiver": "results"}, {"caller_nid": "$graphify-root$_gun_scripts_inspect_json_search_in", "callee": "lower", "is_member_call": true, "source_file": "gun/scripts/inspect_json.py", "source_location": "L100", "receiver": "text"}, {"caller_nid": "$graphify-root$_gun_scripts_inspect_json_search_in", "callee": "lower", "is_member_call": true, "source_file": "gun/scripts/inspect_json.py", "source_location": "L100", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_inspect_json_search_in", "callee": "append", "is_member_call": true, "source_file": "gun/scripts/inspect_json.py", "source_location": "L101", "receiver": "results"}, {"caller_nid": "$graphify-root$_gun_scripts_inspect_json_main", "callee": "ArgumentParser", "is_member_call": true, "source_file": "gun/scripts/inspect_json.py", "source_location": "L106", "receiver": "argparse"}, {"caller_nid": "$graphify-root$_gun_scripts_inspect_json_main", "callee": "add_argument", "is_member_call": true, "source_file": "gun/scripts/inspect_json.py", "source_location": "L107", "receiver": "parser"}, {"caller_nid": "$graphify-root$_gun_scripts_inspect_json_main", "callee": "add_argument", "is_member_call": true, "source_file": "gun/scripts/inspect_json.py", "source_location": "L108", "receiver": "parser"}, {"caller_nid": "$graphify-root$_gun_scripts_inspect_json_main", "callee": "add_argument", "is_member_call": true, "source_file": "gun/scripts/inspect_json.py", "source_location": "L109", "receiver": "parser"}, {"caller_nid": "$graphify-root$_gun_scripts_inspect_json_main", "callee": "int", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/inspect_json.py", "source_location": "L109"}, {"caller_nid": "$graphify-root$_gun_scripts_inspect_json_main", "callee": "add_argument", "is_member_call": true, "source_file": "gun/scripts/inspect_json.py", "source_location": "L110", "receiver": "parser"}, {"caller_nid": "$graphify-root$_gun_scripts_inspect_json_main", "callee": "add_argument", "is_member_call": true, "source_file": "gun/scripts/inspect_json.py", "source_location": "L111", "receiver": "parser"}, {"caller_nid": "$graphify-root$_gun_scripts_inspect_json_main", "callee": "parse_args", "is_member_call": true, "source_file": "gun/scripts/inspect_json.py", "source_location": "L112", "receiver": "parser"}, {"caller_nid": "$graphify-root$_gun_scripts_inspect_json_main", "callee": "Path", "is_member_call": false, "source_file": "gun/scripts/inspect_json.py", "source_location": "L114", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_inspect_json_main", "callee": "exists", "is_member_call": true, "source_file": "gun/scripts/inspect_json.py", "source_location": "L115", "receiver": "path"}, {"caller_nid": "$graphify-root$_gun_scripts_inspect_json_main", "callee": "exit", "is_member_call": true, "source_file": "gun/scripts/inspect_json.py", "source_location": "L116", "receiver": "sys"}, {"caller_nid": "$graphify-root$_gun_scripts_inspect_json_main", "callee": "stat", "is_member_call": true, "source_file": "gun/scripts/inspect_json.py", "source_location": "L118", "receiver": "path"}, {"caller_nid": "$graphify-root$_gun_scripts_inspect_json_main", "callee": "load", "is_member_call": true, "source_file": "gun/scripts/inspect_json.py", "source_location": "L121", "receiver": "json"}, {"caller_nid": "$graphify-root$_gun_scripts_inspect_json_main", "callee": "f", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/inspect_json.py", "source_location": "L121"}, {"caller_nid": "$graphify-root$_gun_scripts_inspect_json_main", "callee": "exit", "is_member_call": true, "source_file": "gun/scripts/inspect_json.py", "source_location": "L123", "receiver": "sys"}, {"caller_nid": "$graphify-root$_gun_scripts_inspect_json_main", "callee": "str", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/inspect_json.py", "source_location": "L127"}, {"caller_nid": "$graphify-root$_gun_scripts_inspect_json_main", "callee": "startswith", "is_member_call": true, "source_file": "gun/scripts/inspect_json.py", "source_location": "L127", "receiver": "target"}, {"caller_nid": "$graphify-root$_gun_scripts_inspect_json_main", "callee": "exit", "is_member_call": true, "source_file": "gun/scripts/inspect_json.py", "source_location": "L128", "receiver": "sys"}, {"caller_nid": "$graphify-root$_gun_scripts_inspect_json_main", "callee": "dict", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/inspect_json.py", "source_location": "L149"}, {"caller_nid": "$graphify-root$_gun_scripts_inspect_json_main", "callee": "keys", "is_member_call": true, "source_file": "gun/scripts/inspect_json.py", "source_location": "L150", "receiver": "target"}, {"caller_nid": "$graphify-root$_gun_scripts_inspect_json_main", "callee": "items", "is_member_call": true, "source_file": "gun/scripts/inspect_json.py", "source_location": "L151", "receiver": "target"}, {"caller_nid": "$graphify-root$_gun_scripts_inspect_json_main", "callee": "list", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/inspect_json.py", "source_location": "L153"}, {"caller_nid": "$graphify-root$_gun_scripts_inspect_json_main", "callee": "list", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/inspect_json.py", "source_location": "L157"}, {"caller_nid": "$graphify-root$_gun_scripts_inspect_json_main", "callee": "dict", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/inspect_json.py", "source_location": "L161"}, {"caller_nid": "$graphify-root$_gun_scripts_inspect_json_main", "callee": "items", "is_member_call": true, "source_file": "gun/scripts/inspect_json.py", "source_location": "L162", "receiver": "item"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/25b87debaeb3bd26e7968184f701deca25d00a7b765386a316ecc91323be3864.json b/graphify-out/cache/ast/v0.9.31/25b87debaeb3bd26e7968184f701deca25d00a7b765386a316ecc91323be3864.json new file mode 100644 index 0000000..b22c9ab --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/25b87debaeb3bd26e7968184f701deca25d00a7b765386a316ecc91323be3864.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_src_scoring_bonus_engine_py", "label": "bonus_engine.py", "file_type": "code", "source_file": "src/scoring/bonus_engine.py", "source_location": "L1"}, {"id": "$graphify-root$_src_scoring_bonus_engine_bonusresult", "label": "BonusResult", "file_type": "code", "source_file": "src/scoring/bonus_engine.py", "source_location": "L23", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_src_scoring_bonus_engine_placecoord", "label": "_PlaceCoord", "file_type": "code", "source_file": "src/scoring/bonus_engine.py", "source_location": "L34", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_src_scoring_bonus_engine_bonusengine", "label": "BonusEngine", "file_type": "code", "source_file": "src/scoring/bonus_engine.py", "source_location": "L39", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_src_scoring_bonus_engine_bonusengine_init", "label": ".__init__()", "file_type": "code", "source_file": "src/scoring/bonus_engine.py", "source_location": "L46", "_callable": true}, {"id": "$graphify-root$_src_scoring_bonus_engine_bonusengine_from_dataset", "label": ".from_dataset()", "file_type": "code", "source_file": "src/scoring/bonus_engine.py", "source_location": "L55", "_callable": true}, {"id": "path", "label": "Path", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/scoring/bonus_engine.py"}, {"id": "$graphify-root$_src_scoring_bonus_engine_bonusengine_compute", "label": ".compute()", "file_type": "code", "source_file": "src/scoring/bonus_engine.py", "source_location": "L82", "_callable": true}, {"id": "poi", "label": "POI", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/scoring/bonus_engine.py"}, {"id": "$graphify-root$_src_scoring_bonus_engine_nearest_km", "label": "_nearest_km()", "file_type": "code", "source_file": "src/scoring/bonus_engine.py", "source_location": "L134", "_callable": true}, {"id": "$graphify-root$_src_scoring_bonus_engine_rationale_1", "label": "\uac00\uc0b0\uc810 \uc5d4\uc9c4 \u2014 \uc6f0\ub2c8\uc2a4\u00b7\ubb34\uc7a5\uc560 \uc5ec\ud589\uc9c0 \ubc29\ubb38 \ubcf4\ub108\uc2a4.", "file_type": "rationale", "source_file": "src/scoring/bonus_engine.py", "source_location": "L1"}, {"id": "$graphify-root$_src_scoring_bonus_engine_rationale_40", "label": "\uc6f0\ub2c8\uc2a4\u00b7\ubb34\uc7a5\uc560 \uc7a5\uc18c \ub370\uc774\ud130\uc14b \uae30\ubc18 \uac00\uc0b0\uc810 \uacc4\uc0b0\uae30. from_dataset() \ub85c JSON \ub370\uc774\ud130\uc14b\uc744 \ub85c\ub4dc\ud558\uc5ec \uc778\uc2a4\ud134\uc2a4 \uc0dd\uc131. External\u2026", "file_type": "rationale", "source_file": "src/scoring/bonus_engine.py", "source_location": "L40"}, {"id": "$graphify-root$_src_scoring_bonus_engine_rationale_60", "label": "\ub85c\uceec JSON \ub370\uc774\ud130\uc14b\uc5d0\uc11c \ub85c\ub4dc. \ud30c\uc77c \uc5c6\uc73c\uba74 \ube48 \uc5d4\uc9c4 \ubc18\ud658.", "file_type": "rationale", "source_file": "src/scoring/bonus_engine.py", "source_location": "L60"}, {"id": "$graphify-root$_src_scoring_bonus_engine_rationale_88", "label": "POI \ubaa9\ub85d\uc5d0\uc11c \uac00\uc0b0\uc810 \uacc4\uc0b0. - \uc6f0\ub2c8\uc2a4 \uc7a5\uc18c: \ubaa8\ub4e0 party_type\uc5d0 \uc801\uc6a9. - \ubb34\uc7a5\uc560 \uc7a5\uc18c:\u2026", "file_type": "rationale", "source_file": "src/scoring/bonus_engine.py", "source_location": "L88"}, {"id": "$graphify-root$_src_scoring_bonus_engine_rationale_135", "label": "POI\uc640 \uac00\uc7a5 \uac00\uae4c\uc6b4 \uc88c\ud45c\uae4c\uc9c0\uc758 \uac70\ub9ac(km). coords\uac00 \ube44\uc5b4\uc788\uc73c\uba74 inf \ubc18\ud658.", "file_type": "rationale", "source_file": "src/scoring/bonus_engine.py", "source_location": "L135"}], "edges": [{"source": "$graphify-root$_src_scoring_bonus_engine_py", "target": "json", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/scoring/bonus_engine.py", "source_location": "L4", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_bonus_engine_py", "target": "dataclasses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/scoring/bonus_engine.py", "source_location": "L5", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_bonus_engine_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/scoring/bonus_engine.py", "source_location": "L6", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_bonus_engine_py", "target": "src_data_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/scoring/bonus_engine.py", "source_location": "L8", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_bonus_engine_py", "target": "src_utils_geo", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/scoring/bonus_engine.py", "source_location": "L9", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_bonus_engine_py", "target": "$graphify-root$_src_scoring_bonus_engine_bonusresult", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/scoring/bonus_engine.py", "source_location": "L23", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_bonus_engine_py", "target": "$graphify-root$_src_scoring_bonus_engine_placecoord", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/scoring/bonus_engine.py", "source_location": "L34", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_bonus_engine_py", "target": "$graphify-root$_src_scoring_bonus_engine_bonusengine", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/scoring/bonus_engine.py", "source_location": "L39", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_bonus_engine_bonusengine", "target": "$graphify-root$_src_scoring_bonus_engine_bonusengine_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/scoring/bonus_engine.py", "source_location": "L46", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_bonus_engine_bonusengine_init", "target": "$graphify-root$_src_scoring_bonus_engine_placecoord", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/scoring/bonus_engine.py", "source_location": "L46", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_bonus_engine_bonusengine_init", "target": "$graphify-root$_src_scoring_bonus_engine_placecoord", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/scoring/bonus_engine.py", "source_location": "L46", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_bonus_engine_bonusengine", "target": "$graphify-root$_src_scoring_bonus_engine_bonusengine_from_dataset", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/scoring/bonus_engine.py", "source_location": "L55", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_bonus_engine_bonusengine_from_dataset", "target": "path", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/scoring/bonus_engine.py", "source_location": "L55", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_bonus_engine_bonusengine_from_dataset", "target": "path", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/scoring/bonus_engine.py", "source_location": "L55", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_bonus_engine_bonusengine", "target": "$graphify-root$_src_scoring_bonus_engine_bonusengine_compute", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/scoring/bonus_engine.py", "source_location": "L82", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_bonus_engine_bonusengine_compute", "target": "poi", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/scoring/bonus_engine.py", "source_location": "L82", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_bonus_engine_bonusengine_compute", "target": "$graphify-root$_src_scoring_bonus_engine_bonusresult", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "src/scoring/bonus_engine.py", "source_location": "L82", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_bonus_engine_py", "target": "$graphify-root$_src_scoring_bonus_engine_nearest_km", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/scoring/bonus_engine.py", "source_location": "L134", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_bonus_engine_nearest_km", "target": "poi", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/scoring/bonus_engine.py", "source_location": "L134", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_bonus_engine_nearest_km", "target": "$graphify-root$_src_scoring_bonus_engine_placecoord", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/scoring/bonus_engine.py", "source_location": "L134", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_bonus_engine_bonusengine_from_dataset", "target": "path", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/scoring/bonus_engine.py", "source_location": "L64", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_bonus_engine_bonusengine_from_dataset", "target": "$graphify-root$_src_scoring_bonus_engine_placecoord", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/scoring/bonus_engine.py", "source_location": "L70", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_bonus_engine_bonusengine_compute", "target": "$graphify-root$_src_scoring_bonus_engine_nearest_km", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/scoring/bonus_engine.py", "source_location": "L100", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_bonus_engine_bonusengine_compute", "target": "$graphify-root$_src_scoring_bonus_engine_bonusresult", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/scoring/bonus_engine.py", "source_location": "L123", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_bonus_engine_rationale_1", "target": "$graphify-root$_src_scoring_bonus_engine_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/scoring/bonus_engine.py", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_bonus_engine_rationale_40", "target": "$graphify-root$_src_scoring_bonus_engine_bonusengine", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/scoring/bonus_engine.py", "source_location": "L40", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_bonus_engine_rationale_60", "target": "$graphify-root$_src_scoring_bonus_engine_bonusengine_from_dataset", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/scoring/bonus_engine.py", "source_location": "L60", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_bonus_engine_rationale_88", "target": "$graphify-root$_src_scoring_bonus_engine_bonusengine_compute", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/scoring/bonus_engine.py", "source_location": "L88", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_bonus_engine_rationale_135", "target": "$graphify-root$_src_scoring_bonus_engine_nearest_km", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/scoring/bonus_engine.py", "source_location": "L135", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_src_scoring_bonus_engine_bonusengine_from_dataset", "callee": "exists", "is_member_call": true, "source_file": "src/scoring/bonus_engine.py", "source_location": "L65", "receiver": "wp"}, {"caller_nid": "$graphify-root$_src_scoring_bonus_engine_bonusengine_from_dataset", "callee": "loads", "is_member_call": true, "source_file": "src/scoring/bonus_engine.py", "source_location": "L66", "receiver": "json"}, {"caller_nid": "$graphify-root$_src_scoring_bonus_engine_bonusengine_from_dataset", "callee": "read_text", "is_member_call": true, "source_file": "src/scoring/bonus_engine.py", "source_location": "L66", "receiver": "wp"}, {"caller_nid": "$graphify-root$_src_scoring_bonus_engine_bonusengine_from_dataset", "callee": "get", "is_member_call": true, "source_file": "src/scoring/bonus_engine.py", "source_location": "L67", "receiver": "item"}, {"caller_nid": "$graphify-root$_src_scoring_bonus_engine_bonusengine_from_dataset", "callee": "get", "is_member_call": true, "source_file": "src/scoring/bonus_engine.py", "source_location": "L68", "receiver": "item"}, {"caller_nid": "$graphify-root$_src_scoring_bonus_engine_bonusengine_from_dataset", "callee": "append", "is_member_call": true, "source_file": "src/scoring/bonus_engine.py", "source_location": "L70", "receiver": "wellness"}, {"caller_nid": "$graphify-root$_src_scoring_bonus_engine_bonusengine_from_dataset", "callee": "exists", "is_member_call": true, "source_file": "src/scoring/bonus_engine.py", "source_location": "L73", "receiver": "bp"}, {"caller_nid": "$graphify-root$_src_scoring_bonus_engine_bonusengine_from_dataset", "callee": "loads", "is_member_call": true, "source_file": "src/scoring/bonus_engine.py", "source_location": "L74", "receiver": "json"}, {"caller_nid": "$graphify-root$_src_scoring_bonus_engine_bonusengine_from_dataset", "callee": "read_text", "is_member_call": true, "source_file": "src/scoring/bonus_engine.py", "source_location": "L74", "receiver": "bp"}, {"caller_nid": "$graphify-root$_src_scoring_bonus_engine_bonusengine_from_dataset", "callee": "get", "is_member_call": true, "source_file": "src/scoring/bonus_engine.py", "source_location": "L75", "receiver": "item"}, {"caller_nid": "$graphify-root$_src_scoring_bonus_engine_bonusengine_from_dataset", "callee": "get", "is_member_call": true, "source_file": "src/scoring/bonus_engine.py", "source_location": "L76", "receiver": "item"}, {"caller_nid": "$graphify-root$_src_scoring_bonus_engine_bonusengine_from_dataset", "callee": "append", "is_member_call": true, "source_file": "src/scoring/bonus_engine.py", "source_location": "L78", "receiver": "barrier_free"}, {"caller_nid": "$graphify-root$_src_scoring_bonus_engine_bonusengine_from_dataset", "callee": "cls", "is_member_call": false, "source_file": "src/scoring/bonus_engine.py", "source_location": "L80", "receiver": null}, {"caller_nid": "$graphify-root$_src_scoring_bonus_engine_bonusengine_compute", "callee": "append", "is_member_call": true, "source_file": "src/scoring/bonus_engine.py", "source_location": "L101", "receiver": "wellness_matched"}, {"caller_nid": "$graphify-root$_src_scoring_bonus_engine_bonusengine_compute", "callee": "append", "is_member_call": true, "source_file": "src/scoring/bonus_engine.py", "source_location": "L106", "receiver": "accessibility_matched"}, {"caller_nid": "$graphify-root$_src_scoring_bonus_engine_bonusengine_compute", "callee": "append", "is_member_call": true, "source_file": "src/scoring/bonus_engine.py", "source_location": "L108", "receiver": "pet_friendly_matched"}, {"caller_nid": "$graphify-root$_src_scoring_bonus_engine_bonusengine_compute", "callee": "BONUS_CAP", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "src/scoring/bonus_engine.py", "source_location": "L111"}, {"caller_nid": "$graphify-root$_src_scoring_bonus_engine_bonusengine_compute", "callee": "BONUS_CAP", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "src/scoring/bonus_engine.py", "source_location": "L114"}, {"caller_nid": "$graphify-root$_src_scoring_bonus_engine_bonusengine_compute", "callee": "BONUS_CAP", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "src/scoring/bonus_engine.py", "source_location": "L117"}, {"caller_nid": "$graphify-root$_src_scoring_bonus_engine_bonusengine_compute", "callee": "BONUS_CAP", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "src/scoring/bonus_engine.py", "source_location": "L120"}, {"caller_nid": "$graphify-root$_src_scoring_bonus_engine_nearest_km", "callee": "haversine_km", "is_member_call": false, "source_file": "src/scoring/bonus_engine.py", "source_location": "L138", "receiver": null}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/2654b4fea9fb08f631e2a9864c6a8dea8789361be229c10db1d65202bc033fd0.json b/graphify-out/cache/ast/v0.9.31/2654b4fea9fb08f631e2a9864c6a8dea8789361be229c10db1d65202bc033fd0.json new file mode 100644 index 0000000..5ce7ae7 --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/2654b4fea9fb08f631e2a9864c6a8dea8789361be229c10db1d65202bc033fd0.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_scripts_geocode_jeju_missing_coords_py", "label": "geocode_jeju_missing_coords.py", "file_type": "code", "source_file": "scripts/geocode_jeju_missing_coords.py", "source_location": "L1"}, {"id": "$graphify-root$_scripts_geocode_jeju_missing_coords_main", "label": "main()", "file_type": "code", "source_file": "scripts/geocode_jeju_missing_coords.py", "source_location": "L28", "_callable": true}], "edges": [{"source": "$graphify-root$_scripts_geocode_jeju_missing_coords_py", "target": "shutil", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/geocode_jeju_missing_coords.py", "source_location": "L10", "weight": 1.0}, {"source": "$graphify-root$_scripts_geocode_jeju_missing_coords_py", "target": "sys", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/geocode_jeju_missing_coords.py", "source_location": "L11", "weight": 1.0}, {"source": "$graphify-root$_scripts_geocode_jeju_missing_coords_py", "target": "time", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/geocode_jeju_missing_coords.py", "source_location": "L12", "weight": 1.0}, {"source": "$graphify-root$_scripts_geocode_jeju_missing_coords_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/geocode_jeju_missing_coords.py", "source_location": "L13", "weight": 1.0}, {"source": "$graphify-root$_scripts_geocode_jeju_missing_coords_py", "target": "openpyxl", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/geocode_jeju_missing_coords.py", "source_location": "L15", "weight": 1.0}, {"source": "$graphify-root$_scripts_geocode_jeju_missing_coords_py", "target": "dotenv", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/geocode_jeju_missing_coords.py", "source_location": "L16", "weight": 1.0}, {"source": "$graphify-root$_scripts_geocode_jeju_missing_coords_py", "target": "src_data_kakao_local", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/geocode_jeju_missing_coords.py", "source_location": "L22", "weight": 1.0}, {"source": "$graphify-root$_scripts_geocode_jeju_missing_coords_py", "target": "$graphify-root$_scripts_geocode_jeju_missing_coords_main", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/geocode_jeju_missing_coords.py", "source_location": "L28", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_scripts_geocode_jeju_missing_coords_main", "callee": "exists", "is_member_call": true, "source_file": "scripts/geocode_jeju_missing_coords.py", "source_location": "L29", "receiver": "XLSX_PATH"}, {"caller_nid": "$graphify-root$_scripts_geocode_jeju_missing_coords_main", "callee": "SystemExit", "is_member_call": false, "source_file": "scripts/geocode_jeju_missing_coords.py", "source_location": "L30", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_geocode_jeju_missing_coords_main", "callee": "from_env", "is_member_call": true, "source_file": "scripts/geocode_jeju_missing_coords.py", "source_location": "L32", "receiver": "KakaoLocalClient"}, {"caller_nid": "$graphify-root$_scripts_geocode_jeju_missing_coords_main", "callee": "SystemExit", "is_member_call": false, "source_file": "scripts/geocode_jeju_missing_coords.py", "source_location": "L34", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_geocode_jeju_missing_coords_main", "callee": "with_suffix", "is_member_call": true, "source_file": "scripts/geocode_jeju_missing_coords.py", "source_location": "L36", "receiver": "XLSX_PATH"}, {"caller_nid": "$graphify-root$_scripts_geocode_jeju_missing_coords_main", "callee": "copy2", "is_member_call": true, "source_file": "scripts/geocode_jeju_missing_coords.py", "source_location": "L37", "receiver": "shutil"}, {"caller_nid": "$graphify-root$_scripts_geocode_jeju_missing_coords_main", "callee": "XLSX_PATH", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/geocode_jeju_missing_coords.py", "source_location": "L37"}, {"caller_nid": "$graphify-root$_scripts_geocode_jeju_missing_coords_main", "callee": "load_workbook", "is_member_call": true, "source_file": "scripts/geocode_jeju_missing_coords.py", "source_location": "L40", "receiver": "openpyxl"}, {"caller_nid": "$graphify-root$_scripts_geocode_jeju_missing_coords_main", "callee": "XLSX_PATH", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/geocode_jeju_missing_coords.py", "source_location": "L40"}, {"caller_nid": "$graphify-root$_scripts_geocode_jeju_missing_coords_main", "callee": "iter_rows", "is_member_call": true, "source_file": "scripts/geocode_jeju_missing_coords.py", "source_location": "L42", "receiver": "ws"}, {"caller_nid": "$graphify-root$_scripts_geocode_jeju_missing_coords_main", "callee": "iter_rows", "is_member_call": true, "source_file": "scripts/geocode_jeju_missing_coords.py", "source_location": "L49", "receiver": "ws"}, {"caller_nid": "$graphify-root$_scripts_geocode_jeju_missing_coords_main", "callee": "geocode_address", "is_member_call": true, "source_file": "scripts/geocode_jeju_missing_coords.py", "source_location": "L63", "receiver": "client"}, {"caller_nid": "$graphify-root$_scripts_geocode_jeju_missing_coords_main", "callee": "search_keyword", "is_member_call": true, "source_file": "scripts/geocode_jeju_missing_coords.py", "source_location": "L66", "receiver": "client"}, {"caller_nid": "$graphify-root$_scripts_geocode_jeju_missing_coords_main", "callee": "search_keyword", "is_member_call": true, "source_file": "scripts/geocode_jeju_missing_coords.py", "source_location": "L66", "receiver": "client"}, {"caller_nid": "$graphify-root$_scripts_geocode_jeju_missing_coords_main", "callee": "append", "is_member_call": true, "source_file": "scripts/geocode_jeju_missing_coords.py", "source_location": "L79", "receiver": "still_missing"}, {"caller_nid": "$graphify-root$_scripts_geocode_jeju_missing_coords_main", "callee": "sleep", "is_member_call": true, "source_file": "scripts/geocode_jeju_missing_coords.py", "source_location": "L83", "receiver": "time"}, {"caller_nid": "$graphify-root$_scripts_geocode_jeju_missing_coords_main", "callee": "save", "is_member_call": true, "source_file": "scripts/geocode_jeju_missing_coords.py", "source_location": "L85", "receiver": "wb"}, {"caller_nid": "$graphify-root$_scripts_geocode_jeju_missing_coords_main", "callee": "XLSX_PATH", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/geocode_jeju_missing_coords.py", "source_location": "L85"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/27ad0975d768033562e94d9a8e572dc7fc7c16032a0ac9c746f5f89e4297eb02.json b/graphify-out/cache/ast/v0.9.31/27ad0975d768033562e94d9a8e572dc7fc7c16032a0ac9c746f5f89e4297eb02.json new file mode 100644 index 0000000..c0f8b60 --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/27ad0975d768033562e94d9a8e572dc7fc7c16032a0ac9c746f5f89e4297eb02.json @@ -0,0 +1 @@ +{"nodes": [{"id": "pkg_travel_plan_validator", "label": "travel-plan-validator", "file_type": "code", "type": "package", "ecosystem": "python", "source_file": "pyproject.toml", "source_location": "L1", "version": "1.0.0"}], "edges": [{"source": "pkg_travel_plan_validator", "target": "pkg_fastapi", "relation": "depends_on", "context": "dependency", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "pyproject.toml", "source_location": "L1", "weight": 1.0}, {"source": "pkg_travel_plan_validator", "target": "pkg_uvicorn", "relation": "depends_on", "context": "dependency", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "pyproject.toml", "source_location": "L1", "weight": 1.0}, {"source": "pkg_travel_plan_validator", "target": "pkg_httpx", "relation": "depends_on", "context": "dependency", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "pyproject.toml", "source_location": "L1", "weight": 1.0}, {"source": "pkg_travel_plan_validator", "target": "pkg_pydantic", "relation": "depends_on", "context": "dependency", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "pyproject.toml", "source_location": "L1", "weight": 1.0}, {"source": "pkg_travel_plan_validator", "target": "pkg_pydantic_settings", "relation": "depends_on", "context": "dependency", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "pyproject.toml", "source_location": "L1", "weight": 1.0}, {"source": "pkg_travel_plan_validator", "target": "pkg_python_dotenv", "relation": "depends_on", "context": "dependency", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "pyproject.toml", "source_location": "L1", "weight": 1.0}, {"source": "pkg_travel_plan_validator", "target": "pkg_anthropic", "relation": "depends_on", "context": "dependency", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "pyproject.toml", "source_location": "L1", "weight": 1.0}, {"source": "pkg_travel_plan_validator", "target": "pkg_pandas", "relation": "depends_on", "context": "dependency", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "pyproject.toml", "source_location": "L1", "weight": 1.0}, {"source": "pkg_travel_plan_validator", "target": "pkg_pdfplumber", "relation": "depends_on", "context": "dependency", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "pyproject.toml", "source_location": "L1", "weight": 1.0}, {"source": "pkg_travel_plan_validator", "target": "pkg_tqdm", "relation": "depends_on", "context": "dependency", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "pyproject.toml", "source_location": "L1", "weight": 1.0}, {"source": "pkg_travel_plan_validator", "target": "pkg_openpyxl", "relation": "depends_on", "context": "dependency", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "pyproject.toml", "source_location": "L1", "weight": 1.0}, {"source": "pkg_travel_plan_validator", "target": "pkg_scipy", "relation": "depends_on", "context": "dependency", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "pyproject.toml", "source_location": "L1", "weight": 1.0}, {"source": "pkg_travel_plan_validator", "target": "pkg_neo4j", "relation": "depends_on", "context": "dependency", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "pyproject.toml", "source_location": "L1", "weight": 1.0}, {"source": "pkg_travel_plan_validator", "target": "pkg_python_multipart", "relation": "depends_on", "context": "dependency", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "pyproject.toml", "source_location": "L1", "weight": 1.0}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/2c496b5d9432610f4d41952bb0bc8cf11f33d56daf69c3b30c0ec6f14a0883ad.json b/graphify-out/cache/ast/v0.9.31/2c496b5d9432610f4d41952bb0bc8cf11f33d56daf69c3b30c0ec6f14a0883ad.json new file mode 100644 index 0000000..acb10c3 --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/2c496b5d9432610f4d41952bb0bc8cf11f33d56daf69c3b30c0ec6f14a0883ad.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_tests_test_reward_engine_py", "label": "test_reward_engine.py", "file_type": "code", "source_file": "tests/test_reward_engine.py", "source_location": "L1"}, {"id": "$graphify-root$_tests_test_reward_engine_scores", "label": "_scores()", "file_type": "code", "source_file": "tests/test_reward_engine.py", "source_location": "L10", "_callable": true}, {"id": "$graphify-root$_tests_test_reward_engine_testgeneraterewards", "label": "TestGenerateRewards", "file_type": "code", "source_file": "tests/test_reward_engine.py", "source_location": "L16", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_tests_test_reward_engine_testgeneraterewards_test_hard_fail_returns_empty", "label": ".test_hard_fail_returns_empty()", "file_type": "code", "source_file": "tests/test_reward_engine.py", "source_location": "L17", "_callable": true}, {"id": "$graphify-root$_tests_test_reward_engine_testgeneraterewards_test_excellent_flow_generates_message", "label": ".test_excellent_flow_generates_message()", "file_type": "code", "source_file": "tests/test_reward_engine.py", "source_location": "L27", "_callable": true}, {"id": "$graphify-root$_tests_test_reward_engine_testgeneraterewards_test_excellent_efficiency_generates_message", "label": ".test_excellent_efficiency_generates_message()", "file_type": "code", "source_file": "tests/test_reward_engine.py", "source_location": "L37", "_callable": true}, {"id": "$graphify-root$_tests_test_reward_engine_testgeneraterewards_test_low_travel_ratio_generates_message", "label": ".test_low_travel_ratio_generates_message()", "file_type": "code", "source_file": "tests/test_reward_engine.py", "source_location": "L47", "_callable": true}, {"id": "$graphify-root$_tests_test_reward_engine_testgeneraterewards_test_excellent_purpose_fit_generates_message", "label": ".test_excellent_purpose_fit_generates_message()", "file_type": "code", "source_file": "tests/test_reward_engine.py", "source_location": "L57", "_callable": true}, {"id": "$graphify-root$_tests_test_reward_engine_testgeneraterewards_test_no_warnings_generates_message", "label": ".test_no_warnings_generates_message()", "file_type": "code", "source_file": "tests/test_reward_engine.py", "source_location": "L67", "_callable": true}, {"id": "$graphify-root$_tests_test_reward_engine_testgeneraterewards_test_zero_cluster_penalty_generates_message", "label": ".test_zero_cluster_penalty_generates_message()", "file_type": "code", "source_file": "tests/test_reward_engine.py", "source_location": "L77", "_callable": true}, {"id": "$graphify-root$_tests_test_reward_engine_testgeneraterewards_test_perfect_plan_all_messages", "label": ".test_perfect_plan_all_messages()", "file_type": "code", "source_file": "tests/test_reward_engine.py", "source_location": "L87", "_callable": true}, {"id": "$graphify-root$_tests_test_reward_engine_testgeneraterewards_test_mediocre_plan_few_messages", "label": ".test_mediocre_plan_few_messages()", "file_type": "code", "source_file": "tests/test_reward_engine.py", "source_location": "L97", "_callable": true}], "edges": [{"source": "$graphify-root$_tests_test_reward_engine_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_reward_engine.py", "source_location": "L4", "weight": 1.0}, {"source": "$graphify-root$_tests_test_reward_engine_py", "target": "src_data_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_reward_engine.py", "source_location": "L6", "weight": 1.0}, {"source": "$graphify-root$_tests_test_reward_engine_py", "target": "src_scoring_reward_engine", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_reward_engine.py", "source_location": "L7", "weight": 1.0}, {"source": "$graphify-root$_tests_test_reward_engine_py", "target": "$graphify-root$_tests_test_reward_engine_scores", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_reward_engine.py", "source_location": "L10", "weight": 1.0}, {"source": "$graphify-root$_tests_test_reward_engine_py", "target": "$graphify-root$_tests_test_reward_engine_testgeneraterewards", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_reward_engine.py", "source_location": "L16", "weight": 1.0}, {"source": "$graphify-root$_tests_test_reward_engine_testgeneraterewards", "target": "$graphify-root$_tests_test_reward_engine_testgeneraterewards_test_hard_fail_returns_empty", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_reward_engine.py", "source_location": "L17", "weight": 1.0}, {"source": "$graphify-root$_tests_test_reward_engine_testgeneraterewards", "target": "$graphify-root$_tests_test_reward_engine_testgeneraterewards_test_excellent_flow_generates_message", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_reward_engine.py", "source_location": "L27", "weight": 1.0}, {"source": "$graphify-root$_tests_test_reward_engine_testgeneraterewards", "target": "$graphify-root$_tests_test_reward_engine_testgeneraterewards_test_excellent_efficiency_generates_message", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_reward_engine.py", "source_location": "L37", "weight": 1.0}, {"source": "$graphify-root$_tests_test_reward_engine_testgeneraterewards", "target": "$graphify-root$_tests_test_reward_engine_testgeneraterewards_test_low_travel_ratio_generates_message", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_reward_engine.py", "source_location": "L47", "weight": 1.0}, {"source": "$graphify-root$_tests_test_reward_engine_testgeneraterewards", "target": "$graphify-root$_tests_test_reward_engine_testgeneraterewards_test_excellent_purpose_fit_generates_message", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_reward_engine.py", "source_location": "L57", "weight": 1.0}, {"source": "$graphify-root$_tests_test_reward_engine_testgeneraterewards", "target": "$graphify-root$_tests_test_reward_engine_testgeneraterewards_test_no_warnings_generates_message", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_reward_engine.py", "source_location": "L67", "weight": 1.0}, {"source": "$graphify-root$_tests_test_reward_engine_testgeneraterewards", "target": "$graphify-root$_tests_test_reward_engine_testgeneraterewards_test_zero_cluster_penalty_generates_message", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_reward_engine.py", "source_location": "L77", "weight": 1.0}, {"source": "$graphify-root$_tests_test_reward_engine_testgeneraterewards", "target": "$graphify-root$_tests_test_reward_engine_testgeneraterewards_test_perfect_plan_all_messages", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_reward_engine.py", "source_location": "L87", "weight": 1.0}, {"source": "$graphify-root$_tests_test_reward_engine_testgeneraterewards", "target": "$graphify-root$_tests_test_reward_engine_testgeneraterewards_test_mediocre_plan_few_messages", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_reward_engine.py", "source_location": "L97", "weight": 1.0}, {"source": "$graphify-root$_tests_test_reward_engine_testgeneraterewards_test_hard_fail_returns_empty", "target": "$graphify-root$_tests_test_reward_engine_scores", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_reward_engine.py", "source_location": "L19", "weight": 1.0}, {"source": "$graphify-root$_tests_test_reward_engine_testgeneraterewards_test_excellent_flow_generates_message", "target": "$graphify-root$_tests_test_reward_engine_scores", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_reward_engine.py", "source_location": "L29", "weight": 1.0}, {"source": "$graphify-root$_tests_test_reward_engine_testgeneraterewards_test_excellent_efficiency_generates_message", "target": "$graphify-root$_tests_test_reward_engine_scores", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_reward_engine.py", "source_location": "L39", "weight": 1.0}, {"source": "$graphify-root$_tests_test_reward_engine_testgeneraterewards_test_low_travel_ratio_generates_message", "target": "$graphify-root$_tests_test_reward_engine_scores", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_reward_engine.py", "source_location": "L49", "weight": 1.0}, {"source": "$graphify-root$_tests_test_reward_engine_testgeneraterewards_test_excellent_purpose_fit_generates_message", "target": "$graphify-root$_tests_test_reward_engine_scores", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_reward_engine.py", "source_location": "L59", "weight": 1.0}, {"source": "$graphify-root$_tests_test_reward_engine_testgeneraterewards_test_no_warnings_generates_message", "target": "$graphify-root$_tests_test_reward_engine_scores", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_reward_engine.py", "source_location": "L69", "weight": 1.0}, {"source": "$graphify-root$_tests_test_reward_engine_testgeneraterewards_test_zero_cluster_penalty_generates_message", "target": "$graphify-root$_tests_test_reward_engine_scores", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_reward_engine.py", "source_location": "L79", "weight": 1.0}, {"source": "$graphify-root$_tests_test_reward_engine_testgeneraterewards_test_perfect_plan_all_messages", "target": "$graphify-root$_tests_test_reward_engine_scores", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_reward_engine.py", "source_location": "L89", "weight": 1.0}, {"source": "$graphify-root$_tests_test_reward_engine_testgeneraterewards_test_mediocre_plan_few_messages", "target": "$graphify-root$_tests_test_reward_engine_scores", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_reward_engine.py", "source_location": "L99", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_tests_test_reward_engine_scores", "callee": "update", "is_member_call": true, "source_file": "tests/test_reward_engine.py", "source_location": "L12", "receiver": "defaults"}, {"caller_nid": "$graphify-root$_tests_test_reward_engine_scores", "callee": "Scores", "is_member_call": false, "source_file": "tests/test_reward_engine.py", "source_location": "L13", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_reward_engine_testgeneraterewards_test_hard_fail_returns_empty", "callee": "generate_rewards", "is_member_call": false, "source_file": "tests/test_reward_engine.py", "source_location": "L18", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_reward_engine_testgeneraterewards_test_excellent_flow_generates_message", "callee": "generate_rewards", "is_member_call": false, "source_file": "tests/test_reward_engine.py", "source_location": "L28", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_reward_engine_testgeneraterewards_test_excellent_efficiency_generates_message", "callee": "generate_rewards", "is_member_call": false, "source_file": "tests/test_reward_engine.py", "source_location": "L38", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_reward_engine_testgeneraterewards_test_low_travel_ratio_generates_message", "callee": "generate_rewards", "is_member_call": false, "source_file": "tests/test_reward_engine.py", "source_location": "L48", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_reward_engine_testgeneraterewards_test_excellent_purpose_fit_generates_message", "callee": "generate_rewards", "is_member_call": false, "source_file": "tests/test_reward_engine.py", "source_location": "L58", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_reward_engine_testgeneraterewards_test_no_warnings_generates_message", "callee": "generate_rewards", "is_member_call": false, "source_file": "tests/test_reward_engine.py", "source_location": "L68", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_reward_engine_testgeneraterewards_test_zero_cluster_penalty_generates_message", "callee": "generate_rewards", "is_member_call": false, "source_file": "tests/test_reward_engine.py", "source_location": "L78", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_reward_engine_testgeneraterewards_test_perfect_plan_all_messages", "callee": "generate_rewards", "is_member_call": false, "source_file": "tests/test_reward_engine.py", "source_location": "L88", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_reward_engine_testgeneraterewards_test_mediocre_plan_few_messages", "callee": "generate_rewards", "is_member_call": false, "source_file": "tests/test_reward_engine.py", "source_location": "L98", "receiver": null}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/2c7301f16aafa872f7322bd07d375751d63e9748859fbe253ad73eb92b79cb8f.json b/graphify-out/cache/ast/v0.9.31/2c7301f16aafa872f7322bd07d375751d63e9748859fbe253ad73eb92b79cb8f.json new file mode 100644 index 0000000..a324dc6 --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/2c7301f16aafa872f7322bd07d375751d63e9748859fbe253ad73eb92b79cb8f.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_tests_test_restaurant_catalog_py", "label": "test_restaurant_catalog.py", "file_type": "code", "source_file": "tests/test_restaurant_catalog.py", "source_location": "L1"}, {"id": "$graphify-root$_tests_test_restaurant_catalog_catalog", "label": "_catalog()", "file_type": "code", "source_file": "tests/test_restaurant_catalog.py", "source_location": "L7", "_callable": true}, {"id": "restaurantcatalog", "label": "RestaurantCatalog", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/tests/test_restaurant_catalog.py"}, {"id": "$graphify-root$_tests_test_restaurant_catalog_test_nearby_returns_within_radius_sorted_by_distance", "label": "test_nearby_returns_within_radius_sorted_by_distance()", "file_type": "code", "source_file": "tests/test_restaurant_catalog.py", "source_location": "L15", "_callable": true}, {"id": "$graphify-root$_tests_test_restaurant_catalog_test_nearby_excludes_self", "label": "test_nearby_excludes_self()", "file_type": "code", "source_file": "tests/test_restaurant_catalog.py", "source_location": "L22", "_callable": true}, {"id": "$graphify-root$_tests_test_restaurant_catalog_test_nearby_empty_when_no_restaurants_in_radius", "label": "test_nearby_empty_when_no_restaurants_in_radius()", "file_type": "code", "source_file": "tests/test_restaurant_catalog.py", "source_location": "L27", "_callable": true}, {"id": "$graphify-root$_tests_test_restaurant_catalog_rationale_1", "label": "RestaurantCatalog \uc720\ub2db \ud14c\uc2a4\ud2b8 (\uc2e4\uc81c CSV I/O \uc5c6\uc74c \u2014 \uc778\uba54\ubaa8\ub9ac \ub370\uc774\ud130 \uc0ac\uc6a9).", "file_type": "rationale", "source_file": "tests/test_restaurant_catalog.py", "source_location": "L1"}], "edges": [{"source": "$graphify-root$_tests_test_restaurant_catalog_py", "target": "src_data_restaurant_catalog", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_restaurant_catalog.py", "source_location": "L4", "weight": 1.0}, {"source": "$graphify-root$_tests_test_restaurant_catalog_py", "target": "$graphify-root$_tests_test_restaurant_catalog_catalog", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_restaurant_catalog.py", "source_location": "L7", "weight": 1.0}, {"source": "$graphify-root$_tests_test_restaurant_catalog_catalog", "target": "restaurantcatalog", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "tests/test_restaurant_catalog.py", "source_location": "L7", "weight": 1.0}, {"source": "$graphify-root$_tests_test_restaurant_catalog_py", "target": "$graphify-root$_tests_test_restaurant_catalog_test_nearby_returns_within_radius_sorted_by_distance", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_restaurant_catalog.py", "source_location": "L15", "weight": 1.0}, {"source": "$graphify-root$_tests_test_restaurant_catalog_py", "target": "$graphify-root$_tests_test_restaurant_catalog_test_nearby_excludes_self", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_restaurant_catalog.py", "source_location": "L22", "weight": 1.0}, {"source": "$graphify-root$_tests_test_restaurant_catalog_py", "target": "$graphify-root$_tests_test_restaurant_catalog_test_nearby_empty_when_no_restaurants_in_radius", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_restaurant_catalog.py", "source_location": "L27", "weight": 1.0}, {"source": "$graphify-root$_tests_test_restaurant_catalog_catalog", "target": "restaurantcatalog", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_restaurant_catalog.py", "source_location": "L8", "weight": 1.0}, {"source": "$graphify-root$_tests_test_restaurant_catalog_test_nearby_returns_within_radius_sorted_by_distance", "target": "$graphify-root$_tests_test_restaurant_catalog_catalog", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_restaurant_catalog.py", "source_location": "L16", "weight": 1.0}, {"source": "$graphify-root$_tests_test_restaurant_catalog_test_nearby_excludes_self", "target": "$graphify-root$_tests_test_restaurant_catalog_catalog", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_restaurant_catalog.py", "source_location": "L23", "weight": 1.0}, {"source": "$graphify-root$_tests_test_restaurant_catalog_test_nearby_empty_when_no_restaurants_in_radius", "target": "restaurantcatalog", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_restaurant_catalog.py", "source_location": "L28", "weight": 1.0}, {"source": "$graphify-root$_tests_test_restaurant_catalog_rationale_1", "target": "$graphify-root$_tests_test_restaurant_catalog_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_restaurant_catalog.py", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_tests_test_restaurant_catalog_test_nearby_returns_within_radius_sorted_by_distance", "callee": "nearby", "is_member_call": true, "source_file": "tests/test_restaurant_catalog.py", "source_location": "L16", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_restaurant_catalog_test_nearby_excludes_self", "callee": "nearby", "is_member_call": true, "source_file": "tests/test_restaurant_catalog.py", "source_location": "L23", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_restaurant_catalog_test_nearby_empty_when_no_restaurants_in_radius", "callee": "nearby", "is_member_call": true, "source_file": "tests/test_restaurant_catalog.py", "source_location": "L29", "receiver": "catalog"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/2d8e22a201939a2bafec1809a59ad56c137e2b82647dd3b47161e6ca92603bb9.json b/graphify-out/cache/ast/v0.9.31/2d8e22a201939a2bafec1809a59ad56c137e2b82647dd3b47161e6ca92603bb9.json new file mode 100644 index 0000000..b6dc81a --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/2d8e22a201939a2bafec1809a59ad56c137e2b82647dd3b47161e6ca92603bb9.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_phases_0_setup_visualize_combined_py", "label": "visualize_combined.py", "file_type": "code", "source_file": "phases/0-setup/visualize_combined.py", "source_location": "L1"}, {"id": "$graphify-root$_phases_0_setup_visualize_combined_rationale_1", "label": "\ud2b8\ub9ac\ud50c + \uad6c\uc11d\uad6c\uc11d \ube44\uad50 \uc2dc\uac01\ud654 Figure 1: \ud2b8\ub9ac\ud50c \ub2e8\ub3c5 \ud488\uc9c8 \ub9ac\ud3ec\ud2b8 (triple_quality_report.png) Figure 2:\u2026", "file_type": "rationale", "source_file": "phases/0-setup/visualize_combined.py", "source_location": "L1"}], "edges": [{"source": "$graphify-root$_phases_0_setup_visualize_combined_py", "target": "json", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "phases/0-setup/visualize_combined.py", "source_location": "L6", "weight": 1.0}, {"source": "$graphify-root$_phases_0_setup_visualize_combined_py", "target": "matplotlib", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "phases/0-setup/visualize_combined.py", "source_location": "L7", "weight": 1.0}, {"source": "$graphify-root$_phases_0_setup_visualize_combined_py", "target": "matplotlib_pyplot", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "phases/0-setup/visualize_combined.py", "source_location": "L8", "weight": 1.0, "local_alias": "plt"}, {"source": "$graphify-root$_phases_0_setup_visualize_combined_py", "target": "matplotlib_patches", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "phases/0-setup/visualize_combined.py", "source_location": "L9", "weight": 1.0, "local_alias": "mpatches"}, {"source": "$graphify-root$_phases_0_setup_visualize_combined_py", "target": "numpy", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "phases/0-setup/visualize_combined.py", "source_location": "L10", "weight": 1.0, "local_alias": "np"}, {"source": "$graphify-root$_phases_0_setup_visualize_combined_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "phases/0-setup/visualize_combined.py", "source_location": "L11", "weight": 1.0}, {"source": "$graphify-root$_phases_0_setup_visualize_combined_py", "target": "collections", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "phases/0-setup/visualize_combined.py", "source_location": "L12", "weight": 1.0}, {"source": "$graphify-root$_phases_0_setup_visualize_combined_rationale_1", "target": "$graphify-root$_phases_0_setup_visualize_combined_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "phases/0-setup/visualize_combined.py", "source_location": "L1", "weight": 1.0}], "raw_calls": []} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/33c5fb364c349fc3e085e6093090a51ca7d2b4ff2f0a3c46660d9944971647f6.json b/graphify-out/cache/ast/v0.9.31/33c5fb364c349fc3e085e6093090a51ca7d2b4ff2f0a3c46660d9944971647f6.json new file mode 100644 index 0000000..b759ce1 --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/33c5fb364c349fc3e085e6093090a51ca7d2b4ff2f0a3c46660d9944971647f6.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_src_scoring_init_py", "label": "__init__.py", "file_type": "code", "source_file": "src/scoring/__init__.py", "source_location": "L1"}, {"id": "$graphify-root$_src_scoring_init_rationale_1", "label": "\ud488\uc9c8 \ud3c9\uac00 (Scoring) \ub808\uc774\uc5b4. VRPTW \uac80\uc99d\uc744 \ud1b5\uacfc\ud55c \uc77c\uc815\uc5d0 \ub300\ud574 \"\uc5bc\ub9c8\ub098 \uc88b\uc740 \uacbd\ub85c\uc778\uac00\" \ud3c9\uac00: - travel_ratio : \uc774\ub3d9\u2026", "file_type": "rationale", "source_file": "src/scoring/__init__.py", "source_location": "L1"}], "edges": [{"source": "$graphify-root$_src_scoring_init_rationale_1", "target": "$graphify-root$_src_scoring_init_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/scoring/__init__.py", "source_location": "L1", "weight": 1.0}], "raw_calls": []} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/3873598f4c623dc9fc625fdb2a5f14a8a89bb8d637bce5a39dba49eede4971f2.json b/graphify-out/cache/ast/v0.9.31/3873598f4c623dc9fc625fdb2a5f14a8a89bb8d637bce5a39dba49eede4971f2.json new file mode 100644 index 0000000..d79c314 --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/3873598f4c623dc9fc625fdb2a5f14a8a89bb8d637bce5a39dba49eede4971f2.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_tests_test_repair_py", "label": "test_repair.py", "file_type": "code", "source_file": "tests/test_repair.py", "source_location": "L1"}, {"id": "$graphify-root$_tests_test_repair_repairengine", "label": "RepairEngine()", "file_type": "code", "source_file": "tests/test_repair.py", "source_location": "L10", "_callable": true}, {"id": "restaurantcatalog", "label": "RestaurantCatalog", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/tests/test_repair.py"}, {"id": "repairengineclass", "label": "_RepairEngineClass", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/tests/test_repair.py"}, {"id": "$graphify-root$_tests_test_repair_poi", "label": "_poi()", "file_type": "code", "source_file": "tests/test_repair.py", "source_location": "L15", "_callable": true}, {"id": "$graphify-root$_tests_test_repair_plan", "label": "_plan()", "file_type": "code", "source_file": "tests/test_repair.py", "source_location": "L31", "_callable": true}, {"id": "itineraryplan", "label": "ItineraryPlan", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/tests/test_repair.py"}, {"id": "$graphify-root$_tests_test_repair_fail", "label": "_fail()", "file_type": "code", "source_file": "tests/test_repair.py", "source_location": "L42", "_callable": true}, {"id": "hardfail", "label": "HardFail", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/tests/test_repair.py"}, {"id": "$graphify-root$_tests_test_repair_testrepairenginenoop", "label": "TestRepairEngineNoop", "file_type": "code", "source_file": "tests/test_repair.py", "source_location": "L53", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_tests_test_repair_testrepairenginenoop_test_empty_when_no_hard_fails", "label": ".test_empty_when_no_hard_fails()", "file_type": "code", "source_file": "tests/test_repair.py", "source_location": "L54", "_callable": true}, {"id": "$graphify-root$_tests_test_repair_testrepairenginenoop_test_empty_when_pois_list_is_empty", "label": ".test_empty_when_pois_list_is_empty()", "file_type": "code", "source_file": "tests/test_repair.py", "source_location": "L60", "_callable": true}, {"id": "$graphify-root$_tests_test_repair_outlier_pois", "label": "_outlier_pois()", "file_type": "code", "source_file": "tests/test_repair.py", "source_location": "L74", "_callable": true}, {"id": "$graphify-root$_tests_test_repair_testdeletionsuggestion", "label": "TestDeletionSuggestion", "file_type": "code", "source_file": "tests/test_repair.py", "source_location": "L88", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_tests_test_repair_testdeletionsuggestion_test_identifies_geometric_outlier", "label": ".test_identifies_geometric_outlier()", "file_type": "code", "source_file": "tests/test_repair.py", "source_location": "L89", "_callable": true}, {"id": "$graphify-root$_tests_test_repair_testdeletionsuggestion_test_outlier_deletion_has_positive_savings", "label": ".test_outlier_deletion_has_positive_savings()", "file_type": "code", "source_file": "tests/test_repair.py", "source_location": "L97", "_callable": true}, {"id": "$graphify-root$_tests_test_repair_testdeletionsuggestion_test_no_deletion_for_two_pois", "label": ".test_no_deletion_for_two_pois()", "file_type": "code", "source_file": "tests/test_repair.py", "source_location": "L104", "_callable": true}, {"id": "$graphify-root$_tests_test_repair_testdeletionsuggestion_test_deletion_reason_mentions_candidate", "label": ".test_deletion_reason_mentions_candidate()", "file_type": "code", "source_file": "tests/test_repair.py", "source_location": "L110", "_callable": true}, {"id": "$graphify-root$_tests_test_repair_testdeletionsuggestion_test_deletion_recommends_nearby_restaurant_when_available", "label": ".test_deletion_recommends_nearby_restaurant_when_available()", "file_type": "code", "source_file": "tests/test_repair.py", "source_location": "L117", "_callable": true}, {"id": "$graphify-root$_tests_test_repair_testdeletionsuggestion_test_deletion_explains_when_no_restaurant_nearby", "label": ".test_deletion_explains_when_no_restaurant_nearby()", "file_type": "code", "source_file": "tests/test_repair.py", "source_location": "L127", "_callable": true}, {"id": "$graphify-root$_tests_test_repair_testtimetunesuggestion", "label": "TestTimeTuneSuggestion", "file_type": "code", "source_file": "tests/test_repair.py", "source_location": "L140", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_tests_test_repair_testtimetunesuggestion_test_no_tune_when_within_limit", "label": ".test_no_tune_when_within_limit()", "file_type": "code", "source_file": "tests/test_repair.py", "source_location": "L141", "_callable": true}, {"id": "$graphify-root$_tests_test_repair_testtimetunesuggestion_test_tune_suggested_when_over_limit", "label": ".test_tune_suggested_when_over_limit()", "file_type": "code", "source_file": "tests/test_repair.py", "source_location": "L149", "_callable": true}, {"id": "$graphify-root$_tests_test_repair_testtimetunesuggestion_test_adjusted_durations_above_minimum", "label": ".test_adjusted_durations_above_minimum()", "file_type": "code", "source_file": "tests/test_repair.py", "source_location": "L158", "_callable": true}, {"id": "$graphify-root$_tests_test_repair_testresultmodel", "label": "TestResultModel", "file_type": "code", "source_file": "tests/test_repair.py", "source_location": "L173", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_tests_test_repair_testresultmodel_test_to_dict_is_serializable", "label": ".test_to_dict_is_serializable()", "file_type": "code", "source_file": "tests/test_repair.py", "source_location": "L174", "_callable": true}, {"id": "$graphify-root$_tests_test_repair_testresultmodel_test_is_empty_true_when_no_suggestions", "label": ".test_is_empty_true_when_no_suggestions()", "file_type": "code", "source_file": "tests/test_repair.py", "source_location": "L182", "_callable": true}, {"id": "$graphify-root$_tests_test_repair_testresultmodel_test_is_empty_false_when_has_deletion", "label": ".test_is_empty_false_when_has_deletion()", "file_type": "code", "source_file": "tests/test_repair.py", "source_location": "L188", "_callable": true}, {"id": "$graphify-root$_tests_test_repair_testtotalestimatedgain", "label": "TestTotalEstimatedGain", "file_type": "code", "source_file": "tests/test_repair.py", "source_location": "L199", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_tests_test_repair_testtotalestimatedgain_test_sums_across_different_days", "label": ".test_sums_across_different_days()", "file_type": "code", "source_file": "tests/test_repair.py", "source_location": "L200", "_callable": true}, {"id": "$graphify-root$_tests_test_repair_testtotalestimatedgain_test_takes_max_of_alternatives_on_same_day", "label": ".test_takes_max_of_alternatives_on_same_day()", "file_type": "code", "source_file": "tests/test_repair.py", "source_location": "L207", "_callable": true}, {"id": "$graphify-root$_tests_test_repair_testtotalestimatedgain_test_zero_when_empty", "label": ".test_zero_when_empty()", "file_type": "code", "source_file": "tests/test_repair.py", "source_location": "L214", "_callable": true}, {"id": "$graphify-root$_tests_test_repair_testtotalestimatedgain_test_included_in_to_dict", "label": ".test_included_in_to_dict()", "file_type": "code", "source_file": "tests/test_repair.py", "source_location": "L217", "_callable": true}, {"id": "$graphify-root$_tests_test_repair_rationale_11", "label": "\ud14c\uc2a4\ud2b8 \uc804\uc6a9 \ud329\ud1a0\ub9ac \u2014 \ube48 \uce74\ud0c8\ub85c\uadf8\ub97c \uae30\ubcf8\uac12\uc73c\ub85c \uc368\uc11c \uc2e4\uc81c CSV I/O\ub97c \ud53c\ud55c\ub2e4.", "file_type": "rationale", "source_file": "tests/test_repair.py", "source_location": "L11"}, {"id": "$graphify-root$_tests_test_repair_rationale_75", "label": "8\uac1c POI \u2014 D(lat=38.5)\uac00 A-C, E-H(lat=37.5) \uc0ac\uc774\uc758 \uc9c0\ub9ac\uc801 \uc774\uc0c1\uce58.", "file_type": "rationale", "source_file": "tests/test_repair.py", "source_location": "L75"}, {"id": "$graphify-root$_tests_test_repair_rationale_142", "label": "\uce5c\uad6c(720min) \uae30\uc900, \ucd1d 120min \u2192 \uc870\uc815 \ubd88\ud544\uc694.", "file_type": "rationale", "source_file": "tests/test_repair.py", "source_location": "L142"}, {"id": "$graphify-root$_tests_test_repair_rationale_150", "label": "5 \u00d7 200min = 1000min > 720min \u2192 \ud29c\ub2dd \ud544\uc694.", "file_type": "rationale", "source_file": "tests/test_repair.py", "source_location": "L150"}, {"id": "$graphify-root$_tests_test_repair_rationale_159", "label": "\uc870\uc815 \ud6c4 duration\uc774 \uc808\ub300 \ucd5c\uc19f\uac12(20\ubd84) \uc774\uc0c1 \ubcf4\uc7a5.", "file_type": "rationale", "source_file": "tests/test_repair.py", "source_location": "L159"}], "edges": [{"source": "$graphify-root$_tests_test_repair_py", "target": "src_data_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L4", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_py", "target": "src_data_restaurant_catalog", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L5", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_py", "target": "src_explain_repair", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L6", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_py", "target": "src_explain_repair", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L7", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_py", "target": "$graphify-root$_tests_test_repair_repairengine", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L10", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_repairengine", "target": "restaurantcatalog", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L10", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_repairengine", "target": "repairengineclass", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L10", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_py", "target": "$graphify-root$_tests_test_repair_poi", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L15", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_py", "target": "$graphify-root$_tests_test_repair_plan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L31", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_plan", "target": "itineraryplan", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L31", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_py", "target": "$graphify-root$_tests_test_repair_fail", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L42", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_fail", "target": "hardfail", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L42", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_py", "target": "$graphify-root$_tests_test_repair_testrepairenginenoop", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L53", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_testrepairenginenoop", "target": "$graphify-root$_tests_test_repair_testrepairenginenoop_test_empty_when_no_hard_fails", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L54", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_testrepairenginenoop", "target": "$graphify-root$_tests_test_repair_testrepairenginenoop_test_empty_when_pois_list_is_empty", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L60", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_py", "target": "$graphify-root$_tests_test_repair_outlier_pois", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L74", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_outlier_pois", "target": "$graphify-root$_tests_test_repair_poi", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L74", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_py", "target": "$graphify-root$_tests_test_repair_testdeletionsuggestion", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L88", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_testdeletionsuggestion", "target": "$graphify-root$_tests_test_repair_testdeletionsuggestion_test_identifies_geometric_outlier", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L89", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_testdeletionsuggestion", "target": "$graphify-root$_tests_test_repair_testdeletionsuggestion_test_outlier_deletion_has_positive_savings", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L97", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_testdeletionsuggestion", "target": "$graphify-root$_tests_test_repair_testdeletionsuggestion_test_no_deletion_for_two_pois", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L104", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_testdeletionsuggestion", "target": "$graphify-root$_tests_test_repair_testdeletionsuggestion_test_deletion_reason_mentions_candidate", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L110", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_testdeletionsuggestion", "target": "$graphify-root$_tests_test_repair_testdeletionsuggestion_test_deletion_recommends_nearby_restaurant_when_available", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L117", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_testdeletionsuggestion", "target": "$graphify-root$_tests_test_repair_testdeletionsuggestion_test_deletion_explains_when_no_restaurant_nearby", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L127", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_py", "target": "$graphify-root$_tests_test_repair_testtimetunesuggestion", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L140", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_testtimetunesuggestion", "target": "$graphify-root$_tests_test_repair_testtimetunesuggestion_test_no_tune_when_within_limit", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L141", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_testtimetunesuggestion", "target": "$graphify-root$_tests_test_repair_testtimetunesuggestion_test_tune_suggested_when_over_limit", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L149", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_testtimetunesuggestion", "target": "$graphify-root$_tests_test_repair_testtimetunesuggestion_test_adjusted_durations_above_minimum", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L158", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_py", "target": "$graphify-root$_tests_test_repair_testresultmodel", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L173", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_testresultmodel", "target": "$graphify-root$_tests_test_repair_testresultmodel_test_to_dict_is_serializable", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L174", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_testresultmodel", "target": "$graphify-root$_tests_test_repair_testresultmodel_test_is_empty_true_when_no_suggestions", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L182", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_testresultmodel", "target": "$graphify-root$_tests_test_repair_testresultmodel_test_is_empty_false_when_has_deletion", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L188", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_py", "target": "$graphify-root$_tests_test_repair_testtotalestimatedgain", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L199", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_testtotalestimatedgain", "target": "$graphify-root$_tests_test_repair_testtotalestimatedgain_test_sums_across_different_days", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L200", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_testtotalestimatedgain", "target": "$graphify-root$_tests_test_repair_testtotalestimatedgain_test_takes_max_of_alternatives_on_same_day", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L207", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_testtotalestimatedgain", "target": "$graphify-root$_tests_test_repair_testtotalestimatedgain_test_zero_when_empty", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L214", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_testtotalestimatedgain", "target": "$graphify-root$_tests_test_repair_testtotalestimatedgain_test_included_in_to_dict", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L217", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_repairengine", "target": "repairengineclass", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L12", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_repairengine", "target": "restaurantcatalog", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L12", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_plan", "target": "itineraryplan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L34", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_fail", "target": "hardfail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L43", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_testrepairenginenoop_test_empty_when_no_hard_fails", "target": "$graphify-root$_tests_test_repair_repairengine", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L55", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_testrepairenginenoop_test_empty_when_no_hard_fails", "target": "$graphify-root$_tests_test_repair_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L56", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_testrepairenginenoop_test_empty_when_no_hard_fails", "target": "$graphify-root$_tests_test_repair_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L57", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_testrepairenginenoop_test_empty_when_pois_list_is_empty", "target": "$graphify-root$_tests_test_repair_repairengine", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L61", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_testrepairenginenoop_test_empty_when_pois_list_is_empty", "target": "$graphify-root$_tests_test_repair_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L62", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_testrepairenginenoop_test_empty_when_pois_list_is_empty", "target": "$graphify-root$_tests_test_repair_fail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L63", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_outlier_pois", "target": "$graphify-root$_tests_test_repair_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L77", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_testdeletionsuggestion_test_identifies_geometric_outlier", "target": "$graphify-root$_tests_test_repair_repairengine", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L90", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_testdeletionsuggestion_test_identifies_geometric_outlier", "target": "$graphify-root$_tests_test_repair_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L91", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_testdeletionsuggestion_test_identifies_geometric_outlier", "target": "$graphify-root$_tests_test_repair_outlier_pois", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L92", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_testdeletionsuggestion_test_identifies_geometric_outlier", "target": "$graphify-root$_tests_test_repair_fail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L93", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_testdeletionsuggestion_test_outlier_deletion_has_positive_savings", "target": "$graphify-root$_tests_test_repair_repairengine", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L98", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_testdeletionsuggestion_test_outlier_deletion_has_positive_savings", "target": "$graphify-root$_tests_test_repair_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L99", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_testdeletionsuggestion_test_outlier_deletion_has_positive_savings", "target": "$graphify-root$_tests_test_repair_outlier_pois", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L100", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_testdeletionsuggestion_test_outlier_deletion_has_positive_savings", "target": "$graphify-root$_tests_test_repair_fail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L100", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_testdeletionsuggestion_test_no_deletion_for_two_pois", "target": "$graphify-root$_tests_test_repair_repairengine", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L105", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_testdeletionsuggestion_test_no_deletion_for_two_pois", "target": "$graphify-root$_tests_test_repair_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L106", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_testdeletionsuggestion_test_no_deletion_for_two_pois", "target": "$graphify-root$_tests_test_repair_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L107", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_testdeletionsuggestion_test_no_deletion_for_two_pois", "target": "$graphify-root$_tests_test_repair_fail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L107", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_testdeletionsuggestion_test_deletion_reason_mentions_candidate", "target": "$graphify-root$_tests_test_repair_repairengine", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L111", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_testdeletionsuggestion_test_deletion_reason_mentions_candidate", "target": "$graphify-root$_tests_test_repair_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L112", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_testdeletionsuggestion_test_deletion_reason_mentions_candidate", "target": "$graphify-root$_tests_test_repair_outlier_pois", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L113", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_testdeletionsuggestion_test_deletion_reason_mentions_candidate", "target": "$graphify-root$_tests_test_repair_fail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L113", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_testdeletionsuggestion_test_deletion_recommends_nearby_restaurant_when_available", "target": "restaurantcatalog", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L118", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_testdeletionsuggestion_test_deletion_recommends_nearby_restaurant_when_available", "target": "$graphify-root$_tests_test_repair_repairengine", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L119", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_testdeletionsuggestion_test_deletion_recommends_nearby_restaurant_when_available", "target": "$graphify-root$_tests_test_repair_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L120", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_testdeletionsuggestion_test_deletion_recommends_nearby_restaurant_when_available", "target": "$graphify-root$_tests_test_repair_outlier_pois", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L121", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_testdeletionsuggestion_test_deletion_recommends_nearby_restaurant_when_available", "target": "$graphify-root$_tests_test_repair_fail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L121", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_testdeletionsuggestion_test_deletion_explains_when_no_restaurant_nearby", "target": "$graphify-root$_tests_test_repair_repairengine", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L128", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_testdeletionsuggestion_test_deletion_explains_when_no_restaurant_nearby", "target": "restaurantcatalog", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L128", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_testdeletionsuggestion_test_deletion_explains_when_no_restaurant_nearby", "target": "$graphify-root$_tests_test_repair_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L129", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_testdeletionsuggestion_test_deletion_explains_when_no_restaurant_nearby", "target": "$graphify-root$_tests_test_repair_outlier_pois", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L130", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_testdeletionsuggestion_test_deletion_explains_when_no_restaurant_nearby", "target": "$graphify-root$_tests_test_repair_fail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L130", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_testtimetunesuggestion_test_no_tune_when_within_limit", "target": "$graphify-root$_tests_test_repair_repairengine", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L143", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_testtimetunesuggestion_test_no_tune_when_within_limit", "target": "$graphify-root$_tests_test_repair_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L144", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_testtimetunesuggestion_test_no_tune_when_within_limit", "target": "$graphify-root$_tests_test_repair_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L145", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_testtimetunesuggestion_test_no_tune_when_within_limit", "target": "$graphify-root$_tests_test_repair_fail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L146", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_testtimetunesuggestion_test_tune_suggested_when_over_limit", "target": "$graphify-root$_tests_test_repair_repairengine", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L151", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_testtimetunesuggestion_test_tune_suggested_when_over_limit", "target": "$graphify-root$_tests_test_repair_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L152", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_testtimetunesuggestion_test_tune_suggested_when_over_limit", "target": "$graphify-root$_tests_test_repair_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L153", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_testtimetunesuggestion_test_tune_suggested_when_over_limit", "target": "$graphify-root$_tests_test_repair_fail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L154", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_testtimetunesuggestion_test_adjusted_durations_above_minimum", "target": "$graphify-root$_tests_test_repair_repairengine", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L160", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_testtimetunesuggestion_test_adjusted_durations_above_minimum", "target": "$graphify-root$_tests_test_repair_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L161", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_testtimetunesuggestion_test_adjusted_durations_above_minimum", "target": "$graphify-root$_tests_test_repair_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L162", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_testtimetunesuggestion_test_adjusted_durations_above_minimum", "target": "$graphify-root$_tests_test_repair_fail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L163", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_testresultmodel_test_to_dict_is_serializable", "target": "$graphify-root$_tests_test_repair_repairengine", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L175", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_testresultmodel_test_to_dict_is_serializable", "target": "$graphify-root$_tests_test_repair_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L176", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_testresultmodel_test_to_dict_is_serializable", "target": "$graphify-root$_tests_test_repair_outlier_pois", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L177", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_testresultmodel_test_to_dict_is_serializable", "target": "$graphify-root$_tests_test_repair_fail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L177", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_testresultmodel_test_is_empty_true_when_no_suggestions", "target": "$graphify-root$_tests_test_repair_repairengine", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L183", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_testresultmodel_test_is_empty_true_when_no_suggestions", "target": "$graphify-root$_tests_test_repair_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L184", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_testresultmodel_test_is_empty_true_when_no_suggestions", "target": "$graphify-root$_tests_test_repair_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L185", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_testresultmodel_test_is_empty_false_when_has_deletion", "target": "$graphify-root$_tests_test_repair_repairengine", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L189", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_testresultmodel_test_is_empty_false_when_has_deletion", "target": "$graphify-root$_tests_test_repair_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L190", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_testresultmodel_test_is_empty_false_when_has_deletion", "target": "$graphify-root$_tests_test_repair_outlier_pois", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L191", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_testresultmodel_test_is_empty_false_when_has_deletion", "target": "$graphify-root$_tests_test_repair_fail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L191", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_rationale_11", "target": "$graphify-root$_tests_test_repair_repairengine", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L11", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_rationale_75", "target": "$graphify-root$_tests_test_repair_outlier_pois", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L75", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_rationale_142", "target": "$graphify-root$_tests_test_repair_testtimetunesuggestion_test_no_tune_when_within_limit", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L142", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_rationale_150", "target": "$graphify-root$_tests_test_repair_testtimetunesuggestion_test_tune_suggested_when_over_limit", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L150", "weight": 1.0}, {"source": "$graphify-root$_tests_test_repair_rationale_159", "target": "$graphify-root$_tests_test_repair_testtimetunesuggestion_test_adjusted_durations_above_minimum", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_repair.py", "source_location": "L159", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_tests_test_repair_poi", "callee": "POI", "is_member_call": false, "source_file": "tests/test_repair.py", "source_location": "L24", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_repair_plan", "callee": "DayPlan", "is_member_call": false, "source_file": "tests/test_repair.py", "source_location": "L35", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_repair_plan", "callee": "PlaceInput", "is_member_call": false, "source_file": "tests/test_repair.py", "source_location": "L35", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_repair_testrepairenginenoop_test_empty_when_no_hard_fails", "callee": "repair", "is_member_call": true, "source_file": "tests/test_repair.py", "source_location": "L57", "receiver": "engine"}, {"caller_nid": "$graphify-root$_tests_test_repair_testrepairenginenoop_test_empty_when_pois_list_is_empty", "callee": "repair", "is_member_call": true, "source_file": "tests/test_repair.py", "source_location": "L63", "receiver": "engine"}, {"caller_nid": "$graphify-root$_tests_test_repair_testdeletionsuggestion_test_identifies_geometric_outlier", "callee": "repair", "is_member_call": true, "source_file": "tests/test_repair.py", "source_location": "L93", "receiver": "engine"}, {"caller_nid": "$graphify-root$_tests_test_repair_testdeletionsuggestion_test_outlier_deletion_has_positive_savings", "callee": "repair", "is_member_call": true, "source_file": "tests/test_repair.py", "source_location": "L100", "receiver": "engine"}, {"caller_nid": "$graphify-root$_tests_test_repair_testdeletionsuggestion_test_no_deletion_for_two_pois", "callee": "repair", "is_member_call": true, "source_file": "tests/test_repair.py", "source_location": "L107", "receiver": "engine"}, {"caller_nid": "$graphify-root$_tests_test_repair_testdeletionsuggestion_test_deletion_reason_mentions_candidate", "callee": "repair", "is_member_call": true, "source_file": "tests/test_repair.py", "source_location": "L113", "receiver": "engine"}, {"caller_nid": "$graphify-root$_tests_test_repair_testdeletionsuggestion_test_deletion_recommends_nearby_restaurant_when_available", "callee": "repair", "is_member_call": true, "source_file": "tests/test_repair.py", "source_location": "L121", "receiver": "engine"}, {"caller_nid": "$graphify-root$_tests_test_repair_testdeletionsuggestion_test_deletion_explains_when_no_restaurant_nearby", "callee": "repair", "is_member_call": true, "source_file": "tests/test_repair.py", "source_location": "L130", "receiver": "engine"}, {"caller_nid": "$graphify-root$_tests_test_repair_testtimetunesuggestion_test_no_tune_when_within_limit", "callee": "repair", "is_member_call": true, "source_file": "tests/test_repair.py", "source_location": "L146", "receiver": "engine"}, {"caller_nid": "$graphify-root$_tests_test_repair_testtimetunesuggestion_test_tune_suggested_when_over_limit", "callee": "repair", "is_member_call": true, "source_file": "tests/test_repair.py", "source_location": "L154", "receiver": "engine"}, {"caller_nid": "$graphify-root$_tests_test_repair_testtimetunesuggestion_test_adjusted_durations_above_minimum", "callee": "repair", "is_member_call": true, "source_file": "tests/test_repair.py", "source_location": "L163", "receiver": "engine"}, {"caller_nid": "$graphify-root$_tests_test_repair_testtimetunesuggestion_test_adjusted_durations_above_minimum", "callee": "values", "is_member_call": true, "source_file": "tests/test_repair.py", "source_location": "L165", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_repair_testresultmodel_test_to_dict_is_serializable", "callee": "repair", "is_member_call": true, "source_file": "tests/test_repair.py", "source_location": "L177", "receiver": "engine"}, {"caller_nid": "$graphify-root$_tests_test_repair_testresultmodel_test_to_dict_is_serializable", "callee": "to_dict", "is_member_call": true, "source_file": "tests/test_repair.py", "source_location": "L178", "receiver": "result"}, {"caller_nid": "$graphify-root$_tests_test_repair_testresultmodel_test_to_dict_is_serializable", "callee": "dict", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "tests/test_repair.py", "source_location": "L179"}, {"caller_nid": "$graphify-root$_tests_test_repair_testresultmodel_test_is_empty_true_when_no_suggestions", "callee": "repair", "is_member_call": true, "source_file": "tests/test_repair.py", "source_location": "L185", "receiver": "engine"}, {"caller_nid": "$graphify-root$_tests_test_repair_testresultmodel_test_is_empty_false_when_has_deletion", "callee": "repair", "is_member_call": true, "source_file": "tests/test_repair.py", "source_location": "L191", "receiver": "engine"}, {"caller_nid": "$graphify-root$_tests_test_repair_testtotalestimatedgain_test_sums_across_different_days", "callee": "RepairResult", "is_member_call": false, "source_file": "tests/test_repair.py", "source_location": "L201", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_repair_testtotalestimatedgain_test_sums_across_different_days", "callee": "DeletionSuggestion", "is_member_call": false, "source_file": "tests/test_repair.py", "source_location": "L202", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_repair_testtotalestimatedgain_test_sums_across_different_days", "callee": "DeletionSuggestion", "is_member_call": false, "source_file": "tests/test_repair.py", "source_location": "L203", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_repair_testtotalestimatedgain_test_takes_max_of_alternatives_on_same_day", "callee": "RepairResult", "is_member_call": false, "source_file": "tests/test_repair.py", "source_location": "L208", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_repair_testtotalestimatedgain_test_takes_max_of_alternatives_on_same_day", "callee": "DeletionSuggestion", "is_member_call": false, "source_file": "tests/test_repair.py", "source_location": "L209", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_repair_testtotalestimatedgain_test_takes_max_of_alternatives_on_same_day", "callee": "DeletionSuggestion", "is_member_call": false, "source_file": "tests/test_repair.py", "source_location": "L210", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_repair_testtotalestimatedgain_test_zero_when_empty", "callee": "RepairResult", "is_member_call": false, "source_file": "tests/test_repair.py", "source_location": "L215", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_repair_testtotalestimatedgain_test_included_in_to_dict", "callee": "RepairResult", "is_member_call": false, "source_file": "tests/test_repair.py", "source_location": "L218", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_repair_testtotalestimatedgain_test_included_in_to_dict", "callee": "DeletionSuggestion", "is_member_call": false, "source_file": "tests/test_repair.py", "source_location": "L219", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_repair_testtotalestimatedgain_test_included_in_to_dict", "callee": "to_dict", "is_member_call": true, "source_file": "tests/test_repair.py", "source_location": "L221", "receiver": "result"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/39c8836f09762652402a903155e8f873e2d88c24e82f185923cddfbbc0384f52.json b/graphify-out/cache/ast/v0.9.31/39c8836f09762652402a903155e8f873e2d88c24e82f185923cddfbbc0384f52.json new file mode 100644 index 0000000..02d33e4 --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/39c8836f09762652402a903155e8f873e2d88c24e82f185923cddfbbc0384f52.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_py", "label": "fetch_tourapi_to_csv.py", "file_type": "code", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L1"}, {"id": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_resolve_base_dir", "label": "_resolve_base_dir()", "file_type": "code", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L132", "_callable": true}, {"id": "path", "label": "Path", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/gun/scripts/fetch_tourapi_to_csv.py"}, {"id": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_load_env", "label": "load_env()", "file_type": "code", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L156", "_callable": true}, {"id": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_checkpoint", "label": "Checkpoint", "file_type": "code", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L177", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_checkpoint_load", "label": ".load()", "file_type": "code", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L188", "_callable": true}, {"id": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_checkpoint_save", "label": ".save()", "file_type": "code", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L200", "_callable": true}, {"id": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_checkpoint_increment_daily", "label": ".increment_daily()", "file_type": "code", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L213", "_callable": true}, {"id": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_checkpoint_remaining_today", "label": ".remaining_today()", "file_type": "code", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L222", "_callable": true}, {"id": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_checkpoint_key", "label": ".key()", "file_type": "code", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L229", "_callable": true}, {"id": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_checkpoint_is_done", "label": ".is_done()", "file_type": "code", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L232", "_callable": true}, {"id": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_checkpoint_mark_done", "label": ".mark_done()", "file_type": "code", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L235", "_callable": true}, {"id": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_dailylimitreached", "label": "DailyLimitReached", "file_type": "code", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L240", "_callable": true, "_callable_class": true}, {"id": "exception", "label": "Exception", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/gun/scripts/fetch_tourapi_to_csv.py"}, {"id": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_call_api", "label": "call_api()", "file_type": "code", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L244", "_callable": true}, {"id": "any", "label": "Any", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/gun/scripts/fetch_tourapi_to_csv.py"}, {"id": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_parse_items", "label": "parse_items()", "file_type": "code", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L333", "_callable": true}, {"id": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_get_total_count", "label": "get_total_count()", "file_type": "code", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L345", "_callable": true}, {"id": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_csvappender", "label": "CsvAppender", "file_type": "code", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L351", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_csvappender_init", "label": ".__init__()", "file_type": "code", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L352", "_callable": true}, {"id": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_csvappender_enter", "label": ".__enter__()", "file_type": "code", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L358", "_callable": true}, {"id": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_csvappender_exit", "label": ".__exit__()", "file_type": "code", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L367", "_callable": true}, {"id": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_csvappender_write", "label": ".write()", "file_type": "code", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L371", "_callable": true}, {"id": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_csvappender_write_many", "label": ".write_many()", "file_type": "code", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L374", "_callable": true}, {"id": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_is_valid_kr_coord", "label": "is_valid_kr_coord()", "file_type": "code", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L379", "_callable": true}, {"id": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_ldong_codes", "label": "fetch_ldong_codes()", "file_type": "code", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L391", "_callable": true}, {"id": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_classification_codes", "label": "fetch_classification_codes()", "file_type": "code", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L503", "_callable": true}, {"id": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_pois", "label": "fetch_pois()", "file_type": "code", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L565", "_callable": true}, {"id": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_process_items", "label": "_process_items()", "file_type": "code", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L648", "_callable": true}, {"id": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_festivals", "label": "fetch_festivals()", "file_type": "code", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L673", "_callable": true}, {"id": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_enrich_operating_hours", "label": "enrich_operating_hours()", "file_type": "code", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L756", "_callable": true}, {"id": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_test_connection", "label": "test_connection()", "file_type": "code", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L815", "_callable": true}, {"id": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_main", "label": "main()", "file_type": "code", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L839", "_callable": true}, {"id": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_rationale_2", "label": "TourAPI v2 (KorService2) \u2192 CSV \ubc8c\ud06c \uc218\uc9d1 \uc2a4\ud06c\ub9bd\ud2b8 [\uc2e0 API \uba85\uc138 v2 \ubc18\uc601]\u2026", "file_type": "rationale", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L2"}, {"id": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_rationale_178", "label": "\uc218\uc9d1 \uc9c4\ud589 \uc0c1\ud0dc + \uc77c\uc77c \ud638\ucd9c \uce74\uc6b4\ud2b8. \uc5d4\ub4dc\ud3ec\uc778\ud2b8\ubcc4 \ud638\ucd9c \uc218\ub97c \ub0a0\uc9dc\uc640 \ud568\uaed8 \uae30\ub85d \u2192 \uc77c\uc77c \ud55c\ub3c4 \ucd94\uc801.", "file_type": "rationale", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L178"}, {"id": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_rationale_241", "label": "\uc77c\uc77c \ud55c\ub3c4 \ub3c4\ub2ec \u2014 \uccb4\ud06c\ud3ec\uc778\ud2b8 \uc800\uc7a5 \ud6c4 \uc815\uc0c1 \uc885\ub8cc.", "file_type": "rationale", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L241"}, {"id": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_rationale_250", "label": "TourAPI \ud638\ucd9c. \uc2e4\ud328 \uc2dc None. \ud55c\ub3c4 \ub3c4\ub2ec \uc2dc DailyLimitReached.", "file_type": "rationale", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L250"}, {"id": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_rationale_334", "label": "API \uc751\ub2f5\uc5d0\uc11c items.item \ub9ac\uc2a4\ud2b8 \ucd94\ucd9c. \ube48 \uc751\ub2f5 \uc548\uc804 \ucc98\ub9ac.", "file_type": "rationale", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L334"}, {"id": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_rationale_392", "label": "ldongCode2\ub85c \uc804\uccb4 \ubc95\uc815\ub3d9(\uc2dc\ub3c4+\uc2dc\uad70\uad6c+\ubc95\uc815\ub3d9) \uc218\uc9d1. lDongListYn=Y \uc635\uc158\uc73c\ub85c \uc804\uccb4 \ubaa9\ub85d \uc870\ud68c + \ud398\uc774\uc9c0\ub124\uc774\uc158.", "file_type": "rationale", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L392"}, {"id": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_rationale_504", "label": "lclsSystmCode2 \u2192 \ubd84\ub958\uccb4\uacc4 1~3 Depth \ud2b8\ub9ac \uc218\uc9d1.", "file_type": "rationale", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L504"}, {"id": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_rationale_572", "label": "contentTypeId \u00d7 lDongRegnCd \uc870\ud569\uc73c\ub85c \ud398\uc774\uc9c0\ub124\uc774\uc158 \uc21c\ud68c. modifiedtime: 'YYYYMMDD' \u2014 \ud574\ub2f9 \ub0a0\uc9dc \uc774\ud6c4\u2026", "file_type": "rationale", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L572"}, {"id": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_rationale_653", "label": "\ud398\uc774\uc9c0\uc758 item\uc744 \uac80\uc99d + CSV\uc5d0 \uc4f0\uae30. \ubc18\ud658: (\uc800\uc7a5, \uc88c\ud45c\uc624\ub958, \uc911\ubcf5).", "file_type": "rationale", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L653"}, {"id": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_rationale_679", "label": "searchFestival2\ub85c [event_start, event_end] \uae30\uac04\uc758 \ucd95\uc81c \uc77c\uc815 \uc218\uc9d1. eventStartDate \ud544\ud130\ub85c \ud574\ub2f9\u2026", "file_type": "rationale", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L679"}, {"id": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_rationale_757", "label": "pois.csv\ub97c \uc77d\uc5b4 detailIntro2\ub85c \uc6b4\uc601\uc2dc\uac04 \ubcf4\uac15. \uc774\ubbf8 enriched\ub41c contentid\ub294 \uc2a4\ud0b5.", "file_type": "rationale", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L757"}], "edges": [{"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_py", "target": "argparse", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L51", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_py", "target": "csv", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L52", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_py", "target": "json", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L53", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_py", "target": "os", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L54", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_py", "target": "sys", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L55", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_py", "target": "time", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L56", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_py", "target": "dataclasses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L57", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L58", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L59", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L60", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_py", "target": "requests", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L62", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_py", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_resolve_base_dir", "relation": "contains", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L132", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_resolve_base_dir", "target": "path", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L132", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_py", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_load_env", "relation": "contains", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L156", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_py", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_checkpoint", "relation": "contains", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L177", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_checkpoint", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_checkpoint_load", "relation": "method", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L188", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_checkpoint", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_checkpoint_save", "relation": "method", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L200", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_checkpoint", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_checkpoint_increment_daily", "relation": "method", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L213", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_checkpoint", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_checkpoint_remaining_today", "relation": "method", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L222", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_checkpoint", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_checkpoint_key", "relation": "method", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L229", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_checkpoint", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_checkpoint_is_done", "relation": "method", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L232", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_checkpoint", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_checkpoint_mark_done", "relation": "method", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L235", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_py", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_dailylimitreached", "relation": "contains", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L240", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_dailylimitreached", "target": "exception", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L240", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_py", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_call_api", "relation": "contains", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L244", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_call_api", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L244", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_call_api", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_checkpoint", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L244", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_py", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_parse_items", "relation": "contains", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L333", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_py", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_get_total_count", "relation": "contains", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L345", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_py", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_csvappender", "relation": "contains", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L351", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_csvappender", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_csvappender_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L352", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_csvappender_init", "target": "path", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L352", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_csvappender", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_csvappender_enter", "relation": "method", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L358", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_csvappender", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_csvappender_exit", "relation": "method", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L367", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_csvappender", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_csvappender_write", "relation": "method", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L371", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_csvappender", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_csvappender_write_many", "relation": "method", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L374", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_py", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_is_valid_kr_coord", "relation": "contains", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L379", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_py", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_ldong_codes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L391", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_ldong_codes", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_checkpoint", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L391", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_py", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_classification_codes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L503", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_classification_codes", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_checkpoint", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L503", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_py", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_pois", "relation": "contains", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L565", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_pois", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_checkpoint", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L565", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_py", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_process_items", "relation": "contains", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L648", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_process_items", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_csvappender", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L648", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_process_items", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_checkpoint", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L648", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_py", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_festivals", "relation": "contains", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L673", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_festivals", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_checkpoint", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L673", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_py", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_enrich_operating_hours", "relation": "contains", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L756", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_enrich_operating_hours", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_checkpoint", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L756", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_py", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_test_connection", "relation": "contains", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L815", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_py", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_main", "relation": "contains", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L839", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_resolve_base_dir", "target": "path", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L134", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_checkpoint_is_done", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_checkpoint_key", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L233", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_checkpoint_mark_done", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_checkpoint_key", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L236", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_call_api", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_checkpoint_remaining_today", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L254", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_call_api", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_dailylimitreached", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L256", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_call_api", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_checkpoint_increment_daily", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L273", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_ldong_codes", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_call_api", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L400", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_ldong_codes", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_parse_items", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L410", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_ldong_codes", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_get_total_count", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L482", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_classification_codes", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_call_api", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L510", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_classification_codes", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_parse_items", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L520", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_pois", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_csvappender", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L579", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_pois", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_call_api", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L601", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_pois", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_get_total_count", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L607", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_pois", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_checkpoint_remaining_today", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L609", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_pois", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_checkpoint_is_done", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L614", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_pois", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_process_items", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L615", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_pois", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_parse_items", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L615", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_pois", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_checkpoint_mark_done", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L617", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_pois", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_checkpoint_save", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L628", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_process_items", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_is_valid_kr_coord", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L662", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_process_items", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_csvappender_write", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L666", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_festivals", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_call_api", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L700", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_festivals", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_get_total_count", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L706", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_festivals", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_checkpoint_remaining_today", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L708", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_festivals", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_csvappender", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L732", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_festivals", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_parse_items", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L734", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_enrich_operating_hours", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_checkpoint_remaining_today", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L773", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_enrich_operating_hours", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_csvappender", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L777", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_enrich_operating_hours", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_call_api", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L780", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_enrich_operating_hours", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_parse_items", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L794", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_enrich_operating_hours", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_csvappender_write", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L802", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_enrich_operating_hours", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_checkpoint_save", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L807", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_test_connection", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_call_api", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L818", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_test_connection", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_parse_items", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L828", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_main", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_load_env", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L883", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_main", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_test_connection", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L887", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_main", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_festivals", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L908", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_main", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_enrich_operating_hours", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L917", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_main", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_ldong_codes", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L922", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_main", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_classification_codes", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L923", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_main", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_pois", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L961", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_main", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_checkpoint_save", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L969", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_rationale_2", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L2", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_rationale_178", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_checkpoint", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L178", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_rationale_241", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_dailylimitreached", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L241", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_rationale_250", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_call_api", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L250", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_rationale_334", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_parse_items", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L334", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_rationale_392", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_ldong_codes", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L392", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_rationale_504", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_classification_codes", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L504", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_rationale_572", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_pois", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L572", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_rationale_653", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_process_items", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L653", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_rationale_679", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_festivals", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L679", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_rationale_757", "target": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_enrich_operating_hours", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L757", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_resolve_base_dir", "callee": "resolve", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L134", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_resolve_base_dir", "callee": "__file__", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L134"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_resolve_base_dir", "callee": "cwd", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L137", "receiver": "Path"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_load_env", "callee": "exists", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L158", "receiver": "env_path"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_load_env", "callee": "splitlines", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L159", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_load_env", "callee": "read_text", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L159", "receiver": "env_path"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_load_env", "callee": "strip", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L160", "receiver": "line"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_load_env", "callee": "startswith", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L161", "receiver": "line"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_load_env", "callee": "partition", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L162", "receiver": "line"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_load_env", "callee": "setdefault", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L163", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_load_env", "callee": "strip", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L163", "receiver": "k"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_load_env", "callee": "strip", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L163", "receiver": "v"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_load_env", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L165", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_load_env", "callee": "exit", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L167", "receiver": "sys"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_checkpoint_load", "callee": "exists", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L189", "receiver": "CHECKPOINT_FILE"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_checkpoint_load", "callee": "loads", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L190", "receiver": "json"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_checkpoint_load", "callee": "read_text", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L190", "receiver": "CHECKPOINT_FILE"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_checkpoint_load", "callee": "cls", "is_member_call": false, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L191", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_checkpoint_load", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L192", "receiver": "d"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_checkpoint_load", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L193", "receiver": "d"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_checkpoint_load", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L194", "receiver": "d"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_checkpoint_load", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L195", "receiver": "d"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_checkpoint_load", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L196", "receiver": "d"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_checkpoint_load", "callee": "cls", "is_member_call": false, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L198", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_checkpoint_load", "callee": "strftime", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L198", "receiver": "time"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_checkpoint_save", "callee": "write_text", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L201", "receiver": "CHECKPOINT_FILE"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_checkpoint_save", "callee": "dumps", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L202", "receiver": "json"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_checkpoint_save", "callee": "strftime", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L208", "receiver": "time"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_checkpoint_increment_daily", "callee": "isoformat", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L214", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_checkpoint_increment_daily", "callee": "today", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L214", "receiver": "date"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_checkpoint_increment_daily", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L215", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_checkpoint_increment_daily", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L216", "receiver": "rec"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_checkpoint_remaining_today", "callee": "isoformat", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L223", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_checkpoint_remaining_today", "callee": "today", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L223", "receiver": "date"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_checkpoint_remaining_today", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L224", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_checkpoint_remaining_today", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L225", "receiver": "rec"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_checkpoint_remaining_today", "callee": "DAILY_LIMIT", "is_member_call": false, "indirect": true, "context": "return", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L226"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_checkpoint_remaining_today", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L227", "receiver": "rec"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_checkpoint_mark_done", "callee": "add", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L236", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_call_api", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L271", "receiver": "requests"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_call_api", "callee": "json", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L277", "receiver": "r"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_call_api", "callee": "exit", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L282", "receiver": "sys"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_call_api", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L287", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_call_api", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L287", "receiver": "data"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_call_api", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L288", "receiver": "header"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_call_api", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L293", "receiver": "data"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_call_api", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L295", "receiver": "err_wrap"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_call_api", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L296", "receiver": "err_hdr"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_call_api", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L297", "receiver": "err_hdr"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_call_api", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L297", "receiver": "err_hdr"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_call_api", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L299", "receiver": "header"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_call_api", "callee": "dumps", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L304", "receiver": "json"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_call_api", "callee": "upper", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L309", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_call_api", "callee": "exit", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L313", "receiver": "sys"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_call_api", "callee": "sleep", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L321", "receiver": "time"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_call_api", "callee": "sleep", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L328", "receiver": "time"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_parse_items", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L335", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_parse_items", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L335", "receiver": "api_response"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_parse_items", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L336", "receiver": "body"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_parse_items", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L339", "receiver": "items"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_parse_items", "callee": "dict", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L342"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_get_total_count", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L346", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_get_total_count", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L346", "receiver": "api_response"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_get_total_count", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L347", "receiver": "body"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_csvappender_enter", "callee": "exists", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L359", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_csvappender_enter", "callee": "DictWriter", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L361", "receiver": "csv"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_csvappender_enter", "callee": "writeheader", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L364", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_csvappender_exit", "callee": "close", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L369", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_csvappender_write", "callee": "writerow", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L372", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_csvappender_write_many", "callee": "writerows", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L375", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_is_valid_kr_coord", "callee": "ValueError", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L383"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_is_valid_kr_coord", "callee": "TypeError", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L383"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_ldong_codes", "callee": "LDONG_ENDPOINT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L401"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_ldong_codes", "callee": "sleep", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L405", "receiver": "time"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_ldong_codes", "callee": "SLEEP_BETWEEN_CALLS", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L405"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_ldong_codes", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L412", "receiver": "sido"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_ldong_codes", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L412", "receiver": "sido"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_ldong_codes", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L413", "receiver": "sido"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_ldong_codes", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L413", "receiver": "sido"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_ldong_codes", "callee": "append", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L414", "receiver": "rows"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_ldong_codes", "callee": "LDONG_ENDPOINT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L419"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_ldong_codes", "callee": "sleep", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L423", "receiver": "time"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_ldong_codes", "callee": "SLEEP_BETWEEN_CALLS", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L423"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_ldong_codes", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L426", "receiver": "sigungu"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_ldong_codes", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L426", "receiver": "sigungu"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_ldong_codes", "callee": "append", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L427", "receiver": "rows"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_ldong_codes", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L430", "receiver": "sigungu"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_ldong_codes", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L430", "receiver": "sigungu"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_ldong_codes", "callee": "LDONG_ENDPOINT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L451"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_ldong_codes", "callee": "sleep", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L461", "receiver": "time"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_ldong_codes", "callee": "SLEEP_BETWEEN_CALLS", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L461"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_ldong_codes", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L469", "receiver": "it"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_ldong_codes", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L469", "receiver": "it"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_ldong_codes", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L470", "receiver": "it"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_ldong_codes", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L470", "receiver": "it"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_ldong_codes", "callee": "append", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L473", "receiver": "rows"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_ldong_codes", "callee": "LDONG_CSV", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L492"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_ldong_codes", "callee": "DictWriter", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L493", "receiver": "csv"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_ldong_codes", "callee": "f", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L493"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_ldong_codes", "callee": "writeheader", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L494", "receiver": "w"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_ldong_codes", "callee": "writerows", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L495", "receiver": "w"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_classification_codes", "callee": "sleep", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L515", "receiver": "time"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_classification_codes", "callee": "SLEEP_BETWEEN_CALLS", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L515"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_classification_codes", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L522", "receiver": "c1"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_classification_codes", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L522", "receiver": "c1"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_classification_codes", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L523", "receiver": "c1"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_classification_codes", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L523", "receiver": "c1"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_classification_codes", "callee": "append", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L524", "receiver": "rows"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_classification_codes", "callee": "sleep", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L532", "receiver": "time"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_classification_codes", "callee": "SLEEP_BETWEEN_CALLS", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L532"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_classification_codes", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L537", "receiver": "c2"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_classification_codes", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L537", "receiver": "c2"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_classification_codes", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L538", "receiver": "c2"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_classification_codes", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L538", "receiver": "c2"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_classification_codes", "callee": "append", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L539", "receiver": "rows"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_classification_codes", "callee": "sleep", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L548", "receiver": "time"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_classification_codes", "callee": "SLEEP_BETWEEN_CALLS", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L548"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_classification_codes", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L552", "receiver": "c3"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_classification_codes", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L552", "receiver": "c3"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_classification_codes", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L553", "receiver": "c3"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_classification_codes", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L553", "receiver": "c3"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_classification_codes", "callee": "append", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L554", "receiver": "rows"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_classification_codes", "callee": "CLASSIFICATION_CSV", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L557"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_classification_codes", "callee": "DictWriter", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L558", "receiver": "csv"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_classification_codes", "callee": "f", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L558"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_classification_codes", "callee": "writeheader", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L559", "receiver": "w"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_classification_codes", "callee": "writerows", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L560", "receiver": "w"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_pois", "callee": "POIS_CSV", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L579"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_pois", "callee": "POI_COLUMNS", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L579"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_pois", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L581", "receiver": "CONTENT_TYPES"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_pois", "callee": "NUM_OF_ROWS", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L586"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_pois", "callee": "sleep", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L602", "receiver": "time"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_pois", "callee": "SLEEP_BETWEEN_CALLS", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L602"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_pois", "callee": "csv_out", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L615"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_pois", "callee": "sleep", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L625", "receiver": "time"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_pois", "callee": "SLEEP_BETWEEN_CALLS", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L625"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_pois", "callee": "csv_out", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L631"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_process_items", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L656", "receiver": "item"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_process_items", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L662", "receiver": "item"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_process_items", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L662", "receiver": "item"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_process_items", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L665", "receiver": "item"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_process_items", "callee": "add", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L667", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_festivals", "callee": "NUM_OF_ROWS", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L692"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_festivals", "callee": "sleep", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L701", "receiver": "time"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_festivals", "callee": "SLEEP_BETWEEN_CALLS", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L701"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_festivals", "callee": "FESTIVALS_CSV", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L732"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_festivals", "callee": "FESTIVAL_COLUMNS", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L732"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_festivals", "callee": "_process_festival_items", "is_member_call": false, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L734", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_festivals", "callee": "csv_out", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L734"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_festivals", "callee": "sleep", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L740", "receiver": "time"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_festivals", "callee": "SLEEP_BETWEEN_CALLS", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L740"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_festivals", "callee": "_process_festival_items", "is_member_call": false, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L744", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_fetch_festivals", "callee": "csv_out", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L744"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_enrich_operating_hours", "callee": "exists", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L761", "receiver": "POIS_CSV"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_enrich_operating_hours", "callee": "exit", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L762", "receiver": "sys"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_enrich_operating_hours", "callee": "POIS_CSV", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L766"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_enrich_operating_hours", "callee": "DictReader", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L767", "receiver": "csv"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_enrich_operating_hours", "callee": "f", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L767"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_enrich_operating_hours", "callee": "strip", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L768", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_enrich_operating_hours", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L768", "receiver": "row"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_enrich_operating_hours", "callee": "strip", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L769", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_enrich_operating_hours", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L769", "receiver": "row"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_enrich_operating_hours", "callee": "append", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L771", "receiver": "pois"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_enrich_operating_hours", "callee": "OPERATING_CSV", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L777"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_enrich_operating_hours", "callee": "INTRO_COLUMNS", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L777"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_enrich_operating_hours", "callee": "sleep", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L790", "receiver": "time"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_enrich_operating_hours", "callee": "SLEEP_BETWEEN_CALLS", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L790"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_enrich_operating_hours", "callee": "add", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L796", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_enrich_operating_hours", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L799", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_enrich_operating_hours", "callee": "add", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L803", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_test_connection", "callee": "exit", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L824", "receiver": "sys"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_test_connection", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L826", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_test_connection", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L826", "receiver": "resp"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_test_connection", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L827", "receiver": "body"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_test_connection", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L833", "receiver": "sample"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_test_connection", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L834", "receiver": "sample"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_test_connection", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L834", "receiver": "sample"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_test_connection", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L835", "receiver": "sample"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_test_connection", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L835", "receiver": "sample"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_main", "callee": "ArgumentParser", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L840", "receiver": "argparse"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_main", "callee": "add_argument", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L844", "receiver": "parser"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_main", "callee": "join", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L847", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_main", "callee": "items", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L847", "receiver": "CONTENT_TYPES"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_main", "callee": "add_argument", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L849", "receiver": "parser"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_main", "callee": "add_argument", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L854", "receiver": "parser"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_main", "callee": "add_argument", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L858", "receiver": "parser"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_main", "callee": "add_argument", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L860", "receiver": "parser"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_main", "callee": "add_argument", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L862", "receiver": "parser"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_main", "callee": "add_argument", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L864", "receiver": "parser"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_main", "callee": "add_argument", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L866", "receiver": "parser"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_main", "callee": "add_argument", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L868", "receiver": "parser"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_main", "callee": "add_argument", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L870", "receiver": "parser"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_main", "callee": "add_argument", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L873", "receiver": "parser"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_main", "callee": "add_argument", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L875", "receiver": "parser"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_main", "callee": "parse_args", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L881", "receiver": "parser"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_main", "callee": "POIS_CSV", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L892"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_main", "callee": "OPERATING_CSV", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L892"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_main", "callee": "CHECKPOINT_FILE", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L892"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_main", "callee": "exists", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L893", "receiver": "f"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_main", "callee": "unlink", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L894", "receiver": "f"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_main", "callee": "load", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L897", "receiver": "Checkpoint"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_main", "callee": "items", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L901", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_main", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L902", "receiver": "rec"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_main", "callee": "isoformat", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L902", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_main", "callee": "today", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L902", "receiver": "date"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_main", "callee": "split", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L931", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_main", "callee": "strip", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L931", "receiver": "x"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_main", "callee": "keys", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L933", "receiver": "CONTENT_TYPES"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_main", "callee": "exists", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L938", "receiver": "LDONG_CSV"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_main", "callee": "exit", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L939", "receiver": "sys"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_main", "callee": "LDONG_CSV", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L942"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_main", "callee": "DictReader", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L943", "receiver": "csv"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_main", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L944", "receiver": "row"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_main", "callee": "append", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L945", "receiver": "ldong_codes"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_main", "callee": "strip", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L952", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_main", "callee": "strip", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L953", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_main", "callee": "isdigit", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L954", "receiver": "yr"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_main", "callee": "isdigit", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L956", "receiver": "yr"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_main", "callee": "exit", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L959", "receiver": "sys"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_main", "callee": "items", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L971", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_main", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L972", "receiver": "rec"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_main", "callee": "isoformat", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L972", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_main", "callee": "today", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L972", "receiver": "date"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_tourapi_to_csv_main", "callee": "exists", "is_member_call": true, "source_file": "gun/scripts/fetch_tourapi_to_csv.py", "source_location": "L976", "receiver": "POIS_CSV"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/3a9bd6c7ad75d25b1110fce15de4cb2832f8faaf4fff8e6ef76696702498eb4a.json b/graphify-out/cache/ast/v0.9.31/3a9bd6c7ad75d25b1110fce15de4cb2832f8faaf4fff8e6ef76696702498eb4a.json new file mode 100644 index 0000000..dd4c2f8 --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/3a9bd6c7ad75d25b1110fce15de4cb2832f8faaf4fff8e6ef76696702498eb4a.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_scripts_collect_naver_metadata_py", "label": "collect_naver_metadata.py", "file_type": "code", "source_file": "scripts/collect_naver_metadata.py", "source_location": "L1"}, {"id": "$graphify-root$_scripts_collect_naver_metadata_rate_limited_get", "label": "_rate_limited_get()", "file_type": "code", "source_file": "scripts/collect_naver_metadata.py", "source_location": "L50", "_callable": true}, {"id": "client", "label": "Client", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/scripts/collect_naver_metadata.py"}, {"id": "response", "label": "Response", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/scripts/collect_naver_metadata.py"}, {"id": "$graphify-root$_scripts_collect_naver_metadata_load_csv_sample", "label": "load_csv_sample()", "file_type": "code", "source_file": "scripts/collect_naver_metadata.py", "source_location": "L94", "_callable": true}, {"id": "$graphify-root$_scripts_collect_naver_metadata_fetch_blog", "label": "fetch_blog()", "file_type": "code", "source_file": "scripts/collect_naver_metadata.py", "source_location": "L117", "_callable": true}, {"id": "$graphify-root$_scripts_collect_naver_metadata_build_place_block", "label": "build_place_block()", "file_type": "code", "source_file": "scripts/collect_naver_metadata.py", "source_location": "L143", "_callable": true}, {"id": "$graphify-root$_scripts_collect_naver_metadata_extract_metadata_batch", "label": "extract_metadata_batch()", "file_type": "code", "source_file": "scripts/collect_naver_metadata.py", "source_location": "L164", "_callable": true}, {"id": "$graphify-root$_scripts_collect_naver_metadata_load_progress", "label": "load_progress()", "file_type": "code", "source_file": "scripts/collect_naver_metadata.py", "source_location": "L188", "_callable": true}, {"id": "$graphify-root$_scripts_collect_naver_metadata_save_progress", "label": "save_progress()", "file_type": "code", "source_file": "scripts/collect_naver_metadata.py", "source_location": "L195", "_callable": true}, {"id": "$graphify-root$_scripts_collect_naver_metadata_merge_meta", "label": "merge_meta()", "file_type": "code", "source_file": "scripts/collect_naver_metadata.py", "source_location": "L201", "_callable": true}, {"id": "$graphify-root$_scripts_collect_naver_metadata_main", "label": "main()", "file_type": "code", "source_file": "scripts/collect_naver_metadata.py", "source_location": "L215", "_callable": true}, {"id": "$graphify-root$_scripts_collect_naver_metadata_rationale_51", "label": "\ucd08\ub2f9 \uc694\uccad \uc218\ub97c RATE_LIMIT_RPS \uc774\ud558\ub85c \uc81c\ud55c", "file_type": "rationale", "source_file": "scripts/collect_naver_metadata.py", "source_location": "L51"}, {"id": "$graphify-root$_scripts_collect_naver_metadata_rationale_95", "label": "CSV\uc5d0\uc11c \uc0d8\ud50c \ucd94\ucd9c (\uc74c\uc2dd\uc810\u00b7\uad00\uad11\uc9c0 \ube44\uc911 \ub192\uc784)", "file_type": "rationale", "source_file": "scripts/collect_naver_metadata.py", "source_location": "L95"}, {"id": "$graphify-root$_scripts_collect_naver_metadata_rationale_118", "label": "\ub2e8\uc77c POI\uc758 \ube14\ub85c\uadf8 \uacb0\uacfc \uc218\uc9d1 (\uc2a4\ub808\ub4dc\ud480\uc5d0\uc11c \uc2e4\ud589)", "file_type": "rationale", "source_file": "scripts/collect_naver_metadata.py", "source_location": "L118"}], "edges": [{"source": "$graphify-root$_scripts_collect_naver_metadata_py", "target": "csv", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_metadata.py", "source_location": "L4", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_metadata_py", "target": "json", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_metadata.py", "source_location": "L5", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_metadata_py", "target": "os", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_metadata.py", "source_location": "L6", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_metadata_py", "target": "random", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_metadata.py", "source_location": "L7", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_metadata_py", "target": "sys", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_metadata.py", "source_location": "L8", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_metadata_py", "target": "threading", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_metadata.py", "source_location": "L9", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_metadata_py", "target": "time", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_metadata.py", "source_location": "L10", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_metadata_py", "target": "concurrent_futures", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_metadata.py", "source_location": "L11", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_metadata_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_metadata.py", "source_location": "L12", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_metadata_py", "target": "httpx", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_metadata.py", "source_location": "L14", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_metadata_py", "target": "anthropic", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_metadata.py", "source_location": "L15", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_metadata_py", "target": "dotenv", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_metadata.py", "source_location": "L16", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_metadata_py", "target": "tqdm", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_metadata.py", "source_location": "L17", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_metadata_py", "target": "$graphify-root$_scripts_collect_naver_metadata_rate_limited_get", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_metadata.py", "source_location": "L50", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_metadata_rate_limited_get", "target": "client", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_metadata.py", "source_location": "L50", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_metadata_rate_limited_get", "target": "response", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_metadata.py", "source_location": "L50", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_metadata_py", "target": "$graphify-root$_scripts_collect_naver_metadata_load_csv_sample", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_metadata.py", "source_location": "L94", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_metadata_py", "target": "$graphify-root$_scripts_collect_naver_metadata_fetch_blog", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_metadata.py", "source_location": "L117", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_metadata_fetch_blog", "target": "client", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_metadata.py", "source_location": "L117", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_metadata_py", "target": "$graphify-root$_scripts_collect_naver_metadata_build_place_block", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_metadata.py", "source_location": "L143", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_metadata_py", "target": "$graphify-root$_scripts_collect_naver_metadata_extract_metadata_batch", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_metadata.py", "source_location": "L164", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_metadata_py", "target": "$graphify-root$_scripts_collect_naver_metadata_load_progress", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_metadata.py", "source_location": "L188", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_metadata_py", "target": "$graphify-root$_scripts_collect_naver_metadata_save_progress", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_metadata.py", "source_location": "L195", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_metadata_py", "target": "$graphify-root$_scripts_collect_naver_metadata_merge_meta", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_metadata.py", "source_location": "L201", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_metadata_py", "target": "$graphify-root$_scripts_collect_naver_metadata_main", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_metadata.py", "source_location": "L215", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_metadata_fetch_blog", "target": "$graphify-root$_scripts_collect_naver_metadata_rate_limited_get", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_metadata.py", "source_location": "L125", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_metadata_extract_metadata_batch", "target": "$graphify-root$_scripts_collect_naver_metadata_build_place_block", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_metadata.py", "source_location": "L166", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_metadata_main", "target": "$graphify-root$_scripts_collect_naver_metadata_load_csv_sample", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_metadata.py", "source_location": "L221", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_metadata_main", "target": "$graphify-root$_scripts_collect_naver_metadata_load_progress", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_metadata.py", "source_location": "L224", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_metadata_main", "target": "client", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_metadata.py", "source_location": "L234", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_metadata_main", "target": "$graphify-root$_scripts_collect_naver_metadata_fetch_blog", "relation": "indirect_call", "context": "argument", "confidence": "INFERRED", "source_file": "scripts/collect_naver_metadata.py", "source_location": "L236", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_metadata_main", "target": "$graphify-root$_scripts_collect_naver_metadata_extract_metadata_batch", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_metadata.py", "source_location": "L251", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_metadata_main", "target": "$graphify-root$_scripts_collect_naver_metadata_merge_meta", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_metadata.py", "source_location": "L256", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_metadata_main", "target": "$graphify-root$_scripts_collect_naver_metadata_save_progress", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_metadata.py", "source_location": "L257", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_metadata_rationale_51", "target": "$graphify-root$_scripts_collect_naver_metadata_rate_limited_get", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_metadata.py", "source_location": "L51", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_metadata_rationale_95", "target": "$graphify-root$_scripts_collect_naver_metadata_load_csv_sample", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_metadata.py", "source_location": "L95", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_metadata_rationale_118", "target": "$graphify-root$_scripts_collect_naver_metadata_fetch_blog", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_metadata.py", "source_location": "L118", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_rate_limited_get", "callee": "monotonic", "is_member_call": true, "source_file": "scripts/collect_naver_metadata.py", "source_location": "L53", "receiver": "time"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_rate_limited_get", "callee": "pop", "is_member_call": true, "source_file": "scripts/collect_naver_metadata.py", "source_location": "L56", "receiver": "_last_request_times"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_rate_limited_get", "callee": "_last_request_times", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/collect_naver_metadata.py", "source_location": "L57"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_rate_limited_get", "callee": "sleep", "is_member_call": true, "source_file": "scripts/collect_naver_metadata.py", "source_location": "L60", "receiver": "time"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_rate_limited_get", "callee": "append", "is_member_call": true, "source_file": "scripts/collect_naver_metadata.py", "source_location": "L61", "receiver": "_last_request_times"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_rate_limited_get", "callee": "monotonic", "is_member_call": true, "source_file": "scripts/collect_naver_metadata.py", "source_location": "L61", "receiver": "time"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_rate_limited_get", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_metadata.py", "source_location": "L62", "receiver": "client"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_load_csv_sample", "callee": "CSV_PATH", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/collect_naver_metadata.py", "source_location": "L97"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_load_csv_sample", "callee": "DictReader", "is_member_call": true, "source_file": "scripts/collect_naver_metadata.py", "source_location": "L98", "receiver": "csv"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_load_csv_sample", "callee": "f", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/collect_naver_metadata.py", "source_location": "L98"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_load_csv_sample", "callee": "append", "is_member_call": true, "source_file": "scripts/collect_naver_metadata.py", "source_location": "L100", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_load_csv_sample", "callee": "setdefault", "is_member_call": true, "source_file": "scripts/collect_naver_metadata.py", "source_location": "L100", "receiver": "buckets"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_load_csv_sample", "callee": "items", "is_member_call": true, "source_file": "scripts/collect_naver_metadata.py", "source_location": "L108", "receiver": "weights"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_load_csv_sample", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_metadata.py", "source_location": "L109", "receiver": "buckets"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_load_csv_sample", "callee": "extend", "is_member_call": true, "source_file": "scripts/collect_naver_metadata.py", "source_location": "L111", "receiver": "sample"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_load_csv_sample", "callee": "sample", "is_member_call": true, "source_file": "scripts/collect_naver_metadata.py", "source_location": "L111", "receiver": "random"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_load_csv_sample", "callee": "shuffle", "is_member_call": true, "source_file": "scripts/collect_naver_metadata.py", "source_location": "L113", "receiver": "random"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_fetch_blog", "callee": "join", "is_member_call": true, "source_file": "scripts/collect_naver_metadata.py", "source_location": "L120", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_fetch_blog", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_metadata.py", "source_location": "L120", "receiver": "poi"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_fetch_blog", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_metadata.py", "source_location": "L120", "receiver": "poi"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_fetch_blog", "callee": "strip", "is_member_call": true, "source_file": "scripts/collect_naver_metadata.py", "source_location": "L121", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_fetch_blog", "callee": "MAX_RETRIES", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/collect_naver_metadata.py", "source_location": "L123"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_fetch_blog", "callee": "NAVER_BLOG_URL", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/collect_naver_metadata.py", "source_location": "L127"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_fetch_blog", "callee": "NAVER_HEADERS", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/collect_naver_metadata.py", "source_location": "L128"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_fetch_blog", "callee": "BLOG_DISPLAY", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "scripts/collect_naver_metadata.py", "source_location": "L129"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_fetch_blog", "callee": "exit", "is_member_call": true, "source_file": "scripts/collect_naver_metadata.py", "source_location": "L134", "receiver": "sys"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_fetch_blog", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_metadata.py", "source_location": "L136", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_fetch_blog", "callee": "json", "is_member_call": true, "source_file": "scripts/collect_naver_metadata.py", "source_location": "L136", "receiver": "resp"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_fetch_blog", "callee": "sleep", "is_member_call": true, "source_file": "scripts/collect_naver_metadata.py", "source_location": "L139", "receiver": "time"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_build_place_block", "callee": "join", "is_member_call": true, "source_file": "scripts/collect_naver_metadata.py", "source_location": "L150", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_build_place_block", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_metadata.py", "source_location": "L150", "receiver": "poi"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_build_place_block", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_metadata.py", "source_location": "L150", "receiver": "poi"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_build_place_block", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_metadata.py", "source_location": "L151", "receiver": "TYPE_LABEL"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_build_place_block", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_metadata.py", "source_location": "L151", "receiver": "poi"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_build_place_block", "callee": "strip_tags", "is_member_call": false, "source_file": "scripts/collect_naver_metadata.py", "source_location": "L156", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_build_place_block", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_metadata.py", "source_location": "L156", "receiver": "item"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_build_place_block", "callee": "strip_tags", "is_member_call": false, "source_file": "scripts/collect_naver_metadata.py", "source_location": "L157", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_build_place_block", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_metadata.py", "source_location": "L157", "receiver": "item"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_build_place_block", "callee": "append", "is_member_call": true, "source_file": "scripts/collect_naver_metadata.py", "source_location": "L158", "receiver": "lines"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_build_place_block", "callee": "append", "is_member_call": true, "source_file": "scripts/collect_naver_metadata.py", "source_location": "L160", "receiver": "lines"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_build_place_block", "callee": "join", "is_member_call": true, "source_file": "scripts/collect_naver_metadata.py", "source_location": "L161", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_extract_metadata_batch", "callee": "join", "is_member_call": true, "source_file": "scripts/collect_naver_metadata.py", "source_location": "L165", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_extract_metadata_batch", "callee": "format", "is_member_call": true, "source_file": "scripts/collect_naver_metadata.py", "source_location": "L168", "receiver": "EXTRACT_PROMPT"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_extract_metadata_batch", "callee": "MAX_RETRIES", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/collect_naver_metadata.py", "source_location": "L170"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_extract_metadata_batch", "callee": "create", "is_member_call": true, "source_file": "scripts/collect_naver_metadata.py", "source_location": "L172", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_extract_metadata_batch", "callee": "strip", "is_member_call": true, "source_file": "scripts/collect_naver_metadata.py", "source_location": "L177", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_extract_metadata_batch", "callee": "find", "is_member_call": true, "source_file": "scripts/collect_naver_metadata.py", "source_location": "L178", "receiver": "raw"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_extract_metadata_batch", "callee": "rfind", "is_member_call": true, "source_file": "scripts/collect_naver_metadata.py", "source_location": "L179", "receiver": "raw"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_extract_metadata_batch", "callee": "loads", "is_member_call": true, "source_file": "scripts/collect_naver_metadata.py", "source_location": "L181", "receiver": "json"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_extract_metadata_batch", "callee": "sleep", "is_member_call": true, "source_file": "scripts/collect_naver_metadata.py", "source_location": "L184", "receiver": "time"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_load_progress", "callee": "exists", "is_member_call": true, "source_file": "scripts/collect_naver_metadata.py", "source_location": "L189", "receiver": "PROGRESS_PATH"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_load_progress", "callee": "PROGRESS_PATH", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/collect_naver_metadata.py", "source_location": "L190"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_load_progress", "callee": "load", "is_member_call": true, "source_file": "scripts/collect_naver_metadata.py", "source_location": "L191", "receiver": "json"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_load_progress", "callee": "f", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/collect_naver_metadata.py", "source_location": "L191"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_save_progress", "callee": "mkdir", "is_member_call": true, "source_file": "scripts/collect_naver_metadata.py", "source_location": "L196", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_save_progress", "callee": "PROGRESS_PATH", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/collect_naver_metadata.py", "source_location": "L197"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_save_progress", "callee": "dump", "is_member_call": true, "source_file": "scripts/collect_naver_metadata.py", "source_location": "L198", "receiver": "json"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_save_progress", "callee": "f", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/collect_naver_metadata.py", "source_location": "L198"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_save_progress", "callee": "values", "is_member_call": true, "source_file": "scripts/collect_naver_metadata.py", "source_location": "L198", "receiver": "results"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_merge_meta", "callee": "update", "is_member_call": true, "source_file": "scripts/collect_naver_metadata.py", "source_location": "L202", "receiver": "meta"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_merge_meta", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_metadata.py", "source_location": "L204", "receiver": "source"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_merge_meta", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_metadata.py", "source_location": "L205", "receiver": "source"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_merge_meta", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_metadata.py", "source_location": "L206", "receiver": "source"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_merge_meta", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_metadata.py", "source_location": "L208", "receiver": "TYPE_LABEL"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_merge_meta", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_metadata.py", "source_location": "L209", "receiver": "source"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_merge_meta", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_metadata.py", "source_location": "L210", "receiver": "source"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_main", "callee": "exit", "is_member_call": true, "source_file": "scripts/collect_naver_metadata.py", "source_location": "L218", "receiver": "sys"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_main", "callee": "SAMPLE_SIZE", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/collect_naver_metadata.py", "source_location": "L221"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_main", "callee": "monotonic", "is_member_call": true, "source_file": "scripts/collect_naver_metadata.py", "source_location": "L228", "receiver": "time"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_main", "callee": "ThreadPoolExecutor", "is_member_call": false, "source_file": "scripts/collect_naver_metadata.py", "source_location": "L235", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_main", "callee": "MAX_WORKERS", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/collect_naver_metadata.py", "source_location": "L235"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_main", "callee": "submit", "is_member_call": true, "source_file": "scripts/collect_naver_metadata.py", "source_location": "L236", "receiver": "pool"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_main", "callee": "http", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/collect_naver_metadata.py", "source_location": "L236"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_main", "callee": "tqdm", "is_member_call": false, "source_file": "scripts/collect_naver_metadata.py", "source_location": "L237", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_main", "callee": "as_completed", "is_member_call": false, "source_file": "scripts/collect_naver_metadata.py", "source_location": "L238", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_main", "callee": "append", "is_member_call": true, "source_file": "scripts/collect_naver_metadata.py", "source_location": "L239", "receiver": "blog_results"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_main", "callee": "result", "is_member_call": true, "source_file": "scripts/collect_naver_metadata.py", "source_location": "L239", "receiver": "fut"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_main", "callee": "update", "is_member_call": true, "source_file": "scripts/collect_naver_metadata.py", "source_location": "L240", "receiver": "pbar"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_main", "callee": "monotonic", "is_member_call": true, "source_file": "scripts/collect_naver_metadata.py", "source_location": "L242", "receiver": "time"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_main", "callee": "monotonic", "is_member_call": true, "source_file": "scripts/collect_naver_metadata.py", "source_location": "L247", "receiver": "time"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_main", "callee": "tqdm", "is_member_call": false, "source_file": "scripts/collect_naver_metadata.py", "source_location": "L249", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_main", "callee": "BATCH_SIZE", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/collect_naver_metadata.py", "source_location": "L249"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_main", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_metadata.py", "source_location": "L254", "receiver": "meta"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_main", "callee": "monotonic", "is_member_call": true, "source_file": "scripts/collect_naver_metadata.py", "source_location": "L259", "receiver": "time"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_main", "callee": "monotonic", "is_member_call": true, "source_file": "scripts/collect_naver_metadata.py", "source_location": "L260", "receiver": "time"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_main", "callee": "mkdir", "is_member_call": true, "source_file": "scripts/collect_naver_metadata.py", "source_location": "L263", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_main", "callee": "values", "is_member_call": true, "source_file": "scripts/collect_naver_metadata.py", "source_location": "L264", "receiver": "done"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_main", "callee": "OUTPUT_PATH", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/collect_naver_metadata.py", "source_location": "L265"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_main", "callee": "dump", "is_member_call": true, "source_file": "scripts/collect_naver_metadata.py", "source_location": "L266", "receiver": "json"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_main", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_metadata.py", "source_location": "L272", "receiver": "r"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_main", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_metadata.py", "source_location": "L273", "receiver": "r"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_main", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_metadata.py", "source_location": "L274", "receiver": "r"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_main", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_metadata.py", "source_location": "L275", "receiver": "r"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_main", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_metadata.py", "source_location": "L276", "receiver": "r"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_metadata_main", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_metadata.py", "source_location": "L278", "receiver": "r"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/3bfe2cb281217a98711c28f53692ffc22168193beae12b23f0c97df4a0f866fd.json b/graphify-out/cache/ast/v0.9.31/3bfe2cb281217a98711c28f53692ffc22168193beae12b23f0c97df4a0f866fd.json new file mode 100644 index 0000000..472bb21 --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/3bfe2cb281217a98711c28f53692ffc22168193beae12b23f0c97df4a0f866fd.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_scripts_test_execute_py", "label": "test_execute.py", "file_type": "code", "source_file": "scripts/test_execute.py", "source_location": "L1"}, {"id": "fixture", "label": "fixture", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/scripts/test_execute.py"}, {"id": "$graphify-root$_scripts_test_execute_tmp_project", "label": "tmp_project()", "file_type": "code", "source_file": "scripts/test_execute.py", "source_location": "L26", "_callable": true}, {"id": "$graphify-root$_scripts_test_execute_phase_dir", "label": "phase_dir()", "file_type": "code", "source_file": "scripts/test_execute.py", "source_location": "L43", "_callable": true}, {"id": "$graphify-root$_scripts_test_execute_top_index", "label": "top_index()", "file_type": "code", "source_file": "scripts/test_execute.py", "source_location": "L64", "_callable": true}, {"id": "$graphify-root$_scripts_test_execute_executor", "label": "executor()", "file_type": "code", "source_file": "scripts/test_execute.py", "source_location": "L78", "_callable": true}, {"id": "$graphify-root$_scripts_test_execute_teststamp", "label": "TestStamp", "file_type": "code", "source_file": "scripts/test_execute.py", "source_location": "L96", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_scripts_test_execute_teststamp_test_returns_kst_timestamp", "label": ".test_returns_kst_timestamp()", "file_type": "code", "source_file": "scripts/test_execute.py", "source_location": "L97", "_callable": true}, {"id": "$graphify-root$_scripts_test_execute_teststamp_test_format_is_iso", "label": ".test_format_is_iso()", "file_type": "code", "source_file": "scripts/test_execute.py", "source_location": "L101", "_callable": true}, {"id": "$graphify-root$_scripts_test_execute_teststamp_test_is_current_time", "label": ".test_is_current_time()", "file_type": "code", "source_file": "scripts/test_execute.py", "source_location": "L106", "_callable": true}, {"id": "$graphify-root$_scripts_test_execute_testjsonhelpers", "label": "TestJsonHelpers", "file_type": "code", "source_file": "scripts/test_execute.py", "source_location": "L118", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_scripts_test_execute_testjsonhelpers_test_roundtrip", "label": ".test_roundtrip()", "file_type": "code", "source_file": "scripts/test_execute.py", "source_location": "L119", "_callable": true}, {"id": "$graphify-root$_scripts_test_execute_testjsonhelpers_test_save_ensures_ascii_false", "label": ".test_save_ensures_ascii_false()", "file_type": "code", "source_file": "scripts/test_execute.py", "source_location": "L126", "_callable": true}, {"id": "$graphify-root$_scripts_test_execute_testjsonhelpers_test_save_indented", "label": ".test_save_indented()", "file_type": "code", "source_file": "scripts/test_execute.py", "source_location": "L133", "_callable": true}, {"id": "$graphify-root$_scripts_test_execute_testjsonhelpers_test_load_nonexistent_raises", "label": ".test_load_nonexistent_raises()", "file_type": "code", "source_file": "scripts/test_execute.py", "source_location": "L139", "_callable": true}, {"id": "$graphify-root$_scripts_test_execute_testloadguardrails", "label": "TestLoadGuardrails", "file_type": "code", "source_file": "scripts/test_execute.py", "source_location": "L148", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_scripts_test_execute_testloadguardrails_test_loads_claude_md_and_docs", "label": ".test_loads_claude_md_and_docs()", "file_type": "code", "source_file": "scripts/test_execute.py", "source_location": "L149", "_callable": true}, {"id": "$graphify-root$_scripts_test_execute_testloadguardrails_test_sections_separated_by_divider", "label": ".test_sections_separated_by_divider()", "file_type": "code", "source_file": "scripts/test_execute.py", "source_location": "L157", "_callable": true}, {"id": "$graphify-root$_scripts_test_execute_testloadguardrails_test_docs_sorted_alphabetically", "label": ".test_docs_sorted_alphabetically()", "file_type": "code", "source_file": "scripts/test_execute.py", "source_location": "L162", "_callable": true}, {"id": "$graphify-root$_scripts_test_execute_testloadguardrails_test_no_claude_md", "label": ".test_no_claude_md()", "file_type": "code", "source_file": "scripts/test_execute.py", "source_location": "L169", "_callable": true}, {"id": "$graphify-root$_scripts_test_execute_testloadguardrails_test_no_docs_dir", "label": ".test_no_docs_dir()", "file_type": "code", "source_file": "scripts/test_execute.py", "source_location": "L176", "_callable": true}, {"id": "$graphify-root$_scripts_test_execute_testloadguardrails_test_empty_project", "label": ".test_empty_project()", "file_type": "code", "source_file": "scripts/test_execute.py", "source_location": "L184", "_callable": true}, {"id": "$graphify-root$_scripts_test_execute_testbuildstepcontext", "label": "TestBuildStepContext", "file_type": "code", "source_file": "scripts/test_execute.py", "source_location": "L200", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_scripts_test_execute_testbuildstepcontext_test_includes_completed_with_summary", "label": ".test_includes_completed_with_summary()", "file_type": "code", "source_file": "scripts/test_execute.py", "source_location": "L201", "_callable": true}, {"id": "$graphify-root$_scripts_test_execute_testbuildstepcontext_test_excludes_pending", "label": ".test_excludes_pending()", "file_type": "code", "source_file": "scripts/test_execute.py", "source_location": "L207", "_callable": true}, {"id": "$graphify-root$_scripts_test_execute_testbuildstepcontext_test_excludes_completed_without_summary", "label": ".test_excludes_completed_without_summary()", "file_type": "code", "source_file": "scripts/test_execute.py", "source_location": "L212", "_callable": true}, {"id": "$graphify-root$_scripts_test_execute_testbuildstepcontext_test_empty_when_no_completed", "label": ".test_empty_when_no_completed()", "file_type": "code", "source_file": "scripts/test_execute.py", "source_location": "L219", "_callable": true}, {"id": "$graphify-root$_scripts_test_execute_testbuildstepcontext_test_has_header", "label": ".test_has_header()", "file_type": "code", "source_file": "scripts/test_execute.py", "source_location": "L224", "_callable": true}, {"id": "$graphify-root$_scripts_test_execute_testbuildpreamble", "label": "TestBuildPreamble", "file_type": "code", "source_file": "scripts/test_execute.py", "source_location": "L234", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_scripts_test_execute_testbuildpreamble_test_includes_project_name", "label": ".test_includes_project_name()", "file_type": "code", "source_file": "scripts/test_execute.py", "source_location": "L235", "_callable": true}, {"id": "$graphify-root$_scripts_test_execute_testbuildpreamble_test_includes_guardrails", "label": ".test_includes_guardrails()", "file_type": "code", "source_file": "scripts/test_execute.py", "source_location": "L239", "_callable": true}, {"id": "$graphify-root$_scripts_test_execute_testbuildpreamble_test_includes_step_context", "label": ".test_includes_step_context()", "file_type": "code", "source_file": "scripts/test_execute.py", "source_location": "L243", "_callable": true}, {"id": "$graphify-root$_scripts_test_execute_testbuildpreamble_test_includes_commit_example", "label": ".test_includes_commit_example()", "file_type": "code", "source_file": "scripts/test_execute.py", "source_location": "L248", "_callable": true}, {"id": "$graphify-root$_scripts_test_execute_testbuildpreamble_test_includes_rules", "label": ".test_includes_rules()", "file_type": "code", "source_file": "scripts/test_execute.py", "source_location": "L252", "_callable": true}, {"id": "$graphify-root$_scripts_test_execute_testbuildpreamble_test_no_retry_section_by_default", "label": ".test_no_retry_section_by_default()", "file_type": "code", "source_file": "scripts/test_execute.py", "source_location": "L257", "_callable": true}, {"id": "$graphify-root$_scripts_test_execute_testbuildpreamble_test_retry_section_with_prev_error", "label": ".test_retry_section_with_prev_error()", "file_type": "code", "source_file": "scripts/test_execute.py", "source_location": "L261", "_callable": true}, {"id": "$graphify-root$_scripts_test_execute_testbuildpreamble_test_includes_max_retries", "label": ".test_includes_max_retries()", "file_type": "code", "source_file": "scripts/test_execute.py", "source_location": "L266", "_callable": true}, {"id": "$graphify-root$_scripts_test_execute_testbuildpreamble_test_includes_index_path", "label": ".test_includes_index_path()", "file_type": "code", "source_file": "scripts/test_execute.py", "source_location": "L270", "_callable": true}, {"id": "$graphify-root$_scripts_test_execute_testupdatetopindex", "label": "TestUpdateTopIndex", "file_type": "code", "source_file": "scripts/test_execute.py", "source_location": "L279", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_scripts_test_execute_testupdatetopindex_test_completed", "label": ".test_completed()", "file_type": "code", "source_file": "scripts/test_execute.py", "source_location": "L280", "_callable": true}, {"id": "$graphify-root$_scripts_test_execute_testupdatetopindex_test_error", "label": ".test_error()", "file_type": "code", "source_file": "scripts/test_execute.py", "source_location": "L288", "_callable": true}, {"id": "$graphify-root$_scripts_test_execute_testupdatetopindex_test_blocked", "label": ".test_blocked()", "file_type": "code", "source_file": "scripts/test_execute.py", "source_location": "L296", "_callable": true}, {"id": "$graphify-root$_scripts_test_execute_testupdatetopindex_test_other_phases_unchanged", "label": ".test_other_phases_unchanged()", "file_type": "code", "source_file": "scripts/test_execute.py", "source_location": "L304", "_callable": true}, {"id": "$graphify-root$_scripts_test_execute_testupdatetopindex_test_nonexistent_dir_is_noop", "label": ".test_nonexistent_dir_is_noop()", "file_type": "code", "source_file": "scripts/test_execute.py", "source_location": "L311", "_callable": true}, {"id": "$graphify-root$_scripts_test_execute_testupdatetopindex_test_no_top_index_file", "label": ".test_no_top_index_file()", "file_type": "code", "source_file": "scripts/test_execute.py", "source_location": "L320", "_callable": true}, {"id": "$graphify-root$_scripts_test_execute_testcheckoutbranch", "label": "TestCheckoutBranch", "file_type": "code", "source_file": "scripts/test_execute.py", "source_location": "L329", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_scripts_test_execute_testcheckoutbranch_mock_git", "label": "._mock_git()", "file_type": "code", "source_file": "scripts/test_execute.py", "source_location": "L330", "_callable": true}, {"id": "$graphify-root$_scripts_test_execute_testcheckoutbranch_test_already_on_branch", "label": ".test_already_on_branch()", "file_type": "code", "source_file": "scripts/test_execute.py", "source_location": "L340", "_callable": true}, {"id": "$graphify-root$_scripts_test_execute_testcheckoutbranch_test_branch_exists_checkout", "label": ".test_branch_exists_checkout()", "file_type": "code", "source_file": "scripts/test_execute.py", "source_location": "L346", "_callable": true}, {"id": "$graphify-root$_scripts_test_execute_testcheckoutbranch_test_branch_not_exists_create", "label": ".test_branch_not_exists_create()", "file_type": "code", "source_file": "scripts/test_execute.py", "source_location": "L354", "_callable": true}, {"id": "$graphify-root$_scripts_test_execute_testcheckoutbranch_test_checkout_fails_exits", "label": ".test_checkout_fails_exits()", "file_type": "code", "source_file": "scripts/test_execute.py", "source_location": "L362", "_callable": true}, {"id": "$graphify-root$_scripts_test_execute_testcheckoutbranch_test_no_git_exits", "label": ".test_no_git_exits()", "file_type": "code", "source_file": "scripts/test_execute.py", "source_location": "L372", "_callable": true}, {"id": "$graphify-root$_scripts_test_execute_testcommitstep", "label": "TestCommitStep", "file_type": "code", "source_file": "scripts/test_execute.py", "source_location": "L385", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_scripts_test_execute_testcommitstep_test_two_phase_commit", "label": ".test_two_phase_commit()", "file_type": "code", "source_file": "scripts/test_execute.py", "source_location": "L386", "_callable": true}, {"id": "$graphify-root$_scripts_test_execute_testcommitstep_test_no_code_changes_skips_feat_commit", "label": ".test_no_code_changes_skips_feat_commit()", "file_type": "code", "source_file": "scripts/test_execute.py", "source_location": "L402", "_callable": true}, {"id": "$graphify-root$_scripts_test_execute_testinvokeclaude", "label": "TestInvokeClaude", "file_type": "code", "source_file": "scripts/test_execute.py", "source_location": "L426", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_scripts_test_execute_testinvokeclaude_test_invokes_claude_with_correct_args", "label": ".test_invokes_claude_with_correct_args()", "file_type": "code", "source_file": "scripts/test_execute.py", "source_location": "L427", "_callable": true}, {"id": "$graphify-root$_scripts_test_execute_testinvokeclaude_test_saves_output_json", "label": ".test_saves_output_json()", "file_type": "code", "source_file": "scripts/test_execute.py", "source_location": "L443", "_callable": true}, {"id": "$graphify-root$_scripts_test_execute_testinvokeclaude_test_nonexistent_step_file_exits", "label": ".test_nonexistent_step_file_exits()", "file_type": "code", "source_file": "scripts/test_execute.py", "source_location": "L457", "_callable": true}, {"id": "$graphify-root$_scripts_test_execute_testinvokeclaude_test_timeout_is_1800", "label": ".test_timeout_is_1800()", "file_type": "code", "source_file": "scripts/test_execute.py", "source_location": "L463", "_callable": true}, {"id": "$graphify-root$_scripts_test_execute_testprogressindicator", "label": "TestProgressIndicator", "file_type": "code", "source_file": "scripts/test_execute.py", "source_location": "L477", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_scripts_test_execute_testprogressindicator_test_context_manager", "label": ".test_context_manager()", "file_type": "code", "source_file": "scripts/test_execute.py", "source_location": "L478", "_callable": true}, {"id": "$graphify-root$_scripts_test_execute_testprogressindicator_test_elapsed_increases", "label": ".test_elapsed_increases()", "file_type": "code", "source_file": "scripts/test_execute.py", "source_location": "L484", "_callable": true}, {"id": "$graphify-root$_scripts_test_execute_testmaincli", "label": "TestMainCli", "file_type": "code", "source_file": "scripts/test_execute.py", "source_location": "L495", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_scripts_test_execute_testmaincli_test_no_args_exits", "label": ".test_no_args_exits()", "file_type": "code", "source_file": "scripts/test_execute.py", "source_location": "L496", "_callable": true}, {"id": "$graphify-root$_scripts_test_execute_testmaincli_test_invalid_phase_dir_exits", "label": ".test_invalid_phase_dir_exits()", "file_type": "code", "source_file": "scripts/test_execute.py", "source_location": "L502", "_callable": true}, {"id": "$graphify-root$_scripts_test_execute_testmaincli_test_missing_index_exits", "label": ".test_missing_index_exits()", "file_type": "code", "source_file": "scripts/test_execute.py", "source_location": "L509", "_callable": true}, {"id": "$graphify-root$_scripts_test_execute_testcheckblockers", "label": "TestCheckBlockers", "file_type": "code", "source_file": "scripts/test_execute.py", "source_location": "L522", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_scripts_test_execute_testcheckblockers_make_executor_with_steps", "label": "._make_executor_with_steps()", "file_type": "code", "source_file": "scripts/test_execute.py", "source_location": "L523", "_callable": true}, {"id": "$graphify-root$_scripts_test_execute_testcheckblockers_test_error_step_exits_1", "label": ".test_error_step_exits_1()", "file_type": "code", "source_file": "scripts/test_execute.py", "source_location": "L541", "_callable": true}, {"id": "$graphify-root$_scripts_test_execute_testcheckblockers_test_blocked_step_exits_2", "label": ".test_blocked_step_exits_2()", "file_type": "code", "source_file": "scripts/test_execute.py", "source_location": "L551", "_callable": true}, {"id": "$graphify-root$_scripts_test_execute_rationale_1", "label": "execute.py \ub9ac\ud329\ud130\ub9c1 \uc548\uc804\ub9dd \ud14c\uc2a4\ud2b8. \ub9ac\ud329\ud130\ub9c1 \uc804\ud6c4 \ub3d9\uc791\uc774 \ub3d9\uc77c\ud55c\uc9c0 \uac80\uc99d\ud55c\ub2e4.", "file_type": "rationale", "source_file": "scripts/test_execute.py", "source_location": "L1"}, {"id": "$graphify-root$_scripts_test_execute_rationale_27", "label": "phases/, CLAUDE.md, docs/ \ub97c \uac16\ucd98 \uc784\uc2dc \ud504\ub85c\uc81d\ud2b8 \uad6c\uc870.", "file_type": "rationale", "source_file": "scripts/test_execute.py", "source_location": "L27"}, {"id": "$graphify-root$_scripts_test_execute_rationale_44", "label": "step 3\uac1c\ub97c \uac00\uc9c4 phase \ub514\ub809\ud1a0\ub9ac.", "file_type": "rationale", "source_file": "scripts/test_execute.py", "source_location": "L44"}, {"id": "$graphify-root$_scripts_test_execute_rationale_65", "label": "phases/index.json (top-level).", "file_type": "rationale", "source_file": "scripts/test_execute.py", "source_location": "L65"}, {"id": "$graphify-root$_scripts_test_execute_rationale_79", "label": "\ud14c\uc2a4\ud2b8\uc6a9 StepExecutor \uc778\uc2a4\ud134\uc2a4. git \ud638\ucd9c\uc740 \ubcc4\ub3c4 mock \ud544\uc694.", "file_type": "rationale", "source_file": "scripts/test_execute.py", "source_location": "L79"}], "edges": [{"source": "$graphify-root$_scripts_test_execute_py", "target": "json", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L6", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_execute_py", "target": "os", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L7", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_execute_py", "target": "subprocess", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L8", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_execute_py", "target": "sys", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L9", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_execute_py", "target": "textwrap", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L10", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_execute_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L11", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_execute_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L12", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_execute_py", "target": "unittest_mock", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L13", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_execute_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L15", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_execute_py", "target": "execute", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L18", "weight": 1.0, "local_alias": "ex"}, {"source": "$graphify-root$_scripts_test_execute_tmp_project", "target": "fixture", "relation": "references", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L25", "weight": 1.0, "context": "decorator"}, {"source": "$graphify-root$_scripts_test_execute_py", "target": "$graphify-root$_scripts_test_execute_tmp_project", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L26", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_execute_phase_dir", "target": "fixture", "relation": "references", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L42", "weight": 1.0, "context": "decorator"}, {"source": "$graphify-root$_scripts_test_execute_py", "target": "$graphify-root$_scripts_test_execute_phase_dir", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L43", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_execute_top_index", "target": "fixture", "relation": "references", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L63", "weight": 1.0, "context": "decorator"}, {"source": "$graphify-root$_scripts_test_execute_py", "target": "$graphify-root$_scripts_test_execute_top_index", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L64", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_execute_executor", "target": "fixture", "relation": "references", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L77", "weight": 1.0, "context": "decorator"}, {"source": "$graphify-root$_scripts_test_execute_py", "target": "$graphify-root$_scripts_test_execute_executor", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L78", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_execute_py", "target": "$graphify-root$_scripts_test_execute_teststamp", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L96", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_execute_teststamp", "target": "$graphify-root$_scripts_test_execute_teststamp_test_returns_kst_timestamp", "relation": "method", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L97", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_execute_teststamp", "target": "$graphify-root$_scripts_test_execute_teststamp_test_format_is_iso", "relation": "method", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L101", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_execute_teststamp", "target": "$graphify-root$_scripts_test_execute_teststamp_test_is_current_time", "relation": "method", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L106", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_execute_py", "target": "$graphify-root$_scripts_test_execute_testjsonhelpers", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L118", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_execute_testjsonhelpers", "target": "$graphify-root$_scripts_test_execute_testjsonhelpers_test_roundtrip", "relation": "method", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L119", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_execute_testjsonhelpers", "target": "$graphify-root$_scripts_test_execute_testjsonhelpers_test_save_ensures_ascii_false", "relation": "method", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L126", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_execute_testjsonhelpers", "target": "$graphify-root$_scripts_test_execute_testjsonhelpers_test_save_indented", "relation": "method", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L133", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_execute_testjsonhelpers", "target": "$graphify-root$_scripts_test_execute_testjsonhelpers_test_load_nonexistent_raises", "relation": "method", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L139", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_execute_py", "target": "$graphify-root$_scripts_test_execute_testloadguardrails", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L148", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_execute_testloadguardrails", "target": "$graphify-root$_scripts_test_execute_testloadguardrails_test_loads_claude_md_and_docs", "relation": "method", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L149", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_execute_testloadguardrails", "target": "$graphify-root$_scripts_test_execute_testloadguardrails_test_sections_separated_by_divider", "relation": "method", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L157", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_execute_testloadguardrails", "target": "$graphify-root$_scripts_test_execute_testloadguardrails_test_docs_sorted_alphabetically", "relation": "method", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L162", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_execute_testloadguardrails", "target": "$graphify-root$_scripts_test_execute_testloadguardrails_test_no_claude_md", "relation": "method", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L169", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_execute_testloadguardrails", "target": "$graphify-root$_scripts_test_execute_testloadguardrails_test_no_docs_dir", "relation": "method", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L176", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_execute_testloadguardrails", "target": "$graphify-root$_scripts_test_execute_testloadguardrails_test_empty_project", "relation": "method", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L184", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_execute_py", "target": "$graphify-root$_scripts_test_execute_testbuildstepcontext", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L200", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_execute_testbuildstepcontext", "target": "$graphify-root$_scripts_test_execute_testbuildstepcontext_test_includes_completed_with_summary", "relation": "method", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L201", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_execute_testbuildstepcontext", "target": "$graphify-root$_scripts_test_execute_testbuildstepcontext_test_excludes_pending", "relation": "method", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L207", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_execute_testbuildstepcontext", "target": "$graphify-root$_scripts_test_execute_testbuildstepcontext_test_excludes_completed_without_summary", "relation": "method", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L212", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_execute_testbuildstepcontext", "target": "$graphify-root$_scripts_test_execute_testbuildstepcontext_test_empty_when_no_completed", "relation": "method", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L219", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_execute_testbuildstepcontext", "target": "$graphify-root$_scripts_test_execute_testbuildstepcontext_test_has_header", "relation": "method", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L224", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_execute_py", "target": "$graphify-root$_scripts_test_execute_testbuildpreamble", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L234", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_execute_testbuildpreamble", "target": "$graphify-root$_scripts_test_execute_testbuildpreamble_test_includes_project_name", "relation": "method", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L235", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_execute_testbuildpreamble", "target": "$graphify-root$_scripts_test_execute_testbuildpreamble_test_includes_guardrails", "relation": "method", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L239", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_execute_testbuildpreamble", "target": "$graphify-root$_scripts_test_execute_testbuildpreamble_test_includes_step_context", "relation": "method", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L243", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_execute_testbuildpreamble", "target": "$graphify-root$_scripts_test_execute_testbuildpreamble_test_includes_commit_example", "relation": "method", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L248", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_execute_testbuildpreamble", "target": "$graphify-root$_scripts_test_execute_testbuildpreamble_test_includes_rules", "relation": "method", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L252", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_execute_testbuildpreamble", "target": "$graphify-root$_scripts_test_execute_testbuildpreamble_test_no_retry_section_by_default", "relation": "method", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L257", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_execute_testbuildpreamble", "target": "$graphify-root$_scripts_test_execute_testbuildpreamble_test_retry_section_with_prev_error", "relation": "method", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L261", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_execute_testbuildpreamble", "target": "$graphify-root$_scripts_test_execute_testbuildpreamble_test_includes_max_retries", "relation": "method", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L266", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_execute_testbuildpreamble", "target": "$graphify-root$_scripts_test_execute_testbuildpreamble_test_includes_index_path", "relation": "method", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L270", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_execute_py", "target": "$graphify-root$_scripts_test_execute_testupdatetopindex", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L279", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_execute_testupdatetopindex", "target": "$graphify-root$_scripts_test_execute_testupdatetopindex_test_completed", "relation": "method", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L280", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_execute_testupdatetopindex", "target": "$graphify-root$_scripts_test_execute_testupdatetopindex_test_error", "relation": "method", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L288", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_execute_testupdatetopindex", "target": "$graphify-root$_scripts_test_execute_testupdatetopindex_test_blocked", "relation": "method", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L296", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_execute_testupdatetopindex", "target": "$graphify-root$_scripts_test_execute_testupdatetopindex_test_other_phases_unchanged", "relation": "method", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L304", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_execute_testupdatetopindex", "target": "$graphify-root$_scripts_test_execute_testupdatetopindex_test_nonexistent_dir_is_noop", "relation": "method", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L311", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_execute_testupdatetopindex", "target": "$graphify-root$_scripts_test_execute_testupdatetopindex_test_no_top_index_file", "relation": "method", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L320", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_execute_py", "target": "$graphify-root$_scripts_test_execute_testcheckoutbranch", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L329", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_execute_testcheckoutbranch", "target": "$graphify-root$_scripts_test_execute_testcheckoutbranch_mock_git", "relation": "method", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L330", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_execute_testcheckoutbranch", "target": "$graphify-root$_scripts_test_execute_testcheckoutbranch_test_already_on_branch", "relation": "method", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L340", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_execute_testcheckoutbranch", "target": "$graphify-root$_scripts_test_execute_testcheckoutbranch_test_branch_exists_checkout", "relation": "method", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L346", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_execute_testcheckoutbranch", "target": "$graphify-root$_scripts_test_execute_testcheckoutbranch_test_branch_not_exists_create", "relation": "method", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L354", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_execute_testcheckoutbranch", "target": "$graphify-root$_scripts_test_execute_testcheckoutbranch_test_checkout_fails_exits", "relation": "method", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L362", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_execute_testcheckoutbranch", "target": "$graphify-root$_scripts_test_execute_testcheckoutbranch_test_no_git_exits", "relation": "method", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L372", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_execute_py", "target": "$graphify-root$_scripts_test_execute_testcommitstep", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L385", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_execute_testcommitstep", "target": "$graphify-root$_scripts_test_execute_testcommitstep_test_two_phase_commit", "relation": "method", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L386", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_execute_testcommitstep", "target": "$graphify-root$_scripts_test_execute_testcommitstep_test_no_code_changes_skips_feat_commit", "relation": "method", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L402", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_execute_py", "target": "$graphify-root$_scripts_test_execute_testinvokeclaude", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L426", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_execute_testinvokeclaude", "target": "$graphify-root$_scripts_test_execute_testinvokeclaude_test_invokes_claude_with_correct_args", "relation": "method", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L427", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_execute_testinvokeclaude", "target": "$graphify-root$_scripts_test_execute_testinvokeclaude_test_saves_output_json", "relation": "method", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L443", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_execute_testinvokeclaude", "target": "$graphify-root$_scripts_test_execute_testinvokeclaude_test_nonexistent_step_file_exits", "relation": "method", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L457", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_execute_testinvokeclaude", "target": "$graphify-root$_scripts_test_execute_testinvokeclaude_test_timeout_is_1800", "relation": "method", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L463", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_execute_py", "target": "$graphify-root$_scripts_test_execute_testprogressindicator", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L477", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_execute_testprogressindicator", "target": "$graphify-root$_scripts_test_execute_testprogressindicator_test_context_manager", "relation": "method", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L478", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_execute_testprogressindicator", "target": "$graphify-root$_scripts_test_execute_testprogressindicator_test_elapsed_increases", "relation": "method", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L484", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_execute_py", "target": "$graphify-root$_scripts_test_execute_testmaincli", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L495", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_execute_testmaincli", "target": "$graphify-root$_scripts_test_execute_testmaincli_test_no_args_exits", "relation": "method", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L496", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_execute_testmaincli", "target": "$graphify-root$_scripts_test_execute_testmaincli_test_invalid_phase_dir_exits", "relation": "method", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L502", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_execute_testmaincli", "target": "$graphify-root$_scripts_test_execute_testmaincli_test_missing_index_exits", "relation": "method", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L509", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_execute_py", "target": "$graphify-root$_scripts_test_execute_testcheckblockers", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L522", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_execute_testcheckblockers", "target": "$graphify-root$_scripts_test_execute_testcheckblockers_make_executor_with_steps", "relation": "method", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L523", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_execute_testcheckblockers", "target": "$graphify-root$_scripts_test_execute_testcheckblockers_test_error_step_exits_1", "relation": "method", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L541", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_execute_testcheckblockers", "target": "$graphify-root$_scripts_test_execute_testcheckblockers_test_blocked_step_exits_2", "relation": "method", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L551", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_execute_testcheckoutbranch_test_already_on_branch", "target": "$graphify-root$_scripts_test_execute_testcheckoutbranch_mock_git", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L341", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_execute_testcheckoutbranch_test_branch_exists_checkout", "target": "$graphify-root$_scripts_test_execute_testcheckoutbranch_mock_git", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L347", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_execute_testcheckoutbranch_test_branch_not_exists_create", "target": "$graphify-root$_scripts_test_execute_testcheckoutbranch_mock_git", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L355", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_execute_testcheckoutbranch_test_checkout_fails_exits", "target": "$graphify-root$_scripts_test_execute_testcheckoutbranch_mock_git", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L363", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_execute_testcheckoutbranch_test_no_git_exits", "target": "$graphify-root$_scripts_test_execute_testcheckoutbranch_mock_git", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L373", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_execute_testcheckblockers_test_error_step_exits_1", "target": "$graphify-root$_scripts_test_execute_testcheckblockers_make_executor_with_steps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L546", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_execute_testcheckblockers_test_blocked_step_exits_2", "target": "$graphify-root$_scripts_test_execute_testcheckblockers_make_executor_with_steps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L556", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_execute_rationale_1", "target": "$graphify-root$_scripts_test_execute_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_execute_rationale_27", "target": "$graphify-root$_scripts_test_execute_tmp_project", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L27", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_execute_rationale_44", "target": "$graphify-root$_scripts_test_execute_phase_dir", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L44", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_execute_rationale_65", "target": "$graphify-root$_scripts_test_execute_top_index", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L65", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_execute_rationale_79", "target": "$graphify-root$_scripts_test_execute_executor", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "scripts/test_execute.py", "source_location": "L79", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_scripts_test_execute_tmp_project", "callee": "mkdir", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L29", "receiver": "phases_dir"}, {"caller_nid": "$graphify-root$_scripts_test_execute_tmp_project", "callee": "write_text", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L32", "receiver": "claude_md"}, {"caller_nid": "$graphify-root$_scripts_test_execute_tmp_project", "callee": "mkdir", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L35", "receiver": "docs_dir"}, {"caller_nid": "$graphify-root$_scripts_test_execute_tmp_project", "callee": "write_text", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L36", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_test_execute_tmp_project", "callee": "write_text", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L37", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_test_execute_phase_dir", "callee": "mkdir", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L46", "receiver": "d"}, {"caller_nid": "$graphify-root$_scripts_test_execute_phase_dir", "callee": "write_text", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L57", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_test_execute_phase_dir", "callee": "dumps", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L57", "receiver": "json"}, {"caller_nid": "$graphify-root$_scripts_test_execute_phase_dir", "callee": "write_text", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L58", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_test_execute_top_index", "callee": "write_text", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L73", "receiver": "p"}, {"caller_nid": "$graphify-root$_scripts_test_execute_top_index", "callee": "dumps", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L73", "receiver": "json"}, {"caller_nid": "$graphify-root$_scripts_test_execute_executor", "callee": "object", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L80", "receiver": "patch"}, {"caller_nid": "$graphify-root$_scripts_test_execute_executor", "callee": "ex", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/test_execute.py", "source_location": "L80"}, {"caller_nid": "$graphify-root$_scripts_test_execute_executor", "callee": "StepExecutor", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L81", "receiver": "ex"}, {"caller_nid": "$graphify-root$_scripts_test_execute_teststamp_test_returns_kst_timestamp", "callee": "_stamp", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L98", "receiver": "executor"}, {"caller_nid": "$graphify-root$_scripts_test_execute_teststamp_test_format_is_iso", "callee": "_stamp", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L102", "receiver": "executor"}, {"caller_nid": "$graphify-root$_scripts_test_execute_teststamp_test_format_is_iso", "callee": "strptime", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L103", "receiver": "datetime"}, {"caller_nid": "$graphify-root$_scripts_test_execute_teststamp_test_is_current_time", "callee": "replace", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L107", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_test_execute_teststamp_test_is_current_time", "callee": "now", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L107", "receiver": "datetime"}, {"caller_nid": "$graphify-root$_scripts_test_execute_teststamp_test_is_current_time", "callee": "_stamp", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L108", "receiver": "executor"}, {"caller_nid": "$graphify-root$_scripts_test_execute_teststamp_test_is_current_time", "callee": "replace", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L109", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_test_execute_teststamp_test_is_current_time", "callee": "now", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L109", "receiver": "datetime"}, {"caller_nid": "$graphify-root$_scripts_test_execute_teststamp_test_is_current_time", "callee": "timedelta", "is_member_call": false, "source_file": "scripts/test_execute.py", "source_location": "L109", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_test_execute_teststamp_test_is_current_time", "callee": "strptime", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L110", "receiver": "datetime"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testjsonhelpers_test_roundtrip", "callee": "_write_json", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L122", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_test_execute_testjsonhelpers_test_roundtrip", "callee": "_read_json", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L123", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_test_execute_testjsonhelpers_test_save_ensures_ascii_false", "callee": "_write_json", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L128", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_test_execute_testjsonhelpers_test_save_ensures_ascii_false", "callee": "read_text", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L129", "receiver": "p"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testjsonhelpers_test_save_indented", "callee": "_write_json", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L135", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_test_execute_testjsonhelpers_test_save_indented", "callee": "read_text", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L136", "receiver": "p"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testjsonhelpers_test_load_nonexistent_raises", "callee": "raises", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L140", "receiver": "pytest"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testjsonhelpers_test_load_nonexistent_raises", "callee": "FileNotFoundError", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/test_execute.py", "source_location": "L140"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testjsonhelpers_test_load_nonexistent_raises", "callee": "_read_json", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L141", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_test_execute_testloadguardrails_test_loads_claude_md_and_docs", "callee": "object", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L150", "receiver": "patch"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testloadguardrails_test_loads_claude_md_and_docs", "callee": "ex", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/test_execute.py", "source_location": "L150"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testloadguardrails_test_loads_claude_md_and_docs", "callee": "_load_guardrails", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L151", "receiver": "executor"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testloadguardrails_test_sections_separated_by_divider", "callee": "object", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L158", "receiver": "patch"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testloadguardrails_test_sections_separated_by_divider", "callee": "ex", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/test_execute.py", "source_location": "L158"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testloadguardrails_test_sections_separated_by_divider", "callee": "_load_guardrails", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L159", "receiver": "executor"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testloadguardrails_test_docs_sorted_alphabetically", "callee": "object", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L163", "receiver": "patch"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testloadguardrails_test_docs_sorted_alphabetically", "callee": "ex", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/test_execute.py", "source_location": "L163"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testloadguardrails_test_docs_sorted_alphabetically", "callee": "_load_guardrails", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L164", "receiver": "executor"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testloadguardrails_test_docs_sorted_alphabetically", "callee": "index", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L165", "receiver": "result"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testloadguardrails_test_docs_sorted_alphabetically", "callee": "index", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L166", "receiver": "result"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testloadguardrails_test_no_claude_md", "callee": "unlink", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L170", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_test_execute_testloadguardrails_test_no_claude_md", "callee": "object", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L171", "receiver": "patch"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testloadguardrails_test_no_claude_md", "callee": "ex", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/test_execute.py", "source_location": "L171"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testloadguardrails_test_no_claude_md", "callee": "_load_guardrails", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L172", "receiver": "executor"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testloadguardrails_test_no_docs_dir", "callee": "rmtree", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L178", "receiver": "shutil"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testloadguardrails_test_no_docs_dir", "callee": "object", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L179", "receiver": "patch"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testloadguardrails_test_no_docs_dir", "callee": "ex", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/test_execute.py", "source_location": "L179"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testloadguardrails_test_no_docs_dir", "callee": "_load_guardrails", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L180", "receiver": "executor"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testloadguardrails_test_empty_project", "callee": "object", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L185", "receiver": "patch"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testloadguardrails_test_empty_project", "callee": "ex", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/test_execute.py", "source_location": "L185"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testloadguardrails_test_empty_project", "callee": "mkdir", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L188", "receiver": "phases_dir"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testloadguardrails_test_empty_project", "callee": "write_text", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L190", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_test_execute_testloadguardrails_test_empty_project", "callee": "dumps", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L190", "receiver": "json"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testloadguardrails_test_empty_project", "callee": "__new__", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L191", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_test_execute_testloadguardrails_test_empty_project", "callee": "_load_guardrails", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L192", "receiver": "inst"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testbuildstepcontext_test_includes_completed_with_summary", "callee": "loads", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L202", "receiver": "json"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testbuildstepcontext_test_includes_completed_with_summary", "callee": "read_text", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L202", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_test_execute_testbuildstepcontext_test_includes_completed_with_summary", "callee": "_build_step_context", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L203", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_test_execute_testbuildstepcontext_test_excludes_pending", "callee": "loads", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L208", "receiver": "json"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testbuildstepcontext_test_excludes_pending", "callee": "read_text", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L208", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_test_execute_testbuildstepcontext_test_excludes_pending", "callee": "_build_step_context", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L209", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_test_execute_testbuildstepcontext_test_excludes_completed_without_summary", "callee": "loads", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L213", "receiver": "json"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testbuildstepcontext_test_excludes_completed_without_summary", "callee": "read_text", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L213", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_test_execute_testbuildstepcontext_test_excludes_completed_without_summary", "callee": "_build_step_context", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L215", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_test_execute_testbuildstepcontext_test_empty_when_no_completed", "callee": "_build_step_context", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L221", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_test_execute_testbuildstepcontext_test_has_header", "callee": "loads", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L225", "receiver": "json"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testbuildstepcontext_test_has_header", "callee": "read_text", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L225", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_test_execute_testbuildstepcontext_test_has_header", "callee": "_build_step_context", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L226", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_test_execute_testbuildstepcontext_test_has_header", "callee": "startswith", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L227", "receiver": "result"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testbuildpreamble_test_includes_project_name", "callee": "_build_preamble", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L236", "receiver": "executor"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testbuildpreamble_test_includes_guardrails", "callee": "_build_preamble", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L240", "receiver": "executor"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testbuildpreamble_test_includes_step_context", "callee": "_build_preamble", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L245", "receiver": "executor"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testbuildpreamble_test_includes_commit_example", "callee": "_build_preamble", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L249", "receiver": "executor"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testbuildpreamble_test_includes_rules", "callee": "_build_preamble", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L253", "receiver": "executor"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testbuildpreamble_test_no_retry_section_by_default", "callee": "_build_preamble", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L258", "receiver": "executor"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testbuildpreamble_test_retry_section_with_prev_error", "callee": "_build_preamble", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L262", "receiver": "executor"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testbuildpreamble_test_includes_max_retries", "callee": "_build_preamble", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L267", "receiver": "executor"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testbuildpreamble_test_includes_index_path", "callee": "_build_preamble", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L271", "receiver": "executor"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testupdatetopindex_test_completed", "callee": "_update_top_index", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L282", "receiver": "executor"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testupdatetopindex_test_completed", "callee": "loads", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L283", "receiver": "json"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testupdatetopindex_test_completed", "callee": "read_text", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L283", "receiver": "top_index"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testupdatetopindex_test_error", "callee": "_update_top_index", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L290", "receiver": "executor"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testupdatetopindex_test_error", "callee": "loads", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L291", "receiver": "json"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testupdatetopindex_test_error", "callee": "read_text", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L291", "receiver": "top_index"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testupdatetopindex_test_blocked", "callee": "_update_top_index", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L298", "receiver": "executor"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testupdatetopindex_test_blocked", "callee": "loads", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L299", "receiver": "json"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testupdatetopindex_test_blocked", "callee": "read_text", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L299", "receiver": "top_index"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testupdatetopindex_test_other_phases_unchanged", "callee": "_update_top_index", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L306", "receiver": "executor"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testupdatetopindex_test_other_phases_unchanged", "callee": "loads", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L307", "receiver": "json"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testupdatetopindex_test_other_phases_unchanged", "callee": "read_text", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L307", "receiver": "top_index"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testupdatetopindex_test_nonexistent_dir_is_noop", "callee": "loads", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L314", "receiver": "json"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testupdatetopindex_test_nonexistent_dir_is_noop", "callee": "read_text", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L314", "receiver": "top_index"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testupdatetopindex_test_nonexistent_dir_is_noop", "callee": "_update_top_index", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L315", "receiver": "executor"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testupdatetopindex_test_nonexistent_dir_is_noop", "callee": "loads", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L316", "receiver": "json"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testupdatetopindex_test_nonexistent_dir_is_noop", "callee": "read_text", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L316", "receiver": "top_index"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testupdatetopindex_test_no_top_index_file", "callee": "_update_top_index", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L322", "receiver": "executor"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testcheckoutbranch_mock_git", "callee": "fake_git", "is_member_call": false, "indirect": true, "context": "assignment", "source_file": "scripts/test_execute.py", "source_location": "L338"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testcheckoutbranch_test_already_on_branch", "callee": "MagicMock", "is_member_call": false, "source_file": "scripts/test_execute.py", "source_location": "L342", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_test_execute_testcheckoutbranch_test_already_on_branch", "callee": "_checkout_branch", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L344", "receiver": "executor"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testcheckoutbranch_test_branch_exists_checkout", "callee": "MagicMock", "is_member_call": false, "source_file": "scripts/test_execute.py", "source_location": "L348", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_test_execute_testcheckoutbranch_test_branch_exists_checkout", "callee": "MagicMock", "is_member_call": false, "source_file": "scripts/test_execute.py", "source_location": "L349", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_test_execute_testcheckoutbranch_test_branch_exists_checkout", "callee": "MagicMock", "is_member_call": false, "source_file": "scripts/test_execute.py", "source_location": "L350", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_test_execute_testcheckoutbranch_test_branch_exists_checkout", "callee": "_checkout_branch", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L352", "receiver": "executor"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testcheckoutbranch_test_branch_not_exists_create", "callee": "MagicMock", "is_member_call": false, "source_file": "scripts/test_execute.py", "source_location": "L356", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_test_execute_testcheckoutbranch_test_branch_not_exists_create", "callee": "MagicMock", "is_member_call": false, "source_file": "scripts/test_execute.py", "source_location": "L357", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_test_execute_testcheckoutbranch_test_branch_not_exists_create", "callee": "MagicMock", "is_member_call": false, "source_file": "scripts/test_execute.py", "source_location": "L358", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_test_execute_testcheckoutbranch_test_branch_not_exists_create", "callee": "_checkout_branch", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L360", "receiver": "executor"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testcheckoutbranch_test_checkout_fails_exits", "callee": "MagicMock", "is_member_call": false, "source_file": "scripts/test_execute.py", "source_location": "L364", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_test_execute_testcheckoutbranch_test_checkout_fails_exits", "callee": "MagicMock", "is_member_call": false, "source_file": "scripts/test_execute.py", "source_location": "L365", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_test_execute_testcheckoutbranch_test_checkout_fails_exits", "callee": "MagicMock", "is_member_call": false, "source_file": "scripts/test_execute.py", "source_location": "L366", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_test_execute_testcheckoutbranch_test_checkout_fails_exits", "callee": "raises", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L368", "receiver": "pytest"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testcheckoutbranch_test_checkout_fails_exits", "callee": "SystemExit", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/test_execute.py", "source_location": "L368"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testcheckoutbranch_test_checkout_fails_exits", "callee": "_checkout_branch", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L369", "receiver": "executor"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testcheckoutbranch_test_no_git_exits", "callee": "MagicMock", "is_member_call": false, "source_file": "scripts/test_execute.py", "source_location": "L374", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_test_execute_testcheckoutbranch_test_no_git_exits", "callee": "raises", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L376", "receiver": "pytest"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testcheckoutbranch_test_no_git_exits", "callee": "SystemExit", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/test_execute.py", "source_location": "L376"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testcheckoutbranch_test_no_git_exits", "callee": "_checkout_branch", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L377", "receiver": "executor"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testcommitstep_test_two_phase_commit", "callee": "fake_git", "is_member_call": false, "indirect": true, "context": "assignment", "source_file": "scripts/test_execute.py", "source_location": "L393"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testcommitstep_test_two_phase_commit", "callee": "_commit_step", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L395", "receiver": "executor"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testcommitstep_test_no_code_changes_skips_feat_commit", "callee": "fake_git", "is_member_call": false, "indirect": true, "context": "assignment", "source_file": "scripts/test_execute.py", "source_location": "L413"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testcommitstep_test_no_code_changes_skips_feat_commit", "callee": "_commit_step", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L415", "receiver": "executor"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testinvokeclaude_test_invokes_claude_with_correct_args", "callee": "MagicMock", "is_member_call": false, "source_file": "scripts/test_execute.py", "source_location": "L428", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_test_execute_testinvokeclaude_test_invokes_claude_with_correct_args", "callee": "patch", "is_member_call": false, "source_file": "scripts/test_execute.py", "source_location": "L432", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_test_execute_testinvokeclaude_test_invokes_claude_with_correct_args", "callee": "_invoke_claude", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L433", "receiver": "executor"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testinvokeclaude_test_saves_output_json", "callee": "MagicMock", "is_member_call": false, "source_file": "scripts/test_execute.py", "source_location": "L444", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_test_execute_testinvokeclaude_test_saves_output_json", "callee": "patch", "is_member_call": false, "source_file": "scripts/test_execute.py", "source_location": "L447", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_test_execute_testinvokeclaude_test_saves_output_json", "callee": "_invoke_claude", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L448", "receiver": "executor"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testinvokeclaude_test_saves_output_json", "callee": "exists", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L451", "receiver": "output_file"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testinvokeclaude_test_saves_output_json", "callee": "loads", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L452", "receiver": "json"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testinvokeclaude_test_saves_output_json", "callee": "read_text", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L452", "receiver": "output_file"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testinvokeclaude_test_nonexistent_step_file_exits", "callee": "raises", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L459", "receiver": "pytest"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testinvokeclaude_test_nonexistent_step_file_exits", "callee": "SystemExit", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/test_execute.py", "source_location": "L459"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testinvokeclaude_test_nonexistent_step_file_exits", "callee": "_invoke_claude", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L460", "receiver": "executor"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testinvokeclaude_test_timeout_is_1800", "callee": "MagicMock", "is_member_call": false, "source_file": "scripts/test_execute.py", "source_location": "L464", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_test_execute_testinvokeclaude_test_timeout_is_1800", "callee": "patch", "is_member_call": false, "source_file": "scripts/test_execute.py", "source_location": "L467", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_test_execute_testinvokeclaude_test_timeout_is_1800", "callee": "_invoke_claude", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L468", "receiver": "executor"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testprogressindicator_test_context_manager", "callee": "progress_indicator", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L480", "receiver": "ex"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testprogressindicator_test_context_manager", "callee": "sleep", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L481", "receiver": "time"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testprogressindicator_test_elapsed_increases", "callee": "progress_indicator", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L486", "receiver": "ex"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testprogressindicator_test_elapsed_increases", "callee": "sleep", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L487", "receiver": "time"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testmaincli_test_no_args_exits", "callee": "patch", "is_member_call": false, "source_file": "scripts/test_execute.py", "source_location": "L497", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_test_execute_testmaincli_test_no_args_exits", "callee": "raises", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L498", "receiver": "pytest"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testmaincli_test_no_args_exits", "callee": "SystemExit", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/test_execute.py", "source_location": "L498"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testmaincli_test_no_args_exits", "callee": "main", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L499", "receiver": "ex"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testmaincli_test_invalid_phase_dir_exits", "callee": "patch", "is_member_call": false, "source_file": "scripts/test_execute.py", "source_location": "L503", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_test_execute_testmaincli_test_invalid_phase_dir_exits", "callee": "object", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L504", "receiver": "patch"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testmaincli_test_invalid_phase_dir_exits", "callee": "ex", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/test_execute.py", "source_location": "L504"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testmaincli_test_invalid_phase_dir_exits", "callee": "Path", "is_member_call": false, "source_file": "scripts/test_execute.py", "source_location": "L504", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_test_execute_testmaincli_test_invalid_phase_dir_exits", "callee": "raises", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L505", "receiver": "pytest"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testmaincli_test_invalid_phase_dir_exits", "callee": "SystemExit", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/test_execute.py", "source_location": "L505"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testmaincli_test_invalid_phase_dir_exits", "callee": "main", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L506", "receiver": "ex"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testmaincli_test_missing_index_exits", "callee": "mkdir", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L510", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_test_execute_testmaincli_test_missing_index_exits", "callee": "patch", "is_member_call": false, "source_file": "scripts/test_execute.py", "source_location": "L511", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_test_execute_testmaincli_test_missing_index_exits", "callee": "object", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L512", "receiver": "patch"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testmaincli_test_missing_index_exits", "callee": "ex", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/test_execute.py", "source_location": "L512"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testmaincli_test_missing_index_exits", "callee": "raises", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L513", "receiver": "pytest"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testmaincli_test_missing_index_exits", "callee": "SystemExit", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/test_execute.py", "source_location": "L513"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testmaincli_test_missing_index_exits", "callee": "main", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L514", "receiver": "ex"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testcheckblockers_make_executor_with_steps", "callee": "mkdir", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L525", "receiver": "d"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testcheckblockers_make_executor_with_steps", "callee": "write_text", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L527", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_test_execute_testcheckblockers_make_executor_with_steps", "callee": "dumps", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L527", "receiver": "json"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testcheckblockers_make_executor_with_steps", "callee": "object", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L529", "receiver": "patch"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testcheckblockers_make_executor_with_steps", "callee": "ex", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/test_execute.py", "source_location": "L529"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testcheckblockers_make_executor_with_steps", "callee": "__new__", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L530", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_test_execute_testcheckblockers_test_error_step_exits_1", "callee": "raises", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L547", "receiver": "pytest"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testcheckblockers_test_error_step_exits_1", "callee": "SystemExit", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/test_execute.py", "source_location": "L547"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testcheckblockers_test_error_step_exits_1", "callee": "_check_blockers", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L548", "receiver": "inst"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testcheckblockers_test_blocked_step_exits_2", "callee": "raises", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L557", "receiver": "pytest"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testcheckblockers_test_blocked_step_exits_2", "callee": "SystemExit", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/test_execute.py", "source_location": "L557"}, {"caller_nid": "$graphify-root$_scripts_test_execute_testcheckblockers_test_blocked_step_exits_2", "callee": "_check_blockers", "is_member_call": true, "source_file": "scripts/test_execute.py", "source_location": "L558", "receiver": "inst"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/3f270df90a3e3fee4caf266a91c83ad685240a6e0402cae96e0758a07a89a079.json b/graphify-out/cache/ast/v0.9.31/3f270df90a3e3fee4caf266a91c83ad685240a6e0402cae96e0758a07a89a079.json new file mode 100644 index 0000000..31b95dd --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/3f270df90a3e3fee4caf266a91c83ad685240a6e0402cae96e0758a07a89a079.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_src_data_party_config_py", "label": "party_config.py", "file_type": "code", "source_file": "src/data/party_config.py", "source_location": "L1"}, {"id": "$graphify-root$_src_data_party_config_partyprofile", "label": "PartyProfile", "file_type": "code", "source_file": "src/data/party_config.py", "source_location": "L19", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_src_data_party_config_get_party_profile", "label": "get_party_profile()", "file_type": "code", "source_file": "src/data/party_config.py", "source_location": "L36", "_callable": true}, {"id": "$graphify-root$_src_data_party_config_rationale_1", "label": "\ub3d9\ud589 \uc720\ud615\ubcc4 \uc774\ub3d9 \uc18d\ub3c4 \ubcf4\uc815 \uacc4\uc218 \ubc0f \ud53c\ub85c\ub3c4 \uc784\uacc4\uac12. \uc774\ub3d9\uc218\ub2e8\uc740 \ud56d\uc0c1 \uc790\ub3d9\ucc28\uc774\ubbc0\ub85c speed_factor\ub294 Haversine \ud3f4\ubc31 \uac70\ub9ac \uae30\ubc18\u2026", "file_type": "rationale", "source_file": "src/data/party_config.py", "source_location": "L1"}, {"id": "$graphify-root$_src_data_party_config_rationale_37", "label": "party_type \ubb38\uc790\uc5f4 \u2192 PartyProfile. \ubbf8\ub4f1\ub85d \uac12\uc740 '\uce5c\uad6c' \uae30\uc900 \ubc18\ud658.", "file_type": "rationale", "source_file": "src/data/party_config.py", "source_location": "L37"}], "edges": [{"source": "$graphify-root$_src_data_party_config_py", "target": "dataclasses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/data/party_config.py", "source_location": "L15", "weight": 1.0}, {"source": "$graphify-root$_src_data_party_config_py", "target": "$graphify-root$_src_data_party_config_partyprofile", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/data/party_config.py", "source_location": "L19", "weight": 1.0}, {"source": "$graphify-root$_src_data_party_config_py", "target": "$graphify-root$_src_data_party_config_get_party_profile", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/data/party_config.py", "source_location": "L36", "weight": 1.0}, {"source": "$graphify-root$_src_data_party_config_get_party_profile", "target": "$graphify-root$_src_data_party_config_partyprofile", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "src/data/party_config.py", "source_location": "L36", "weight": 1.0}, {"source": "$graphify-root$_src_data_party_config_rationale_1", "target": "$graphify-root$_src_data_party_config_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/data/party_config.py", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_src_data_party_config_rationale_37", "target": "$graphify-root$_src_data_party_config_get_party_profile", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/data/party_config.py", "source_location": "L37", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_src_data_party_config_get_party_profile", "callee": "get", "is_member_call": true, "source_file": "src/data/party_config.py", "source_location": "L38", "receiver": "PARTY_PROFILES"}, {"caller_nid": "$graphify-root$_src_data_party_config_get_party_profile", "callee": "_DEFAULT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "src/data/party_config.py", "source_location": "L38"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/40cae72ace465a5261dbc7a1ac187774c9b94a51431b9d41e21378f5dc85c9db.json b/graphify-out/cache/ast/v0.9.31/40cae72ace465a5261dbc7a1ac187774c9b94a51431b9d41e21378f5dc85c9db.json new file mode 100644 index 0000000..c0fd344 --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/40cae72ace465a5261dbc7a1ac187774c9b94a51431b9d41e21378f5dc85c9db.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_src_explain_plan_extractor_py", "label": "plan_extractor.py", "file_type": "code", "source_file": "src/explain/plan_extractor.py", "source_location": "L1"}, {"id": "$graphify-root$_src_explain_plan_extractor_planextractionerror", "label": "PlanExtractionError", "file_type": "code", "source_file": "src/explain/plan_extractor.py", "source_location": "L60", "_callable": true, "_callable_class": true}, {"id": "exception", "label": "Exception", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/explain/plan_extractor.py"}, {"id": "$graphify-root$_src_explain_plan_extractor_strip_fence", "label": "_strip_fence()", "file_type": "code", "source_file": "src/explain/plan_extractor.py", "source_location": "L64", "_callable": true}, {"id": "$graphify-root$_src_explain_plan_extractor_parse_response", "label": "_parse_response()", "file_type": "code", "source_file": "src/explain/plan_extractor.py", "source_location": "L68", "_callable": true}, {"id": "parsedplanresponse", "label": "ParsedPlanResponse", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/explain/plan_extractor.py"}, {"id": "$graphify-root$_src_explain_plan_extractor_fallback_text_parse", "label": "_fallback_text_parse()", "file_type": "code", "source_file": "src/explain/plan_extractor.py", "source_location": "L80", "_callable": true}, {"id": "$graphify-root$_src_explain_plan_extractor_planextractor", "label": "PlanExtractor", "file_type": "code", "source_file": "src/explain/plan_extractor.py", "source_location": "L103", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_src_explain_plan_extractor_planextractor_init", "label": ".__init__()", "file_type": "code", "source_file": "src/explain/plan_extractor.py", "source_location": "L106", "_callable": true}, {"id": "any", "label": "Any", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/explain/plan_extractor.py"}, {"id": "$graphify-root$_src_explain_plan_extractor_planextractor_from_env", "label": ".from_env()", "file_type": "code", "source_file": "src/explain/plan_extractor.py", "source_location": "L123", "_callable": true}, {"id": "$graphify-root$_src_explain_plan_extractor_planextractor_is_available", "label": ".is_available()", "file_type": "code", "source_file": "src/explain/plan_extractor.py", "source_location": "L126", "_callable": true}, {"id": "$graphify-root$_src_explain_plan_extractor_planextractor_extract_from_text", "label": ".extract_from_text()", "file_type": "code", "source_file": "src/explain/plan_extractor.py", "source_location": "L129", "_callable": true}, {"id": "$graphify-root$_src_explain_plan_extractor_planextractor_extract_from_document", "label": ".extract_from_document()", "file_type": "code", "source_file": "src/explain/plan_extractor.py", "source_location": "L138", "_callable": true}, {"id": "$graphify-root$_src_explain_plan_extractor_planextractor_call", "label": "._call()", "file_type": "code", "source_file": "src/explain/plan_extractor.py", "source_location": "L158", "_callable": true}, {"id": "$graphify-root$_src_explain_plan_extractor_demo", "label": "_demo()", "file_type": "code", "source_file": "src/explain/plan_extractor.py", "source_location": "L177", "_callable": true}, {"id": "$graphify-root$_src_explain_plan_extractor_rationale_1", "label": "PlanExtractor \u2014 Claude API \uae30\ubc18 \uc5ec\ud589 \uc77c\uc815\ud45c \ud30c\uc2f1 \uc5d4\uc9c4. '\ub300\ud55c\ubbfc\uad6d\uad6c\uc11d\uad6c\uc11d'(AI\ucf55\ucf55\ud50c\ub798\ub108 \ub4f1)\uc5d0\uc11c \ub098\uc628 \uc5ec\ud589 \ucf54\uc2a4 \ucd94\ucc9c\u2026", "file_type": "rationale", "source_file": "src/explain/plan_extractor.py", "source_location": "L1"}, {"id": "$graphify-root$_src_explain_plan_extractor_rationale_61", "label": "\ucd94\ucd9c \uc2e4\ud328 \u2014 API \ubbf8\uc124\uc815, \ud638\ucd9c \uc2e4\ud328, \uc751\ub2f5 \ud30c\uc2f1 \uc2e4\ud328 \ub4f1.", "file_type": "rationale", "source_file": "src/explain/plan_extractor.py", "source_location": "L61"}, {"id": "$graphify-root$_src_explain_plan_extractor_rationale_81", "label": "ANTHROPIC_API_KEY \ubbf8\uc124\uc815 \uc2dc \ucd5c\uc18c\ud55c\uc758 \uc904 \ub2e8\uc704 \ud734\ub9ac\uc2a4\ud2f1 \ud30c\uc2f1. ponytail: day/\uce74\ud14c\uace0\ub9ac \ud0dc\uadf8 \uc778\uc2dd \uc5c6\ub294 \ub2e8\uc21c \ub77c\uc778\u2026", "file_type": "rationale", "source_file": "src/explain/plan_extractor.py", "source_location": "L81"}, {"id": "$graphify-root$_src_explain_plan_extractor_rationale_104", "label": "LLM \uae30\ubc18 \uc77c\uc815\ud45c \ucd94\ucd9c\uae30. External I/O = Claude API.", "file_type": "rationale", "source_file": "src/explain/plan_extractor.py", "source_location": "L104"}, {"id": "$graphify-root$_src_explain_plan_extractor_rationale_130", "label": "\ubd99\uc5ec\ub123\uc740 \ud14d\uc2a4\ud2b8\ub97c \ucffc\ub9ac \ub9ac\ub77c\uc774\ud305\uc73c\ub85c \uc815\ub82c\ub41c day/place \uad6c\uc870\ub85c \ubcc0\ud658.", "file_type": "rationale", "source_file": "src/explain/plan_extractor.py", "source_location": "L130"}, {"id": "$graphify-root$_src_explain_plan_extractor_rationale_139", "label": "PDF\u00b7PNG\u00b7JPG \ucea1\ucc98\ub97c Claude Vision\uc73c\ub85c \uc77d\uc5b4 day/place \uad6c\uc870\ub85c \ubcc0\ud658.", "file_type": "rationale", "source_file": "src/explain/plan_extractor.py", "source_location": "L139"}], "edges": [{"source": "$graphify-root$_src_explain_plan_extractor_py", "target": "base64", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/explain/plan_extractor.py", "source_location": "L13", "weight": 1.0}, {"source": "$graphify-root$_src_explain_plan_extractor_py", "target": "json", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/explain/plan_extractor.py", "source_location": "L14", "weight": 1.0}, {"source": "$graphify-root$_src_explain_plan_extractor_py", "target": "os", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/explain/plan_extractor.py", "source_location": "L15", "weight": 1.0}, {"source": "$graphify-root$_src_explain_plan_extractor_py", "target": "re", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/explain/plan_extractor.py", "source_location": "L16", "weight": 1.0}, {"source": "$graphify-root$_src_explain_plan_extractor_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/explain/plan_extractor.py", "source_location": "L17", "weight": 1.0}, {"source": "$graphify-root$_src_explain_plan_extractor_py", "target": "src_api_schemas", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/explain/plan_extractor.py", "source_location": "L19", "weight": 1.0}, {"source": "$graphify-root$_src_explain_plan_extractor_py", "target": "anthropic", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/explain/plan_extractor.py", "source_location": "L22", "weight": 1.0}, {"source": "$graphify-root$_src_explain_plan_extractor_py", "target": "$graphify-root$_src_explain_plan_extractor_planextractionerror", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/explain/plan_extractor.py", "source_location": "L60", "weight": 1.0}, {"source": "$graphify-root$_src_explain_plan_extractor_planextractionerror", "target": "exception", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "src/explain/plan_extractor.py", "source_location": "L60", "weight": 1.0}, {"source": "$graphify-root$_src_explain_plan_extractor_py", "target": "$graphify-root$_src_explain_plan_extractor_strip_fence", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/explain/plan_extractor.py", "source_location": "L64", "weight": 1.0}, {"source": "$graphify-root$_src_explain_plan_extractor_py", "target": "$graphify-root$_src_explain_plan_extractor_parse_response", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/explain/plan_extractor.py", "source_location": "L68", "weight": 1.0}, {"source": "$graphify-root$_src_explain_plan_extractor_parse_response", "target": "parsedplanresponse", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "src/explain/plan_extractor.py", "source_location": "L68", "weight": 1.0}, {"source": "$graphify-root$_src_explain_plan_extractor_py", "target": "$graphify-root$_src_explain_plan_extractor_fallback_text_parse", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/explain/plan_extractor.py", "source_location": "L80", "weight": 1.0}, {"source": "$graphify-root$_src_explain_plan_extractor_fallback_text_parse", "target": "parsedplanresponse", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "src/explain/plan_extractor.py", "source_location": "L80", "weight": 1.0}, {"source": "$graphify-root$_src_explain_plan_extractor_py", "target": "$graphify-root$_src_explain_plan_extractor_planextractor", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/explain/plan_extractor.py", "source_location": "L103", "weight": 1.0}, {"source": "$graphify-root$_src_explain_plan_extractor_planextractor", "target": "$graphify-root$_src_explain_plan_extractor_planextractor_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/explain/plan_extractor.py", "source_location": "L106", "weight": 1.0}, {"source": "$graphify-root$_src_explain_plan_extractor_planextractor_init", "target": "any", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/explain/plan_extractor.py", "source_location": "L106", "weight": 1.0}, {"source": "$graphify-root$_src_explain_plan_extractor_planextractor", "target": "$graphify-root$_src_explain_plan_extractor_planextractor_from_env", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/explain/plan_extractor.py", "source_location": "L123", "weight": 1.0}, {"source": "$graphify-root$_src_explain_plan_extractor_planextractor_from_env", "target": "$graphify-root$_src_explain_plan_extractor_planextractor", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "src/explain/plan_extractor.py", "source_location": "L123", "weight": 1.0}, {"source": "$graphify-root$_src_explain_plan_extractor_planextractor", "target": "$graphify-root$_src_explain_plan_extractor_planextractor_is_available", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/explain/plan_extractor.py", "source_location": "L126", "weight": 1.0}, {"source": "$graphify-root$_src_explain_plan_extractor_planextractor", "target": "$graphify-root$_src_explain_plan_extractor_planextractor_extract_from_text", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/explain/plan_extractor.py", "source_location": "L129", "weight": 1.0}, {"source": "$graphify-root$_src_explain_plan_extractor_planextractor_extract_from_text", "target": "parsedplanresponse", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "src/explain/plan_extractor.py", "source_location": "L129", "weight": 1.0}, {"source": "$graphify-root$_src_explain_plan_extractor_planextractor", "target": "$graphify-root$_src_explain_plan_extractor_planextractor_extract_from_document", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/explain/plan_extractor.py", "source_location": "L138", "weight": 1.0}, {"source": "$graphify-root$_src_explain_plan_extractor_planextractor_extract_from_document", "target": "parsedplanresponse", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "src/explain/plan_extractor.py", "source_location": "L138", "weight": 1.0}, {"source": "$graphify-root$_src_explain_plan_extractor_planextractor", "target": "$graphify-root$_src_explain_plan_extractor_planextractor_call", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/explain/plan_extractor.py", "source_location": "L158", "weight": 1.0}, {"source": "$graphify-root$_src_explain_plan_extractor_planextractor_call", "target": "parsedplanresponse", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "src/explain/plan_extractor.py", "source_location": "L158", "weight": 1.0}, {"source": "$graphify-root$_src_explain_plan_extractor_py", "target": "$graphify-root$_src_explain_plan_extractor_demo", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/explain/plan_extractor.py", "source_location": "L177", "weight": 1.0}, {"source": "$graphify-root$_src_explain_plan_extractor_parse_response", "target": "$graphify-root$_src_explain_plan_extractor_strip_fence", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/explain/plan_extractor.py", "source_location": "L69", "weight": 1.0}, {"source": "$graphify-root$_src_explain_plan_extractor_parse_response", "target": "$graphify-root$_src_explain_plan_extractor_planextractionerror", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/explain/plan_extractor.py", "source_location": "L73", "weight": 1.0}, {"source": "$graphify-root$_src_explain_plan_extractor_fallback_text_parse", "target": "parsedplanresponse", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/explain/plan_extractor.py", "source_location": "L98", "weight": 1.0}, {"source": "$graphify-root$_src_explain_plan_extractor_planextractor_extract_from_text", "target": "$graphify-root$_src_explain_plan_extractor_planextractionerror", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/explain/plan_extractor.py", "source_location": "L133", "weight": 1.0}, {"source": "$graphify-root$_src_explain_plan_extractor_planextractor_extract_from_text", "target": "$graphify-root$_src_explain_plan_extractor_planextractor_is_available", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/explain/plan_extractor.py", "source_location": "L134", "weight": 1.0}, {"source": "$graphify-root$_src_explain_plan_extractor_planextractor_extract_from_text", "target": "$graphify-root$_src_explain_plan_extractor_fallback_text_parse", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/explain/plan_extractor.py", "source_location": "L135", "weight": 1.0}, {"source": "$graphify-root$_src_explain_plan_extractor_planextractor_extract_from_text", "target": "$graphify-root$_src_explain_plan_extractor_planextractor_call", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/explain/plan_extractor.py", "source_location": "L136", "weight": 1.0}, {"source": "$graphify-root$_src_explain_plan_extractor_planextractor_extract_from_document", "target": "$graphify-root$_src_explain_plan_extractor_planextractionerror", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/explain/plan_extractor.py", "source_location": "L141", "weight": 1.0}, {"source": "$graphify-root$_src_explain_plan_extractor_planextractor_extract_from_document", "target": "$graphify-root$_src_explain_plan_extractor_planextractor_is_available", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/explain/plan_extractor.py", "source_location": "L142", "weight": 1.0}, {"source": "$graphify-root$_src_explain_plan_extractor_planextractor_extract_from_document", "target": "$graphify-root$_src_explain_plan_extractor_planextractor_call", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/explain/plan_extractor.py", "source_location": "L156", "weight": 1.0}, {"source": "$graphify-root$_src_explain_plan_extractor_planextractor_call", "target": "$graphify-root$_src_explain_plan_extractor_planextractionerror", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/explain/plan_extractor.py", "source_location": "L172", "weight": 1.0}, {"source": "$graphify-root$_src_explain_plan_extractor_planextractor_call", "target": "$graphify-root$_src_explain_plan_extractor_parse_response", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/explain/plan_extractor.py", "source_location": "L174", "weight": 1.0}, {"source": "$graphify-root$_src_explain_plan_extractor_demo", "target": "$graphify-root$_src_explain_plan_extractor_parse_response", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/explain/plan_extractor.py", "source_location": "L178", "weight": 1.0}, {"source": "$graphify-root$_src_explain_plan_extractor_demo", "target": "$graphify-root$_src_explain_plan_extractor_fallback_text_parse", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/explain/plan_extractor.py", "source_location": "L183", "weight": 1.0}, {"source": "$graphify-root$_src_explain_plan_extractor_rationale_1", "target": "$graphify-root$_src_explain_plan_extractor_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/explain/plan_extractor.py", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_src_explain_plan_extractor_rationale_61", "target": "$graphify-root$_src_explain_plan_extractor_planextractionerror", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/explain/plan_extractor.py", "source_location": "L61", "weight": 1.0}, {"source": "$graphify-root$_src_explain_plan_extractor_rationale_81", "target": "$graphify-root$_src_explain_plan_extractor_fallback_text_parse", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/explain/plan_extractor.py", "source_location": "L81", "weight": 1.0}, {"source": "$graphify-root$_src_explain_plan_extractor_rationale_104", "target": "$graphify-root$_src_explain_plan_extractor_planextractor", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/explain/plan_extractor.py", "source_location": "L104", "weight": 1.0}, {"source": "$graphify-root$_src_explain_plan_extractor_rationale_130", "target": "$graphify-root$_src_explain_plan_extractor_planextractor_extract_from_text", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/explain/plan_extractor.py", "source_location": "L130", "weight": 1.0}, {"source": "$graphify-root$_src_explain_plan_extractor_rationale_139", "target": "$graphify-root$_src_explain_plan_extractor_planextractor_extract_from_document", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/explain/plan_extractor.py", "source_location": "L139", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_src_explain_plan_extractor_strip_fence", "callee": "strip", "is_member_call": true, "source_file": "src/explain/plan_extractor.py", "source_location": "L65", "receiver": null}, {"caller_nid": "$graphify-root$_src_explain_plan_extractor_strip_fence", "callee": "sub", "is_member_call": true, "source_file": "src/explain/plan_extractor.py", "source_location": "L65", "receiver": "_FENCE_RE"}, {"caller_nid": "$graphify-root$_src_explain_plan_extractor_strip_fence", "callee": "strip", "is_member_call": true, "source_file": "src/explain/plan_extractor.py", "source_location": "L65", "receiver": "raw"}, {"caller_nid": "$graphify-root$_src_explain_plan_extractor_parse_response", "callee": "loads", "is_member_call": true, "source_file": "src/explain/plan_extractor.py", "source_location": "L71", "receiver": "json"}, {"caller_nid": "$graphify-root$_src_explain_plan_extractor_parse_response", "callee": "model_validate", "is_member_call": true, "source_file": "src/explain/plan_extractor.py", "source_location": "L75", "receiver": "ParsedPlanResponse"}, {"caller_nid": "$graphify-root$_src_explain_plan_extractor_fallback_text_parse", "callee": "splitlines", "is_member_call": true, "source_file": "src/explain/plan_extractor.py", "source_location": "L84", "receiver": "text"}, {"caller_nid": "$graphify-root$_src_explain_plan_extractor_fallback_text_parse", "callee": "strip", "is_member_call": true, "source_file": "src/explain/plan_extractor.py", "source_location": "L85", "receiver": "line"}, {"caller_nid": "$graphify-root$_src_explain_plan_extractor_fallback_text_parse", "callee": "search", "is_member_call": true, "source_file": "src/explain/plan_extractor.py", "source_location": "L88", "receiver": "_DAY_MARKER_RE"}, {"caller_nid": "$graphify-root$_src_explain_plan_extractor_fallback_text_parse", "callee": "append", "is_member_call": true, "source_file": "src/explain/plan_extractor.py", "source_location": "L90", "receiver": "days"}, {"caller_nid": "$graphify-root$_src_explain_plan_extractor_fallback_text_parse", "callee": "strip", "is_member_call": true, "source_file": "src/explain/plan_extractor.py", "source_location": "L92", "receiver": null}, {"caller_nid": "$graphify-root$_src_explain_plan_extractor_fallback_text_parse", "callee": "sub", "is_member_call": true, "source_file": "src/explain/plan_extractor.py", "source_location": "L92", "receiver": "_TAG_RE"}, {"caller_nid": "$graphify-root$_src_explain_plan_extractor_fallback_text_parse", "callee": "strip", "is_member_call": true, "source_file": "src/explain/plan_extractor.py", "source_location": "L94", "receiver": null}, {"caller_nid": "$graphify-root$_src_explain_plan_extractor_fallback_text_parse", "callee": "removesuffix", "is_member_call": true, "source_file": "src/explain/plan_extractor.py", "source_location": "L94", "receiver": "name"}, {"caller_nid": "$graphify-root$_src_explain_plan_extractor_fallback_text_parse", "callee": "append", "is_member_call": true, "source_file": "src/explain/plan_extractor.py", "source_location": "L96", "receiver": null}, {"caller_nid": "$graphify-root$_src_explain_plan_extractor_fallback_text_parse", "callee": "ParsedDay", "is_member_call": false, "source_file": "src/explain/plan_extractor.py", "source_location": "L99", "receiver": null}, {"caller_nid": "$graphify-root$_src_explain_plan_extractor_fallback_text_parse", "callee": "ParsedPlace", "is_member_call": false, "source_file": "src/explain/plan_extractor.py", "source_location": "L99", "receiver": null}, {"caller_nid": "$graphify-root$_src_explain_plan_extractor_planextractor_init", "callee": "get", "is_member_call": true, "source_file": "src/explain/plan_extractor.py", "source_location": "L117", "receiver": null}, {"caller_nid": "$graphify-root$_src_explain_plan_extractor_planextractor_init", "callee": "Anthropic", "is_member_call": true, "source_file": "src/explain/plan_extractor.py", "source_location": "L120", "receiver": "anthropic"}, {"caller_nid": "$graphify-root$_src_explain_plan_extractor_planextractor_from_env", "callee": "cls", "is_member_call": false, "source_file": "src/explain/plan_extractor.py", "source_location": "L124", "receiver": null}, {"caller_nid": "$graphify-root$_src_explain_plan_extractor_planextractor_extract_from_text", "callee": "strip", "is_member_call": true, "source_file": "src/explain/plan_extractor.py", "source_location": "L131", "receiver": null}, {"caller_nid": "$graphify-root$_src_explain_plan_extractor_planextractor_extract_from_document", "callee": "decode", "is_member_call": true, "source_file": "src/explain/plan_extractor.py", "source_location": "L145", "receiver": null}, {"caller_nid": "$graphify-root$_src_explain_plan_extractor_planextractor_extract_from_document", "callee": "b64encode", "is_member_call": true, "source_file": "src/explain/plan_extractor.py", "source_location": "L145", "receiver": "base64"}, {"caller_nid": "$graphify-root$_src_explain_plan_extractor_planextractor_extract_from_document", "callee": "_USER_PREFIX_DOC", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "src/explain/plan_extractor.py", "source_location": "L153"}, {"caller_nid": "$graphify-root$_src_explain_plan_extractor_planextractor_call", "callee": "create", "is_member_call": true, "source_file": "src/explain/plan_extractor.py", "source_location": "L160", "receiver": null}, {"caller_nid": "$graphify-root$_src_explain_plan_extractor_planextractor_call", "callee": "_SYSTEM_PROMPT", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "src/explain/plan_extractor.py", "source_location": "L166"}, {"caller_nid": "$graphify-root$_src_explain_plan_extractor_planextractor_call", "callee": "join", "is_member_call": true, "source_file": "src/explain/plan_extractor.py", "source_location": "L174", "receiver": null}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/432695e40c8fc3be7a00f85d5f15e39a565f748c592825bfdc28e1eac22f3bbf.json b/graphify-out/cache/ast/v0.9.31/432695e40c8fc3be7a00f85d5f15e39a565f748c592825bfdc28e1eac22f3bbf.json new file mode 100644 index 0000000..00900f8 --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/432695e40c8fc3be7a00f85d5f15e39a565f748c592825bfdc28e1eac22f3bbf.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_phases_0_setup_visualize_py", "label": "visualize.py", "file_type": "code", "source_file": "phases/0-setup/visualize.py", "source_location": "L1"}, {"id": "$graphify-root$_phases_0_setup_visualize_rationale_1", "label": "AI \uc5ec\ud589 \ucd94\ucc9c \uc131\ub2a5 \uc2dc\uac01\ud654 \u2014 \ud504\ub85c\uc81d\ud2b8 \ud544\uc694\uc131 \uadfc\uac70 \ucc28\ud2b8 4\uc885", "file_type": "rationale", "source_file": "phases/0-setup/visualize.py", "source_location": "L1"}], "edges": [{"source": "$graphify-root$_phases_0_setup_visualize_py", "target": "json", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "phases/0-setup/visualize.py", "source_location": "L4", "weight": 1.0}, {"source": "$graphify-root$_phases_0_setup_visualize_py", "target": "sys", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "phases/0-setup/visualize.py", "source_location": "L4", "weight": 1.0}, {"source": "$graphify-root$_phases_0_setup_visualize_py", "target": "matplotlib", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "phases/0-setup/visualize.py", "source_location": "L5", "weight": 1.0}, {"source": "$graphify-root$_phases_0_setup_visualize_py", "target": "matplotlib_pyplot", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "phases/0-setup/visualize.py", "source_location": "L6", "weight": 1.0, "local_alias": "plt"}, {"source": "$graphify-root$_phases_0_setup_visualize_py", "target": "matplotlib_patches", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "phases/0-setup/visualize.py", "source_location": "L7", "weight": 1.0, "local_alias": "mpatches"}, {"source": "$graphify-root$_phases_0_setup_visualize_py", "target": "numpy", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "phases/0-setup/visualize.py", "source_location": "L8", "weight": 1.0, "local_alias": "np"}, {"source": "$graphify-root$_phases_0_setup_visualize_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "phases/0-setup/visualize.py", "source_location": "L9", "weight": 1.0}, {"source": "$graphify-root$_phases_0_setup_visualize_py", "target": "collections", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "phases/0-setup/visualize.py", "source_location": "L10", "weight": 1.0}, {"source": "$graphify-root$_phases_0_setup_visualize_rationale_1", "target": "$graphify-root$_phases_0_setup_visualize_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "phases/0-setup/visualize.py", "source_location": "L1", "weight": 1.0}], "raw_calls": []} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/45bb07bdbd7ee60c56a8439aaf8c4eed6706302b9378076b37292fc21b73ae9d.json b/graphify-out/cache/ast/v0.9.31/45bb07bdbd7ee60c56a8439aaf8c4eed6706302b9378076b37292fc21b73ae9d.json new file mode 100644 index 0000000..f5d9abb --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/45bb07bdbd7ee60c56a8439aaf8c4eed6706302b9378076b37292fc21b73ae9d.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_tests_test_warning_py", "label": "test_warning.py", "file_type": "code", "source_file": "tests/test_warning.py", "source_location": "L1"}, {"id": "$graphify-root$_tests_test_warning_make_poi", "label": "make_poi()", "file_type": "code", "source_file": "tests/test_warning.py", "source_location": "L14", "_callable": true}, {"id": "poi", "label": "POI", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/tests/test_warning.py"}, {"id": "$graphify-root$_tests_test_warning_make_plan", "label": "make_plan()", "file_type": "code", "source_file": "tests/test_warning.py", "source_location": "L29", "_callable": true}, {"id": "itineraryplan", "label": "ItineraryPlan", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/tests/test_warning.py"}, {"id": "$graphify-root$_tests_test_warning_make_matrix", "label": "make_matrix()", "file_type": "code", "source_file": "tests/test_warning.py", "source_location": "L44", "_callable": true}, {"id": "fixture", "label": "fixture", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/tests/test_warning.py"}, {"id": "$graphify-root$_tests_test_warning_detector", "label": "detector()", "file_type": "code", "source_file": "tests/test_warning.py", "source_location": "L59", "_callable": true}, {"id": "warningdetector", "label": "WarningDetector", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/tests/test_warning.py"}, {"id": "$graphify-root$_tests_test_warning_testdenseschedule", "label": "TestDenseSchedule", "file_type": "code", "source_file": "tests/test_warning.py", "source_location": "L67", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_tests_test_warning_testdenseschedule_test_dense_trigger_baby", "label": ".test_dense_trigger_baby()", "file_type": "code", "source_file": "tests/test_warning.py", "source_location": "L68", "_callable": true}, {"id": "$graphify-root$_tests_test_warning_testdenseschedule_test_dense_trigger_friends_heavy", "label": ".test_dense_trigger_friends_heavy()", "file_type": "code", "source_file": "tests/test_warning.py", "source_location": "L77", "_callable": true}, {"id": "$graphify-root$_tests_test_warning_testdenseschedule_test_no_dense_within_threshold", "label": ".test_no_dense_within_threshold()", "file_type": "code", "source_file": "tests/test_warning.py", "source_location": "L86", "_callable": true}, {"id": "$graphify-root$_tests_test_warning_testdenseschedule_test_dense_message_includes_party_type", "label": ".test_dense_message_includes_party_type()", "file_type": "code", "source_file": "tests/test_warning.py", "source_location": "L95", "_callable": true}, {"id": "$graphify-root$_tests_test_warning_testphysicalstrain", "label": "TestPhysicalStrain", "file_type": "code", "source_file": "tests/test_warning.py", "source_location": "L109", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_tests_test_warning_testphysicalstrain_test_strain_trigger", "label": ".test_strain_trigger()", "file_type": "code", "source_file": "tests/test_warning.py", "source_location": "L110", "_callable": true}, {"id": "$graphify-root$_tests_test_warning_testphysicalstrain_test_no_strain_short_distance", "label": ".test_no_strain_short_distance()", "file_type": "code", "source_file": "tests/test_warning.py", "source_location": "L123", "_callable": true}, {"id": "$graphify-root$_tests_test_warning_testpurposemismatch", "label": "TestPurposeMismatch", "file_type": "code", "source_file": "tests/test_warning.py", "source_location": "L138", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_tests_test_warning_testpurposemismatch_test_mismatch_cultural_all_sports", "label": ".test_mismatch_cultural_all_sports()", "file_type": "code", "source_file": "tests/test_warning.py", "source_location": "L139", "_callable": true}, {"id": "$graphify-root$_tests_test_warning_testpurposemismatch_test_no_mismatch_cultural_all_cultural", "label": ".test_no_mismatch_cultural_all_cultural()", "file_type": "code", "source_file": "tests/test_warning.py", "source_location": "L150", "_callable": true}, {"id": "$graphify-root$_tests_test_warning_testpurposemismatch_test_no_mismatch_when_no_travel_type", "label": ".test_no_mismatch_when_no_travel_type()", "file_type": "code", "source_file": "tests/test_warning.py", "source_location": "L161", "_callable": true}, {"id": "$graphify-root$_tests_test_warning_testarearevisit", "label": "TestAreaRevisit", "file_type": "code", "source_file": "tests/test_warning.py", "source_location": "L173", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_tests_test_warning_testarearevisit_test_consecutive_same_category_triggers", "label": ".test_consecutive_same_category_triggers()", "file_type": "code", "source_file": "tests/test_warning.py", "source_location": "L174", "_callable": true}, {"id": "$graphify-root$_tests_test_warning_testarearevisit_test_all_different_no_revisit", "label": ".test_all_different_no_revisit()", "file_type": "code", "source_file": "tests/test_warning.py", "source_location": "L187", "_callable": true}, {"id": "$graphify-root$_tests_test_warning_testarearevisit_test_three_consecutive_triggers", "label": ".test_three_consecutive_triggers()", "file_type": "code", "source_file": "tests/test_warning.py", "source_location": "L199", "_callable": true}, {"id": "$graphify-root$_tests_test_warning_testarearevisit_test_two_consecutive_no_trigger", "label": ".test_two_consecutive_no_trigger()", "file_type": "code", "source_file": "tests/test_warning.py", "source_location": "L212", "_callable": true}, {"id": "$graphify-root$_tests_test_warning_testwarningfields", "label": "TestWarningFields", "file_type": "code", "source_file": "tests/test_warning.py", "source_location": "L230", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_tests_test_warning_testwarningfields_test_warning_has_confidence_from_types", "label": ".test_warning_has_confidence_from_types()", "file_type": "code", "source_file": "tests/test_warning.py", "source_location": "L231", "_callable": true}, {"id": "$graphify-root$_tests_test_warning_testwarningfields_test_warning_message_not_empty", "label": ".test_warning_message_not_empty()", "file_type": "code", "source_file": "tests/test_warning.py", "source_location": "L242", "_callable": true}, {"id": "$graphify-root$_tests_test_warning_testdayindex", "label": "TestDayIndex", "file_type": "code", "source_file": "tests/test_warning.py", "source_location": "L255", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_tests_test_warning_testdayindex_test_day_index_defaults_to_none", "label": ".test_day_index_defaults_to_none()", "file_type": "code", "source_file": "tests/test_warning.py", "source_location": "L256", "_callable": true}, {"id": "$graphify-root$_tests_test_warning_testdayindex_test_day_index_and_poi_names_set_when_passed", "label": ".test_day_index_and_poi_names_set_when_passed()", "file_type": "code", "source_file": "tests/test_warning.py", "source_location": "L266", "_callable": true}, {"id": "$graphify-root$_tests_test_warning_rationale_1", "label": "Tests for WarningDetector (TDD).", "file_type": "rationale", "source_file": "tests/test_warning.py", "source_location": "L1"}], "edges": [{"source": "$graphify-root$_tests_test_warning_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_warning.py", "source_location": "L4", "weight": 1.0}, {"source": "$graphify-root$_tests_test_warning_py", "target": "src_data_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_warning.py", "source_location": "L6", "weight": 1.0}, {"source": "$graphify-root$_tests_test_warning_py", "target": "src_validation_warning", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_warning.py", "source_location": "L7", "weight": 1.0}, {"source": "$graphify-root$_tests_test_warning_py", "target": "$graphify-root$_tests_test_warning_make_poi", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_warning.py", "source_location": "L14", "weight": 1.0}, {"source": "$graphify-root$_tests_test_warning_make_poi", "target": "poi", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "tests/test_warning.py", "source_location": "L14", "weight": 1.0}, {"source": "$graphify-root$_tests_test_warning_py", "target": "$graphify-root$_tests_test_warning_make_plan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_warning.py", "source_location": "L29", "weight": 1.0}, {"source": "$graphify-root$_tests_test_warning_make_plan", "target": "itineraryplan", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "tests/test_warning.py", "source_location": "L29", "weight": 1.0}, {"source": "$graphify-root$_tests_test_warning_py", "target": "$graphify-root$_tests_test_warning_make_matrix", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_warning.py", "source_location": "L44", "weight": 1.0}, {"source": "$graphify-root$_tests_test_warning_detector", "target": "fixture", "relation": "references", "confidence": "EXTRACTED", "source_file": "tests/test_warning.py", "source_location": "L58", "weight": 1.0, "context": "decorator"}, {"source": "$graphify-root$_tests_test_warning_py", "target": "$graphify-root$_tests_test_warning_detector", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_warning.py", "source_location": "L59", "weight": 1.0}, {"source": "$graphify-root$_tests_test_warning_detector", "target": "warningdetector", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "tests/test_warning.py", "source_location": "L59", "weight": 1.0}, {"source": "$graphify-root$_tests_test_warning_py", "target": "$graphify-root$_tests_test_warning_testdenseschedule", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_warning.py", "source_location": "L67", "weight": 1.0}, {"source": "$graphify-root$_tests_test_warning_testdenseschedule", "target": "$graphify-root$_tests_test_warning_testdenseschedule_test_dense_trigger_baby", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_warning.py", "source_location": "L68", "weight": 1.0}, {"source": "$graphify-root$_tests_test_warning_testdenseschedule", "target": "$graphify-root$_tests_test_warning_testdenseschedule_test_dense_trigger_friends_heavy", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_warning.py", "source_location": "L77", "weight": 1.0}, {"source": "$graphify-root$_tests_test_warning_testdenseschedule", "target": "$graphify-root$_tests_test_warning_testdenseschedule_test_no_dense_within_threshold", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_warning.py", "source_location": "L86", "weight": 1.0}, {"source": "$graphify-root$_tests_test_warning_testdenseschedule", "target": "$graphify-root$_tests_test_warning_testdenseschedule_test_dense_message_includes_party_type", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_warning.py", "source_location": "L95", "weight": 1.0}, {"source": "$graphify-root$_tests_test_warning_py", "target": "$graphify-root$_tests_test_warning_testphysicalstrain", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_warning.py", "source_location": "L109", "weight": 1.0}, {"source": "$graphify-root$_tests_test_warning_testphysicalstrain", "target": "$graphify-root$_tests_test_warning_testphysicalstrain_test_strain_trigger", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_warning.py", "source_location": "L110", "weight": 1.0}, {"source": "$graphify-root$_tests_test_warning_testphysicalstrain", "target": "$graphify-root$_tests_test_warning_testphysicalstrain_test_no_strain_short_distance", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_warning.py", "source_location": "L123", "weight": 1.0}, {"source": "$graphify-root$_tests_test_warning_py", "target": "$graphify-root$_tests_test_warning_testpurposemismatch", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_warning.py", "source_location": "L138", "weight": 1.0}, {"source": "$graphify-root$_tests_test_warning_testpurposemismatch", "target": "$graphify-root$_tests_test_warning_testpurposemismatch_test_mismatch_cultural_all_sports", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_warning.py", "source_location": "L139", "weight": 1.0}, {"source": "$graphify-root$_tests_test_warning_testpurposemismatch", "target": "$graphify-root$_tests_test_warning_testpurposemismatch_test_no_mismatch_cultural_all_cultural", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_warning.py", "source_location": "L150", "weight": 1.0}, {"source": "$graphify-root$_tests_test_warning_testpurposemismatch", "target": "$graphify-root$_tests_test_warning_testpurposemismatch_test_no_mismatch_when_no_travel_type", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_warning.py", "source_location": "L161", "weight": 1.0}, {"source": "$graphify-root$_tests_test_warning_py", "target": "$graphify-root$_tests_test_warning_testarearevisit", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_warning.py", "source_location": "L173", "weight": 1.0}, {"source": "$graphify-root$_tests_test_warning_testarearevisit", "target": "$graphify-root$_tests_test_warning_testarearevisit_test_consecutive_same_category_triggers", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_warning.py", "source_location": "L174", "weight": 1.0}, {"source": "$graphify-root$_tests_test_warning_testarearevisit", "target": "$graphify-root$_tests_test_warning_testarearevisit_test_all_different_no_revisit", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_warning.py", "source_location": "L187", "weight": 1.0}, {"source": "$graphify-root$_tests_test_warning_testarearevisit", "target": "$graphify-root$_tests_test_warning_testarearevisit_test_three_consecutive_triggers", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_warning.py", "source_location": "L199", "weight": 1.0}, {"source": "$graphify-root$_tests_test_warning_testarearevisit", "target": "$graphify-root$_tests_test_warning_testarearevisit_test_two_consecutive_no_trigger", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_warning.py", "source_location": "L212", "weight": 1.0}, {"source": "$graphify-root$_tests_test_warning_py", "target": "$graphify-root$_tests_test_warning_testwarningfields", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_warning.py", "source_location": "L230", "weight": 1.0}, {"source": "$graphify-root$_tests_test_warning_testwarningfields", "target": "$graphify-root$_tests_test_warning_testwarningfields_test_warning_has_confidence_from_types", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_warning.py", "source_location": "L231", "weight": 1.0}, {"source": "$graphify-root$_tests_test_warning_testwarningfields", "target": "$graphify-root$_tests_test_warning_testwarningfields_test_warning_message_not_empty", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_warning.py", "source_location": "L242", "weight": 1.0}, {"source": "$graphify-root$_tests_test_warning_py", "target": "$graphify-root$_tests_test_warning_testdayindex", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_warning.py", "source_location": "L255", "weight": 1.0}, {"source": "$graphify-root$_tests_test_warning_testdayindex", "target": "$graphify-root$_tests_test_warning_testdayindex_test_day_index_defaults_to_none", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_warning.py", "source_location": "L256", "weight": 1.0}, {"source": "$graphify-root$_tests_test_warning_testdayindex", "target": "$graphify-root$_tests_test_warning_testdayindex_test_day_index_and_poi_names_set_when_passed", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_warning.py", "source_location": "L266", "weight": 1.0}, {"source": "$graphify-root$_tests_test_warning_make_poi", "target": "poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_warning.py", "source_location": "L22", "weight": 1.0}, {"source": "$graphify-root$_tests_test_warning_make_plan", "target": "itineraryplan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_warning.py", "source_location": "L35", "weight": 1.0}, {"source": "$graphify-root$_tests_test_warning_detector", "target": "warningdetector", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_warning.py", "source_location": "L60", "weight": 1.0}, {"source": "$graphify-root$_tests_test_warning_testdenseschedule_test_dense_trigger_baby", "target": "$graphify-root$_tests_test_warning_make_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_warning.py", "source_location": "L70", "weight": 1.0}, {"source": "$graphify-root$_tests_test_warning_testdenseschedule_test_dense_trigger_baby", "target": "$graphify-root$_tests_test_warning_make_matrix", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_warning.py", "source_location": "L71", "weight": 1.0}, {"source": "$graphify-root$_tests_test_warning_testdenseschedule_test_dense_trigger_baby", "target": "$graphify-root$_tests_test_warning_make_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_warning.py", "source_location": "L72", "weight": 1.0}, {"source": "$graphify-root$_tests_test_warning_testdenseschedule_test_dense_trigger_friends_heavy", "target": "$graphify-root$_tests_test_warning_make_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_warning.py", "source_location": "L79", "weight": 1.0}, {"source": "$graphify-root$_tests_test_warning_testdenseschedule_test_dense_trigger_friends_heavy", "target": "$graphify-root$_tests_test_warning_make_matrix", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_warning.py", "source_location": "L80", "weight": 1.0}, {"source": "$graphify-root$_tests_test_warning_testdenseschedule_test_dense_trigger_friends_heavy", "target": "$graphify-root$_tests_test_warning_make_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_warning.py", "source_location": "L81", "weight": 1.0}, {"source": "$graphify-root$_tests_test_warning_testdenseschedule_test_no_dense_within_threshold", "target": "$graphify-root$_tests_test_warning_make_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_warning.py", "source_location": "L88", "weight": 1.0}, {"source": "$graphify-root$_tests_test_warning_testdenseschedule_test_no_dense_within_threshold", "target": "$graphify-root$_tests_test_warning_make_matrix", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_warning.py", "source_location": "L89", "weight": 1.0}, {"source": "$graphify-root$_tests_test_warning_testdenseschedule_test_no_dense_within_threshold", "target": "$graphify-root$_tests_test_warning_make_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_warning.py", "source_location": "L90", "weight": 1.0}, {"source": "$graphify-root$_tests_test_warning_testdenseschedule_test_dense_message_includes_party_type", "target": "$graphify-root$_tests_test_warning_make_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_warning.py", "source_location": "L96", "weight": 1.0}, {"source": "$graphify-root$_tests_test_warning_testdenseschedule_test_dense_message_includes_party_type", "target": "$graphify-root$_tests_test_warning_make_matrix", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_warning.py", "source_location": "L97", "weight": 1.0}, {"source": "$graphify-root$_tests_test_warning_testdenseschedule_test_dense_message_includes_party_type", "target": "$graphify-root$_tests_test_warning_make_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_warning.py", "source_location": "L98", "weight": 1.0}, {"source": "$graphify-root$_tests_test_warning_testphysicalstrain_test_strain_trigger", "target": "$graphify-root$_tests_test_warning_make_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_warning.py", "source_location": "L113", "weight": 1.0}, {"source": "$graphify-root$_tests_test_warning_testphysicalstrain_test_strain_trigger", "target": "$graphify-root$_tests_test_warning_make_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_warning.py", "source_location": "L118", "weight": 1.0}, {"source": "$graphify-root$_tests_test_warning_testphysicalstrain_test_no_strain_short_distance", "target": "$graphify-root$_tests_test_warning_make_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_warning.py", "source_location": "L125", "weight": 1.0}, {"source": "$graphify-root$_tests_test_warning_testphysicalstrain_test_no_strain_short_distance", "target": "$graphify-root$_tests_test_warning_make_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_warning.py", "source_location": "L128", "weight": 1.0}, {"source": "$graphify-root$_tests_test_warning_testpurposemismatch_test_mismatch_cultural_all_sports", "target": "$graphify-root$_tests_test_warning_make_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_warning.py", "source_location": "L142", "weight": 1.0}, {"source": "$graphify-root$_tests_test_warning_testpurposemismatch_test_mismatch_cultural_all_sports", "target": "$graphify-root$_tests_test_warning_make_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_warning.py", "source_location": "L145", "weight": 1.0}, {"source": "$graphify-root$_tests_test_warning_testpurposemismatch_test_no_mismatch_cultural_all_cultural", "target": "$graphify-root$_tests_test_warning_make_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_warning.py", "source_location": "L153", "weight": 1.0}, {"source": "$graphify-root$_tests_test_warning_testpurposemismatch_test_no_mismatch_cultural_all_cultural", "target": "$graphify-root$_tests_test_warning_make_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_warning.py", "source_location": "L156", "weight": 1.0}, {"source": "$graphify-root$_tests_test_warning_testpurposemismatch_test_no_mismatch_when_no_travel_type", "target": "$graphify-root$_tests_test_warning_make_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_warning.py", "source_location": "L162", "weight": 1.0}, {"source": "$graphify-root$_tests_test_warning_testpurposemismatch_test_no_mismatch_when_no_travel_type", "target": "$graphify-root$_tests_test_warning_make_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_warning.py", "source_location": "L163", "weight": 1.0}, {"source": "$graphify-root$_tests_test_warning_testarearevisit_test_consecutive_same_category_triggers", "target": "$graphify-root$_tests_test_warning_make_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_warning.py", "source_location": "L177", "weight": 1.0}, {"source": "$graphify-root$_tests_test_warning_testarearevisit_test_consecutive_same_category_triggers", "target": "$graphify-root$_tests_test_warning_make_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_warning.py", "source_location": "L182", "weight": 1.0}, {"source": "$graphify-root$_tests_test_warning_testarearevisit_test_all_different_no_revisit", "target": "$graphify-root$_tests_test_warning_make_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_warning.py", "source_location": "L189", "weight": 1.0}, {"source": "$graphify-root$_tests_test_warning_testarearevisit_test_all_different_no_revisit", "target": "$graphify-root$_tests_test_warning_make_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_warning.py", "source_location": "L194", "weight": 1.0}, {"source": "$graphify-root$_tests_test_warning_testarearevisit_test_three_consecutive_triggers", "target": "$graphify-root$_tests_test_warning_make_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_warning.py", "source_location": "L202", "weight": 1.0}, {"source": "$graphify-root$_tests_test_warning_testarearevisit_test_three_consecutive_triggers", "target": "$graphify-root$_tests_test_warning_make_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_warning.py", "source_location": "L207", "weight": 1.0}, {"source": "$graphify-root$_tests_test_warning_testarearevisit_test_two_consecutive_no_trigger", "target": "$graphify-root$_tests_test_warning_make_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_warning.py", "source_location": "L215", "weight": 1.0}, {"source": "$graphify-root$_tests_test_warning_testarearevisit_test_two_consecutive_no_trigger", "target": "$graphify-root$_tests_test_warning_make_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_warning.py", "source_location": "L220", "weight": 1.0}, {"source": "$graphify-root$_tests_test_warning_testwarningfields_test_warning_has_confidence_from_types", "target": "$graphify-root$_tests_test_warning_make_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_warning.py", "source_location": "L233", "weight": 1.0}, {"source": "$graphify-root$_tests_test_warning_testwarningfields_test_warning_has_confidence_from_types", "target": "$graphify-root$_tests_test_warning_make_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_warning.py", "source_location": "L236", "weight": 1.0}, {"source": "$graphify-root$_tests_test_warning_testwarningfields_test_warning_message_not_empty", "target": "$graphify-root$_tests_test_warning_make_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_warning.py", "source_location": "L243", "weight": 1.0}, {"source": "$graphify-root$_tests_test_warning_testwarningfields_test_warning_message_not_empty", "target": "$graphify-root$_tests_test_warning_make_matrix", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_warning.py", "source_location": "L244", "weight": 1.0}, {"source": "$graphify-root$_tests_test_warning_testwarningfields_test_warning_message_not_empty", "target": "$graphify-root$_tests_test_warning_make_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_warning.py", "source_location": "L245", "weight": 1.0}, {"source": "$graphify-root$_tests_test_warning_testdayindex_test_day_index_defaults_to_none", "target": "$graphify-root$_tests_test_warning_make_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_warning.py", "source_location": "L257", "weight": 1.0}, {"source": "$graphify-root$_tests_test_warning_testdayindex_test_day_index_defaults_to_none", "target": "$graphify-root$_tests_test_warning_make_matrix", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_warning.py", "source_location": "L258", "weight": 1.0}, {"source": "$graphify-root$_tests_test_warning_testdayindex_test_day_index_defaults_to_none", "target": "$graphify-root$_tests_test_warning_make_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_warning.py", "source_location": "L259", "weight": 1.0}, {"source": "$graphify-root$_tests_test_warning_testdayindex_test_day_index_and_poi_names_set_when_passed", "target": "$graphify-root$_tests_test_warning_make_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_warning.py", "source_location": "L267", "weight": 1.0}, {"source": "$graphify-root$_tests_test_warning_testdayindex_test_day_index_and_poi_names_set_when_passed", "target": "$graphify-root$_tests_test_warning_make_matrix", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_warning.py", "source_location": "L268", "weight": 1.0}, {"source": "$graphify-root$_tests_test_warning_testdayindex_test_day_index_and_poi_names_set_when_passed", "target": "$graphify-root$_tests_test_warning_make_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_warning.py", "source_location": "L269", "weight": 1.0}, {"source": "$graphify-root$_tests_test_warning_rationale_1", "target": "$graphify-root$_tests_test_warning_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_warning.py", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_tests_test_warning_make_plan", "callee": "DayPlan", "is_member_call": false, "source_file": "tests/test_warning.py", "source_location": "L36", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_warning_make_plan", "callee": "PlaceInput", "is_member_call": false, "source_file": "tests/test_warning.py", "source_location": "L36", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_warning_make_matrix", "callee": "items", "is_member_call": true, "source_file": "tests/test_warning.py", "source_location": "L46", "receiver": "pairs"}, {"caller_nid": "$graphify-root$_tests_test_warning_make_matrix", "callee": "setdefault", "is_member_call": true, "source_file": "tests/test_warning.py", "source_location": "L47", "receiver": "matrix"}, {"caller_nid": "$graphify-root$_tests_test_warning_testdenseschedule_test_dense_trigger_baby", "callee": "detect", "is_member_call": true, "source_file": "tests/test_warning.py", "source_location": "L73", "receiver": "detector"}, {"caller_nid": "$graphify-root$_tests_test_warning_testdenseschedule_test_dense_trigger_friends_heavy", "callee": "detect", "is_member_call": true, "source_file": "tests/test_warning.py", "source_location": "L82", "receiver": "detector"}, {"caller_nid": "$graphify-root$_tests_test_warning_testdenseschedule_test_no_dense_within_threshold", "callee": "detect", "is_member_call": true, "source_file": "tests/test_warning.py", "source_location": "L91", "receiver": "detector"}, {"caller_nid": "$graphify-root$_tests_test_warning_testdenseschedule_test_dense_message_includes_party_type", "callee": "detect", "is_member_call": true, "source_file": "tests/test_warning.py", "source_location": "L99", "receiver": "detector"}, {"caller_nid": "$graphify-root$_tests_test_warning_testphysicalstrain_test_strain_trigger", "callee": "detect", "is_member_call": true, "source_file": "tests/test_warning.py", "source_location": "L119", "receiver": "detector"}, {"caller_nid": "$graphify-root$_tests_test_warning_testphysicalstrain_test_no_strain_short_distance", "callee": "detect", "is_member_call": true, "source_file": "tests/test_warning.py", "source_location": "L129", "receiver": "detector"}, {"caller_nid": "$graphify-root$_tests_test_warning_testpurposemismatch_test_mismatch_cultural_all_sports", "callee": "detect", "is_member_call": true, "source_file": "tests/test_warning.py", "source_location": "L146", "receiver": "detector"}, {"caller_nid": "$graphify-root$_tests_test_warning_testpurposemismatch_test_no_mismatch_cultural_all_cultural", "callee": "detect", "is_member_call": true, "source_file": "tests/test_warning.py", "source_location": "L157", "receiver": "detector"}, {"caller_nid": "$graphify-root$_tests_test_warning_testpurposemismatch_test_no_mismatch_when_no_travel_type", "callee": "detect", "is_member_call": true, "source_file": "tests/test_warning.py", "source_location": "L164", "receiver": "detector"}, {"caller_nid": "$graphify-root$_tests_test_warning_testarearevisit_test_consecutive_same_category_triggers", "callee": "detect", "is_member_call": true, "source_file": "tests/test_warning.py", "source_location": "L183", "receiver": "detector"}, {"caller_nid": "$graphify-root$_tests_test_warning_testarearevisit_test_all_different_no_revisit", "callee": "detect", "is_member_call": true, "source_file": "tests/test_warning.py", "source_location": "L195", "receiver": "detector"}, {"caller_nid": "$graphify-root$_tests_test_warning_testarearevisit_test_three_consecutive_triggers", "callee": "detect", "is_member_call": true, "source_file": "tests/test_warning.py", "source_location": "L208", "receiver": "detector"}, {"caller_nid": "$graphify-root$_tests_test_warning_testarearevisit_test_two_consecutive_no_trigger", "callee": "detect", "is_member_call": true, "source_file": "tests/test_warning.py", "source_location": "L221", "receiver": "detector"}, {"caller_nid": "$graphify-root$_tests_test_warning_testwarningfields_test_warning_has_confidence_from_types", "callee": "detect", "is_member_call": true, "source_file": "tests/test_warning.py", "source_location": "L237", "receiver": "detector"}, {"caller_nid": "$graphify-root$_tests_test_warning_testwarningfields_test_warning_message_not_empty", "callee": "detect", "is_member_call": true, "source_file": "tests/test_warning.py", "source_location": "L246", "receiver": "detector"}, {"caller_nid": "$graphify-root$_tests_test_warning_testdayindex_test_day_index_defaults_to_none", "callee": "detect", "is_member_call": true, "source_file": "tests/test_warning.py", "source_location": "L260", "receiver": "detector"}, {"caller_nid": "$graphify-root$_tests_test_warning_testdayindex_test_day_index_and_poi_names_set_when_passed", "callee": "detect", "is_member_call": true, "source_file": "tests/test_warning.py", "source_location": "L270", "receiver": "detector"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/48868fed2687a2f94002ad114dbdf582536015f24400c2b4cee54c1f9ff60414.json b/graphify-out/cache/ast/v0.9.31/48868fed2687a2f94002ad114dbdf582536015f24400c2b4cee54c1f9ff60414.json new file mode 100644 index 0000000..1c12340 --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/48868fed2687a2f94002ad114dbdf582536015f24400c2b4cee54c1f9ff60414.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_src_data_barrier_free_api_py", "label": "barrier_free_api.py", "file_type": "code", "source_file": "src/data/barrier_free_api.py", "source_location": "L1"}, {"id": "$graphify-root$_src_data_barrier_free_api_barrierfreeplace", "label": "BarrierFreePlace", "file_type": "code", "source_file": "src/data/barrier_free_api.py", "source_location": "L24", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_src_data_barrier_free_api_barrierfreedetail", "label": "BarrierFreeDetail", "file_type": "code", "source_file": "src/data/barrier_free_api.py", "source_location": "L43", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_src_data_barrier_free_api_extract_items", "label": "_extract_items()", "file_type": "code", "source_file": "src/data/barrier_free_api.py", "source_location": "L68", "_callable": true}, {"id": "$graphify-root$_src_data_barrier_free_api_safe_float", "label": "_safe_float()", "file_type": "code", "source_file": "src/data/barrier_free_api.py", "source_location": "L78", "_callable": true}, {"id": "any", "label": "Any", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/data/barrier_free_api.py"}, {"id": "$graphify-root$_src_data_barrier_free_api_str", "label": "_str()", "file_type": "code", "source_file": "src/data/barrier_free_api.py", "source_location": "L85", "_callable": true}, {"id": "$graphify-root$_src_data_barrier_free_api_barrierfreeapiclient", "label": "BarrierFreeAPIClient", "file_type": "code", "source_file": "src/data/barrier_free_api.py", "source_location": "L91", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_src_data_barrier_free_api_barrierfreeapiclient_init", "label": ".__init__()", "file_type": "code", "source_file": "src/data/barrier_free_api.py", "source_location": "L97", "_callable": true}, {"id": "$graphify-root$_src_data_barrier_free_api_barrierfreeapiclient_from_settings", "label": ".from_settings()", "file_type": "code", "source_file": "src/data/barrier_free_api.py", "source_location": "L104", "_callable": true}, {"id": "settings", "label": "Settings", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/data/barrier_free_api.py"}, {"id": "$graphify-root$_src_data_barrier_free_api_barrierfreeapiclient_fetch_page", "label": ".fetch_page()", "file_type": "code", "source_file": "src/data/barrier_free_api.py", "source_location": "L112", "_callable": true}, {"id": "$graphify-root$_src_data_barrier_free_api_barrierfreeapiclient_fetch_detail", "label": ".fetch_detail()", "file_type": "code", "source_file": "src/data/barrier_free_api.py", "source_location": "L163", "_callable": true}, {"id": "$graphify-root$_src_data_barrier_free_api_barrierfreeapiclient_fetch_all", "label": ".fetch_all()", "file_type": "code", "source_file": "src/data/barrier_free_api.py", "source_location": "L210", "_callable": true}, {"id": "$graphify-root$_src_data_barrier_free_api_rationale_1", "label": "\ud55c\uad6d\uad00\uad11\uacf5\uc0ac \ubb34\uc7a5\uc560 \uc5ec\ud589 \uc815\ubcf4 API \ud074\ub77c\uc774\uc5b8\ud2b8 (B551011/KorWithService2). \uc624\ud37c\ub808\uc774\uc158: areaBasedList2 \u2014\u2026", "file_type": "rationale", "source_file": "src/data/barrier_free_api.py", "source_location": "L1"}, {"id": "$graphify-root$_src_data_barrier_free_api_rationale_25", "label": "areaBasedList2 \uae30\ubc18 \uae30\ubcf8 POI + detailWithTour2 \uc811\uadfc\uc131 \uc138\ubd80 \ud56d\ubaa9.", "file_type": "rationale", "source_file": "src/data/barrier_free_api.py", "source_location": "L25"}, {"id": "$graphify-root$_src_data_barrier_free_api_rationale_44", "label": "detailWithTour2 \uc751\ub2f5 \uc804\uccb4 \ud544\ub4dc (\ud544\uc694 \uc2dc \uac1c\ubcc4 \uc870\ud68c\uc6a9).", "file_type": "rationale", "source_file": "src/data/barrier_free_api.py", "source_location": "L44"}, {"id": "$graphify-root$_src_data_barrier_free_api_rationale_92", "label": "\ubb34\uc7a5\uc560 \uc5ec\ud589 \uc815\ubcf4 API \u2014 \ube44\ub3d9\uae30 \ud074\ub77c\uc774\uc5b8\ud2b8. Graceful Fallback: API \ud638\ucd9c \uc2e4\ud328 \uc2dc \ube48 \ub9ac\uc2a4\ud2b8/None \ubc18\ud658.", "file_type": "rationale", "source_file": "src/data/barrier_free_api.py", "source_location": "L92"}, {"id": "$graphify-root$_src_data_barrier_free_api_rationale_119", "label": "areaBasedList2 \u2014 \ubb34\uc7a5\uc560 \uc5ec\ud589 POI \ubaa9\ub85d \ud55c \ud398\uc774\uc9c0 \uc870\ud68c. \ubc18\ud658 \ud544\ub4dc: contentid, title, addr1, mapx,\u2026", "file_type": "rationale", "source_file": "src/data/barrier_free_api.py", "source_location": "L119"}, {"id": "$graphify-root$_src_data_barrier_free_api_rationale_164", "label": "detailWithTour2 \u2014 \ub2e8\uc77c \ucf58\ud150\uce20 \ubb34\uc7a5\uc560 \uc811\uadfc\uc131 \uc0c1\uc138 \uc870\ud68c. \uc9c0\uccb4\uc7a5\uc560\u00b7\uc2dc\uac01\uc7a5\uc560\u00b7\uccad\uac01\uc7a5\uc560\u00b7\uc601\uc720\uc544\uac00\uc871 \ud56d\ubaa9\uc744 \ud14d\uc2a4\ud2b8\ub85c \ubc18\ud658.\u2026", "file_type": "rationale", "source_file": "src/data/barrier_free_api.py", "source_location": "L164"}, {"id": "$graphify-root$_src_data_barrier_free_api_rationale_211", "label": "\uc804\uccb4 \ubb34\uc7a5\uc560 \uc5ec\ud589 POI \ubaa9\ub85d \uc870\ud68c (\ud398\uc774\uc9c0 \uc21c\ud68c, areaBasedList2).", "file_type": "rationale", "source_file": "src/data/barrier_free_api.py", "source_location": "L211"}], "edges": [{"source": "$graphify-root$_src_data_barrier_free_api_py", "target": "dataclasses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/data/barrier_free_api.py", "source_location": "L11", "weight": 1.0}, {"source": "$graphify-root$_src_data_barrier_free_api_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/data/barrier_free_api.py", "source_location": "L12", "weight": 1.0}, {"source": "$graphify-root$_src_data_barrier_free_api_py", "target": "httpx", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/data/barrier_free_api.py", "source_location": "L14", "weight": 1.0}, {"source": "$graphify-root$_src_data_barrier_free_api_py", "target": "src_data_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/data/barrier_free_api.py", "source_location": "L16", "weight": 1.0}, {"source": "$graphify-root$_src_data_barrier_free_api_py", "target": "$graphify-root$_src_data_barrier_free_api_barrierfreeplace", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/data/barrier_free_api.py", "source_location": "L24", "weight": 1.0}, {"source": "$graphify-root$_src_data_barrier_free_api_py", "target": "$graphify-root$_src_data_barrier_free_api_barrierfreedetail", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/data/barrier_free_api.py", "source_location": "L43", "weight": 1.0}, {"source": "$graphify-root$_src_data_barrier_free_api_py", "target": "$graphify-root$_src_data_barrier_free_api_extract_items", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/data/barrier_free_api.py", "source_location": "L68", "weight": 1.0}, {"source": "$graphify-root$_src_data_barrier_free_api_py", "target": "$graphify-root$_src_data_barrier_free_api_safe_float", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/data/barrier_free_api.py", "source_location": "L78", "weight": 1.0}, {"source": "$graphify-root$_src_data_barrier_free_api_safe_float", "target": "any", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/data/barrier_free_api.py", "source_location": "L78", "weight": 1.0}, {"source": "$graphify-root$_src_data_barrier_free_api_py", "target": "$graphify-root$_src_data_barrier_free_api_str", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/data/barrier_free_api.py", "source_location": "L85", "weight": 1.0}, {"source": "$graphify-root$_src_data_barrier_free_api_str", "target": "any", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/data/barrier_free_api.py", "source_location": "L85", "weight": 1.0}, {"source": "$graphify-root$_src_data_barrier_free_api_py", "target": "$graphify-root$_src_data_barrier_free_api_barrierfreeapiclient", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/data/barrier_free_api.py", "source_location": "L91", "weight": 1.0}, {"source": "$graphify-root$_src_data_barrier_free_api_barrierfreeapiclient", "target": "$graphify-root$_src_data_barrier_free_api_barrierfreeapiclient_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/data/barrier_free_api.py", "source_location": "L97", "weight": 1.0}, {"source": "$graphify-root$_src_data_barrier_free_api_barrierfreeapiclient", "target": "$graphify-root$_src_data_barrier_free_api_barrierfreeapiclient_from_settings", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/data/barrier_free_api.py", "source_location": "L104", "weight": 1.0}, {"source": "$graphify-root$_src_data_barrier_free_api_barrierfreeapiclient_from_settings", "target": "settings", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/data/barrier_free_api.py", "source_location": "L104", "weight": 1.0}, {"source": "$graphify-root$_src_data_barrier_free_api_barrierfreeapiclient", "target": "$graphify-root$_src_data_barrier_free_api_barrierfreeapiclient_fetch_page", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/data/barrier_free_api.py", "source_location": "L112", "weight": 1.0}, {"source": "$graphify-root$_src_data_barrier_free_api_barrierfreeapiclient_fetch_page", "target": "$graphify-root$_src_data_barrier_free_api_barrierfreeplace", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/data/barrier_free_api.py", "source_location": "L112", "weight": 1.0}, {"source": "$graphify-root$_src_data_barrier_free_api_barrierfreeapiclient", "target": "$graphify-root$_src_data_barrier_free_api_barrierfreeapiclient_fetch_detail", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/data/barrier_free_api.py", "source_location": "L163", "weight": 1.0}, {"source": "$graphify-root$_src_data_barrier_free_api_barrierfreeapiclient_fetch_detail", "target": "$graphify-root$_src_data_barrier_free_api_barrierfreedetail", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "src/data/barrier_free_api.py", "source_location": "L163", "weight": 1.0}, {"source": "$graphify-root$_src_data_barrier_free_api_barrierfreeapiclient", "target": "$graphify-root$_src_data_barrier_free_api_barrierfreeapiclient_fetch_all", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/data/barrier_free_api.py", "source_location": "L210", "weight": 1.0}, {"source": "$graphify-root$_src_data_barrier_free_api_barrierfreeapiclient_fetch_all", "target": "$graphify-root$_src_data_barrier_free_api_barrierfreeplace", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/data/barrier_free_api.py", "source_location": "L210", "weight": 1.0}, {"source": "$graphify-root$_src_data_barrier_free_api_barrierfreeapiclient_from_settings", "target": "settings", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/data/barrier_free_api.py", "source_location": "L106", "weight": 1.0}, {"source": "$graphify-root$_src_data_barrier_free_api_barrierfreeapiclient_fetch_page", "target": "$graphify-root$_src_data_barrier_free_api_extract_items", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/data/barrier_free_api.py", "source_location": "L146", "weight": 1.0}, {"source": "$graphify-root$_src_data_barrier_free_api_barrierfreeapiclient_fetch_page", "target": "$graphify-root$_src_data_barrier_free_api_str", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/data/barrier_free_api.py", "source_location": "L147", "weight": 1.0}, {"source": "$graphify-root$_src_data_barrier_free_api_barrierfreeapiclient_fetch_page", "target": "$graphify-root$_src_data_barrier_free_api_safe_float", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/data/barrier_free_api.py", "source_location": "L150", "weight": 1.0}, {"source": "$graphify-root$_src_data_barrier_free_api_barrierfreeapiclient_fetch_page", "target": "$graphify-root$_src_data_barrier_free_api_barrierfreeplace", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/data/barrier_free_api.py", "source_location": "L154", "weight": 1.0}, {"source": "$graphify-root$_src_data_barrier_free_api_barrierfreeapiclient_fetch_detail", "target": "$graphify-root$_src_data_barrier_free_api_extract_items", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/data/barrier_free_api.py", "source_location": "L186", "weight": 1.0}, {"source": "$graphify-root$_src_data_barrier_free_api_barrierfreeapiclient_fetch_detail", "target": "$graphify-root$_src_data_barrier_free_api_barrierfreedetail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/data/barrier_free_api.py", "source_location": "L190", "weight": 1.0}, {"source": "$graphify-root$_src_data_barrier_free_api_barrierfreeapiclient_fetch_detail", "target": "$graphify-root$_src_data_barrier_free_api_str", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/data/barrier_free_api.py", "source_location": "L191", "weight": 1.0}, {"source": "$graphify-root$_src_data_barrier_free_api_barrierfreeapiclient_fetch_all", "target": "$graphify-root$_src_data_barrier_free_api_barrierfreeapiclient_fetch_page", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/data/barrier_free_api.py", "source_location": "L215", "weight": 1.0}, {"source": "$graphify-root$_src_data_barrier_free_api_rationale_1", "target": "$graphify-root$_src_data_barrier_free_api_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/data/barrier_free_api.py", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_src_data_barrier_free_api_rationale_25", "target": "$graphify-root$_src_data_barrier_free_api_barrierfreeplace", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/data/barrier_free_api.py", "source_location": "L25", "weight": 1.0}, {"source": "$graphify-root$_src_data_barrier_free_api_rationale_44", "target": "$graphify-root$_src_data_barrier_free_api_barrierfreedetail", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/data/barrier_free_api.py", "source_location": "L44", "weight": 1.0}, {"source": "$graphify-root$_src_data_barrier_free_api_rationale_92", "target": "$graphify-root$_src_data_barrier_free_api_barrierfreeapiclient", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/data/barrier_free_api.py", "source_location": "L92", "weight": 1.0}, {"source": "$graphify-root$_src_data_barrier_free_api_rationale_119", "target": "$graphify-root$_src_data_barrier_free_api_barrierfreeapiclient_fetch_page", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/data/barrier_free_api.py", "source_location": "L119", "weight": 1.0}, {"source": "$graphify-root$_src_data_barrier_free_api_rationale_164", "target": "$graphify-root$_src_data_barrier_free_api_barrierfreeapiclient_fetch_detail", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/data/barrier_free_api.py", "source_location": "L164", "weight": 1.0}, {"source": "$graphify-root$_src_data_barrier_free_api_rationale_211", "target": "$graphify-root$_src_data_barrier_free_api_barrierfreeapiclient_fetch_all", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/data/barrier_free_api.py", "source_location": "L211", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_src_data_barrier_free_api_extract_items", "callee": "dict", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "src/data/barrier_free_api.py", "source_location": "L71"}, {"caller_nid": "$graphify-root$_src_data_barrier_free_api_extract_items", "callee": "KeyError", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "src/data/barrier_free_api.py", "source_location": "L74"}, {"caller_nid": "$graphify-root$_src_data_barrier_free_api_extract_items", "callee": "TypeError", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "src/data/barrier_free_api.py", "source_location": "L74"}, {"caller_nid": "$graphify-root$_src_data_barrier_free_api_safe_float", "callee": "TypeError", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "src/data/barrier_free_api.py", "source_location": "L81"}, {"caller_nid": "$graphify-root$_src_data_barrier_free_api_safe_float", "callee": "ValueError", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "src/data/barrier_free_api.py", "source_location": "L81"}, {"caller_nid": "$graphify-root$_src_data_barrier_free_api_str", "callee": "strip", "is_member_call": true, "source_file": "src/data/barrier_free_api.py", "source_location": "L88", "receiver": null}, {"caller_nid": "$graphify-root$_src_data_barrier_free_api_barrierfreeapiclient_init", "callee": "ValueError", "is_member_call": false, "source_file": "src/data/barrier_free_api.py", "source_location": "L99", "receiver": null}, {"caller_nid": "$graphify-root$_src_data_barrier_free_api_barrierfreeapiclient_from_settings", "callee": "cls", "is_member_call": false, "source_file": "src/data/barrier_free_api.py", "source_location": "L110", "receiver": null}, {"caller_nid": "$graphify-root$_src_data_barrier_free_api_barrierfreeapiclient_fetch_page", "callee": "AsyncClient", "is_member_call": true, "source_file": "src/data/barrier_free_api.py", "source_location": "L138", "receiver": "httpx"}, {"caller_nid": "$graphify-root$_src_data_barrier_free_api_barrierfreeapiclient_fetch_page", "callee": "get", "is_member_call": true, "source_file": "src/data/barrier_free_api.py", "source_location": "L139", "receiver": "client"}, {"caller_nid": "$graphify-root$_src_data_barrier_free_api_barrierfreeapiclient_fetch_page", "callee": "raise_for_status", "is_member_call": true, "source_file": "src/data/barrier_free_api.py", "source_location": "L140", "receiver": "resp"}, {"caller_nid": "$graphify-root$_src_data_barrier_free_api_barrierfreeapiclient_fetch_page", "callee": "json", "is_member_call": true, "source_file": "src/data/barrier_free_api.py", "source_location": "L141", "receiver": "resp"}, {"caller_nid": "$graphify-root$_src_data_barrier_free_api_barrierfreeapiclient_fetch_page", "callee": "get", "is_member_call": true, "source_file": "src/data/barrier_free_api.py", "source_location": "L147", "receiver": "item"}, {"caller_nid": "$graphify-root$_src_data_barrier_free_api_barrierfreeapiclient_fetch_page", "callee": "get", "is_member_call": true, "source_file": "src/data/barrier_free_api.py", "source_location": "L147", "receiver": "item"}, {"caller_nid": "$graphify-root$_src_data_barrier_free_api_barrierfreeapiclient_fetch_page", "callee": "get", "is_member_call": true, "source_file": "src/data/barrier_free_api.py", "source_location": "L148", "receiver": "item"}, {"caller_nid": "$graphify-root$_src_data_barrier_free_api_barrierfreeapiclient_fetch_page", "callee": "get", "is_member_call": true, "source_file": "src/data/barrier_free_api.py", "source_location": "L149", "receiver": "item"}, {"caller_nid": "$graphify-root$_src_data_barrier_free_api_barrierfreeapiclient_fetch_page", "callee": "get", "is_member_call": true, "source_file": "src/data/barrier_free_api.py", "source_location": "L149", "receiver": "item"}, {"caller_nid": "$graphify-root$_src_data_barrier_free_api_barrierfreeapiclient_fetch_page", "callee": "get", "is_member_call": true, "source_file": "src/data/barrier_free_api.py", "source_location": "L150", "receiver": "item"}, {"caller_nid": "$graphify-root$_src_data_barrier_free_api_barrierfreeapiclient_fetch_page", "callee": "get", "is_member_call": true, "source_file": "src/data/barrier_free_api.py", "source_location": "L150", "receiver": "item"}, {"caller_nid": "$graphify-root$_src_data_barrier_free_api_barrierfreeapiclient_fetch_page", "callee": "get", "is_member_call": true, "source_file": "src/data/barrier_free_api.py", "source_location": "L151", "receiver": "item"}, {"caller_nid": "$graphify-root$_src_data_barrier_free_api_barrierfreeapiclient_fetch_page", "callee": "get", "is_member_call": true, "source_file": "src/data/barrier_free_api.py", "source_location": "L151", "receiver": "item"}, {"caller_nid": "$graphify-root$_src_data_barrier_free_api_barrierfreeapiclient_fetch_page", "callee": "append", "is_member_call": true, "source_file": "src/data/barrier_free_api.py", "source_location": "L154", "receiver": "places"}, {"caller_nid": "$graphify-root$_src_data_barrier_free_api_barrierfreeapiclient_fetch_detail", "callee": "AsyncClient", "is_member_call": true, "source_file": "src/data/barrier_free_api.py", "source_location": "L179", "receiver": "httpx"}, {"caller_nid": "$graphify-root$_src_data_barrier_free_api_barrierfreeapiclient_fetch_detail", "callee": "get", "is_member_call": true, "source_file": "src/data/barrier_free_api.py", "source_location": "L180", "receiver": "client"}, {"caller_nid": "$graphify-root$_src_data_barrier_free_api_barrierfreeapiclient_fetch_detail", "callee": "raise_for_status", "is_member_call": true, "source_file": "src/data/barrier_free_api.py", "source_location": "L181", "receiver": "resp"}, {"caller_nid": "$graphify-root$_src_data_barrier_free_api_barrierfreeapiclient_fetch_detail", "callee": "json", "is_member_call": true, "source_file": "src/data/barrier_free_api.py", "source_location": "L182", "receiver": "resp"}, {"caller_nid": "$graphify-root$_src_data_barrier_free_api_barrierfreeapiclient_fetch_detail", "callee": "get", "is_member_call": true, "source_file": "src/data/barrier_free_api.py", "source_location": "L191", "receiver": "item"}, {"caller_nid": "$graphify-root$_src_data_barrier_free_api_barrierfreeapiclient_fetch_detail", "callee": "get", "is_member_call": true, "source_file": "src/data/barrier_free_api.py", "source_location": "L192", "receiver": "item"}, {"caller_nid": "$graphify-root$_src_data_barrier_free_api_barrierfreeapiclient_fetch_detail", "callee": "get", "is_member_call": true, "source_file": "src/data/barrier_free_api.py", "source_location": "L193", "receiver": "item"}, {"caller_nid": "$graphify-root$_src_data_barrier_free_api_barrierfreeapiclient_fetch_detail", "callee": "get", "is_member_call": true, "source_file": "src/data/barrier_free_api.py", "source_location": "L194", "receiver": "item"}, {"caller_nid": "$graphify-root$_src_data_barrier_free_api_barrierfreeapiclient_fetch_detail", "callee": "get", "is_member_call": true, "source_file": "src/data/barrier_free_api.py", "source_location": "L195", "receiver": "item"}, {"caller_nid": "$graphify-root$_src_data_barrier_free_api_barrierfreeapiclient_fetch_detail", "callee": "get", "is_member_call": true, "source_file": "src/data/barrier_free_api.py", "source_location": "L196", "receiver": "item"}, {"caller_nid": "$graphify-root$_src_data_barrier_free_api_barrierfreeapiclient_fetch_detail", "callee": "get", "is_member_call": true, "source_file": "src/data/barrier_free_api.py", "source_location": "L197", "receiver": "item"}, {"caller_nid": "$graphify-root$_src_data_barrier_free_api_barrierfreeapiclient_fetch_detail", "callee": "get", "is_member_call": true, "source_file": "src/data/barrier_free_api.py", "source_location": "L198", "receiver": "item"}, {"caller_nid": "$graphify-root$_src_data_barrier_free_api_barrierfreeapiclient_fetch_detail", "callee": "get", "is_member_call": true, "source_file": "src/data/barrier_free_api.py", "source_location": "L199", "receiver": "item"}, {"caller_nid": "$graphify-root$_src_data_barrier_free_api_barrierfreeapiclient_fetch_detail", "callee": "get", "is_member_call": true, "source_file": "src/data/barrier_free_api.py", "source_location": "L200", "receiver": "item"}, {"caller_nid": "$graphify-root$_src_data_barrier_free_api_barrierfreeapiclient_fetch_detail", "callee": "get", "is_member_call": true, "source_file": "src/data/barrier_free_api.py", "source_location": "L201", "receiver": "item"}, {"caller_nid": "$graphify-root$_src_data_barrier_free_api_barrierfreeapiclient_fetch_detail", "callee": "get", "is_member_call": true, "source_file": "src/data/barrier_free_api.py", "source_location": "L202", "receiver": "item"}, {"caller_nid": "$graphify-root$_src_data_barrier_free_api_barrierfreeapiclient_fetch_detail", "callee": "get", "is_member_call": true, "source_file": "src/data/barrier_free_api.py", "source_location": "L203", "receiver": "item"}, {"caller_nid": "$graphify-root$_src_data_barrier_free_api_barrierfreeapiclient_fetch_detail", "callee": "get", "is_member_call": true, "source_file": "src/data/barrier_free_api.py", "source_location": "L204", "receiver": "item"}, {"caller_nid": "$graphify-root$_src_data_barrier_free_api_barrierfreeapiclient_fetch_detail", "callee": "get", "is_member_call": true, "source_file": "src/data/barrier_free_api.py", "source_location": "L205", "receiver": "item"}, {"caller_nid": "$graphify-root$_src_data_barrier_free_api_barrierfreeapiclient_fetch_detail", "callee": "get", "is_member_call": true, "source_file": "src/data/barrier_free_api.py", "source_location": "L206", "receiver": "item"}, {"caller_nid": "$graphify-root$_src_data_barrier_free_api_barrierfreeapiclient_fetch_detail", "callee": "get", "is_member_call": true, "source_file": "src/data/barrier_free_api.py", "source_location": "L207", "receiver": "item"}, {"caller_nid": "$graphify-root$_src_data_barrier_free_api_barrierfreeapiclient_fetch_all", "callee": "extend", "is_member_call": true, "source_file": "src/data/barrier_free_api.py", "source_location": "L218", "receiver": "results"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/49889c0f0087e6353e14ea0f69192481591e6cc7e9df229041261395d4068170.json b/graphify-out/cache/ast/v0.9.31/49889c0f0087e6353e14ea0f69192481591e6cc7e9df229041261395d4068170.json new file mode 100644 index 0000000..372af19 --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/49889c0f0087e6353e14ea0f69192481591e6cc7e9df229041261395d4068170.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_src_api_static_manifest_json", "label": "manifest.json", "file_type": "code", "source_file": "src/api/static/manifest.json", "source_location": "L1"}, {"id": "$graphify-root$_src_api_static_manifest_name", "label": "name", "file_type": "code", "source_file": "src/api/static/manifest.json", "source_location": "L2"}, {"id": "$graphify-root$_src_api_static_manifest_short_name", "label": "short_name", "file_type": "code", "source_file": "src/api/static/manifest.json", "source_location": "L3"}, {"id": "$graphify-root$_src_api_static_manifest_description", "label": "description", "file_type": "code", "source_file": "src/api/static/manifest.json", "source_location": "L4"}, {"id": "$graphify-root$_src_api_static_manifest_start_url", "label": "start_url", "file_type": "code", "source_file": "src/api/static/manifest.json", "source_location": "L5"}, {"id": "$graphify-root$_src_api_static_manifest_display", "label": "display", "file_type": "code", "source_file": "src/api/static/manifest.json", "source_location": "L6"}, {"id": "$graphify-root$_src_api_static_manifest_background_color", "label": "background_color", "file_type": "code", "source_file": "src/api/static/manifest.json", "source_location": "L7"}, {"id": "$graphify-root$_src_api_static_manifest_theme_color", "label": "theme_color", "file_type": "code", "source_file": "src/api/static/manifest.json", "source_location": "L8"}, {"id": "$graphify-root$_src_api_static_manifest_orientation", "label": "orientation", "file_type": "code", "source_file": "src/api/static/manifest.json", "source_location": "L9"}, {"id": "$graphify-root$_src_api_static_manifest_lang", "label": "lang", "file_type": "code", "source_file": "src/api/static/manifest.json", "source_location": "L10"}, {"id": "$graphify-root$_src_api_static_manifest_categories", "label": "categories", "file_type": "code", "source_file": "src/api/static/manifest.json", "source_location": "L11"}, {"id": "ref_travel", "label": "travel", "file_type": "concept", "source_file": "src/api/static/manifest.json", "source_location": "L11"}, {"id": "ref_utilities", "label": "utilities", "file_type": "concept", "source_file": "src/api/static/manifest.json", "source_location": "L11"}, {"id": "$graphify-root$_src_api_static_manifest_icons", "label": "icons", "file_type": "code", "source_file": "src/api/static/manifest.json", "source_location": "L12"}, {"id": "$graphify-root$_src_api_static_manifest_shortcuts", "label": "shortcuts", "file_type": "code", "source_file": "src/api/static/manifest.json", "source_location": "L26"}], "edges": [{"source": "$graphify-root$_src_api_static_manifest_json", "target": "$graphify-root$_src_api_static_manifest_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/api/static/manifest.json", "source_location": "L2", "weight": 1.0}, {"source": "$graphify-root$_src_api_static_manifest_json", "target": "$graphify-root$_src_api_static_manifest_short_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/api/static/manifest.json", "source_location": "L3", "weight": 1.0}, {"source": "$graphify-root$_src_api_static_manifest_json", "target": "$graphify-root$_src_api_static_manifest_description", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/api/static/manifest.json", "source_location": "L4", "weight": 1.0}, {"source": "$graphify-root$_src_api_static_manifest_json", "target": "$graphify-root$_src_api_static_manifest_start_url", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/api/static/manifest.json", "source_location": "L5", "weight": 1.0}, {"source": "$graphify-root$_src_api_static_manifest_json", "target": "$graphify-root$_src_api_static_manifest_display", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/api/static/manifest.json", "source_location": "L6", "weight": 1.0}, {"source": "$graphify-root$_src_api_static_manifest_json", "target": "$graphify-root$_src_api_static_manifest_background_color", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/api/static/manifest.json", "source_location": "L7", "weight": 1.0}, {"source": "$graphify-root$_src_api_static_manifest_json", "target": "$graphify-root$_src_api_static_manifest_theme_color", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/api/static/manifest.json", "source_location": "L8", "weight": 1.0}, {"source": "$graphify-root$_src_api_static_manifest_json", "target": "$graphify-root$_src_api_static_manifest_orientation", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/api/static/manifest.json", "source_location": "L9", "weight": 1.0}, {"source": "$graphify-root$_src_api_static_manifest_json", "target": "$graphify-root$_src_api_static_manifest_lang", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/api/static/manifest.json", "source_location": "L10", "weight": 1.0}, {"source": "$graphify-root$_src_api_static_manifest_json", "target": "$graphify-root$_src_api_static_manifest_categories", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/api/static/manifest.json", "source_location": "L11", "weight": 1.0}, {"source": "$graphify-root$_src_api_static_manifest_categories", "target": "ref_travel", "relation": "extends", "confidence": "EXTRACTED", "source_file": "src/api/static/manifest.json", "source_location": "L11", "weight": 1.0, "context": "import"}, {"source": "$graphify-root$_src_api_static_manifest_categories", "target": "ref_utilities", "relation": "extends", "confidence": "EXTRACTED", "source_file": "src/api/static/manifest.json", "source_location": "L11", "weight": 1.0, "context": "import"}, {"source": "$graphify-root$_src_api_static_manifest_json", "target": "$graphify-root$_src_api_static_manifest_icons", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/api/static/manifest.json", "source_location": "L12", "weight": 1.0}, {"source": "$graphify-root$_src_api_static_manifest_json", "target": "$graphify-root$_src_api_static_manifest_shortcuts", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/api/static/manifest.json", "source_location": "L26", "weight": 1.0}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/4ce63ec57dd4b7954fbf9fcfb160d38f6ebc5cda477b2b38124b88774a785215.json b/graphify-out/cache/ast/v0.9.31/4ce63ec57dd4b7954fbf9fcfb160d38f6ebc5cda477b2b38124b88774a785215.json new file mode 100644 index 0000000..671fc51 --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/4ce63ec57dd4b7954fbf9fcfb160d38f6ebc5cda477b2b38124b88774a785215.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_src_data_tour_api_py", "label": "tour_api.py", "file_type": "code", "source_file": "src/data/tour_api.py", "source_location": "L1"}, {"id": "$graphify-root$_src_data_tour_api_parse_usetime", "label": "_parse_usetime()", "file_type": "code", "source_file": "src/data/tour_api.py", "source_location": "L18", "_callable": true}, {"id": "$graphify-root$_src_data_tour_api_extract_items", "label": "_extract_items()", "file_type": "code", "source_file": "src/data/tour_api.py", "source_location": "L27", "_callable": true}, {"id": "$graphify-root$_src_data_tour_api_tourapiclient", "label": "TourAPIClient", "file_type": "code", "source_file": "src/data/tour_api.py", "source_location": "L38", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_src_data_tour_api_tourapiclient_init", "label": ".__init__()", "file_type": "code", "source_file": "src/data/tour_api.py", "source_location": "L48", "_callable": true}, {"id": "$graphify-root$_src_data_tour_api_tourapiclient_from_settings", "label": ".from_settings()", "file_type": "code", "source_file": "src/data/tour_api.py", "source_location": "L62", "_callable": true}, {"id": "settings", "label": "Settings", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/data/tour_api.py"}, {"id": "$graphify-root$_src_data_tour_api_tourapiclient_search_poi", "label": ".search_poi()", "file_type": "code", "source_file": "src/data/tour_api.py", "source_location": "L70", "_callable": true}, {"id": "poi", "label": "POI", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/data/tour_api.py"}, {"id": "$graphify-root$_src_data_tour_api_tourapiclient_get_operating_hours", "label": ".get_operating_hours()", "file_type": "code", "source_file": "src/data/tour_api.py", "source_location": "L123", "_callable": true}, {"id": "$graphify-root$_src_data_tour_api_tourapiclient_clear_cache", "label": ".clear_cache()", "file_type": "code", "source_file": "src/data/tour_api.py", "source_location": "L157", "_callable": true}, {"id": "$graphify-root$_src_data_tour_api_rationale_1", "label": "\ud55c\uad6d\uad00\uad11\uacf5\uc0ac TourAPI v2 \ube44\ub3d9\uae30 \ud074\ub77c\uc774\uc5b8\ud2b8 (httpx + Graceful Fallback).", "file_type": "rationale", "source_file": "src/data/tour_api.py", "source_location": "L1"}, {"id": "$graphify-root$_src_data_tour_api_rationale_19", "label": "09:00 ~ 18:00' \ud615\ud0dc\uc5d0\uc11c (open, close) \ud30c\uc2f1. \uc2e4\ud328 \uc2dc \ud3f4\ubc31.", "file_type": "rationale", "source_file": "src/data/tour_api.py", "source_location": "L19"}, {"id": "$graphify-root$_src_data_tour_api_rationale_28", "label": "TourAPI \uc751\ub2f5 JSON\uc5d0\uc11c item \ub9ac\uc2a4\ud2b8 \ucd94\ucd9c.", "file_type": "rationale", "source_file": "src/data/tour_api.py", "source_location": "L28"}, {"id": "$graphify-root$_src_data_tour_api_rationale_39", "label": "\ud55c\uad6d\uad00\uad11\uacf5\uc0ac TourAPI v2 \ube44\ub3d9\uae30 \ud074\ub77c\uc774\uc5b8\ud2b8. \ubaa8\ub4e0 \ud638\ucd9c\uc740 \uc2e4\ud328 \uc2dc Graceful Fallback: - search_poi \u2192 \ube48\u2026", "file_type": "rationale", "source_file": "src/data/tour_api.py", "source_location": "L39"}, {"id": "$graphify-root$_src_data_tour_api_rationale_63", "label": "Settings\uc5d0\uc11c \ud0a4 \ub85c\ub4dc. \ud0a4 \uc5c6\uc73c\uba74 None \ubc18\ud658 (Graceful Fallback \uc9c4\uc785\uc810).", "file_type": "rationale", "source_file": "src/data/tour_api.py", "source_location": "L63"}, {"id": "$graphify-root$_src_data_tour_api_rationale_76", "label": "\ud0a4\uc6cc\ub4dc\ub85c POI \uac80\uc0c9. \uc2e4\ud328 \uc2dc \ube48 \ub9ac\uc2a4\ud2b8 \ubc18\ud658.", "file_type": "rationale", "source_file": "src/data/tour_api.py", "source_location": "L76"}, {"id": "$graphify-root$_src_data_tour_api_rationale_128", "label": "\uc6b4\uc601\uc2dc\uac04 \uc870\ud68c. \uc2e4\ud328 \ub610\ub294 \ub370\uc774\ud130 \uc5c6\uc73c\uba74 (\"00:00\", \"23:59\") \ubc18\ud658.", "file_type": "rationale", "source_file": "src/data/tour_api.py", "source_location": "L128"}], "edges": [{"source": "$graphify-root$_src_data_tour_api_py", "target": "re", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/data/tour_api.py", "source_location": "L4", "weight": 1.0}, {"source": "$graphify-root$_src_data_tour_api_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/data/tour_api.py", "source_location": "L5", "weight": 1.0}, {"source": "$graphify-root$_src_data_tour_api_py", "target": "httpx", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/data/tour_api.py", "source_location": "L7", "weight": 1.0}, {"source": "$graphify-root$_src_data_tour_api_py", "target": "src_data_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/data/tour_api.py", "source_location": "L9", "weight": 1.0}, {"source": "$graphify-root$_src_data_tour_api_py", "target": "$graphify-root$_src_data_tour_api_parse_usetime", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/data/tour_api.py", "source_location": "L18", "weight": 1.0}, {"source": "$graphify-root$_src_data_tour_api_py", "target": "$graphify-root$_src_data_tour_api_extract_items", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/data/tour_api.py", "source_location": "L27", "weight": 1.0}, {"source": "$graphify-root$_src_data_tour_api_py", "target": "$graphify-root$_src_data_tour_api_tourapiclient", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/data/tour_api.py", "source_location": "L38", "weight": 1.0}, {"source": "$graphify-root$_src_data_tour_api_tourapiclient", "target": "$graphify-root$_src_data_tour_api_tourapiclient_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/data/tour_api.py", "source_location": "L48", "weight": 1.0}, {"source": "$graphify-root$_src_data_tour_api_tourapiclient", "target": "$graphify-root$_src_data_tour_api_tourapiclient_from_settings", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/data/tour_api.py", "source_location": "L62", "weight": 1.0}, {"source": "$graphify-root$_src_data_tour_api_tourapiclient_from_settings", "target": "settings", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/data/tour_api.py", "source_location": "L62", "weight": 1.0}, {"source": "$graphify-root$_src_data_tour_api_tourapiclient", "target": "$graphify-root$_src_data_tour_api_tourapiclient_search_poi", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/data/tour_api.py", "source_location": "L70", "weight": 1.0}, {"source": "$graphify-root$_src_data_tour_api_tourapiclient_search_poi", "target": "poi", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/data/tour_api.py", "source_location": "L70", "weight": 1.0}, {"source": "$graphify-root$_src_data_tour_api_tourapiclient", "target": "$graphify-root$_src_data_tour_api_tourapiclient_get_operating_hours", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/data/tour_api.py", "source_location": "L123", "weight": 1.0}, {"source": "$graphify-root$_src_data_tour_api_tourapiclient", "target": "$graphify-root$_src_data_tour_api_tourapiclient_clear_cache", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/data/tour_api.py", "source_location": "L157", "weight": 1.0}, {"source": "$graphify-root$_src_data_tour_api_tourapiclient_from_settings", "target": "settings", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/data/tour_api.py", "source_location": "L65", "weight": 1.0}, {"source": "$graphify-root$_src_data_tour_api_tourapiclient_search_poi", "target": "$graphify-root$_src_data_tour_api_extract_items", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/data/tour_api.py", "source_location": "L95", "weight": 1.0}, {"source": "$graphify-root$_src_data_tour_api_tourapiclient_search_poi", "target": "$graphify-root$_src_data_tour_api_tourapiclient_get_operating_hours", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/data/tour_api.py", "source_location": "L108", "weight": 1.0}, {"source": "$graphify-root$_src_data_tour_api_tourapiclient_search_poi", "target": "poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/data/tour_api.py", "source_location": "L109", "weight": 1.0}, {"source": "$graphify-root$_src_data_tour_api_tourapiclient_get_operating_hours", "target": "$graphify-root$_src_data_tour_api_extract_items", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/data/tour_api.py", "source_location": "L146", "weight": 1.0}, {"source": "$graphify-root$_src_data_tour_api_tourapiclient_get_operating_hours", "target": "$graphify-root$_src_data_tour_api_parse_usetime", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/data/tour_api.py", "source_location": "L150", "weight": 1.0}, {"source": "$graphify-root$_src_data_tour_api_rationale_1", "target": "$graphify-root$_src_data_tour_api_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/data/tour_api.py", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_src_data_tour_api_rationale_19", "target": "$graphify-root$_src_data_tour_api_parse_usetime", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/data/tour_api.py", "source_location": "L19", "weight": 1.0}, {"source": "$graphify-root$_src_data_tour_api_rationale_28", "target": "$graphify-root$_src_data_tour_api_extract_items", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/data/tour_api.py", "source_location": "L28", "weight": 1.0}, {"source": "$graphify-root$_src_data_tour_api_rationale_39", "target": "$graphify-root$_src_data_tour_api_tourapiclient", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/data/tour_api.py", "source_location": "L39", "weight": 1.0}, {"source": "$graphify-root$_src_data_tour_api_rationale_63", "target": "$graphify-root$_src_data_tour_api_tourapiclient_from_settings", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/data/tour_api.py", "source_location": "L63", "weight": 1.0}, {"source": "$graphify-root$_src_data_tour_api_rationale_76", "target": "$graphify-root$_src_data_tour_api_tourapiclient_search_poi", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/data/tour_api.py", "source_location": "L76", "weight": 1.0}, {"source": "$graphify-root$_src_data_tour_api_rationale_128", "target": "$graphify-root$_src_data_tour_api_tourapiclient_get_operating_hours", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/data/tour_api.py", "source_location": "L128", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_src_data_tour_api_parse_usetime", "callee": "search", "is_member_call": true, "source_file": "src/data/tour_api.py", "source_location": "L20", "receiver": "_USETIME_RE"}, {"caller_nid": "$graphify-root$_src_data_tour_api_parse_usetime", "callee": "_FALLBACK_OPEN", "is_member_call": false, "indirect": true, "context": "return", "source_file": "src/data/tour_api.py", "source_location": "L22"}, {"caller_nid": "$graphify-root$_src_data_tour_api_parse_usetime", "callee": "_FALLBACK_CLOSE", "is_member_call": false, "indirect": true, "context": "return", "source_file": "src/data/tour_api.py", "source_location": "L22"}, {"caller_nid": "$graphify-root$_src_data_tour_api_parse_usetime", "callee": "group", "is_member_call": true, "source_file": "src/data/tour_api.py", "source_location": "L23", "receiver": "m"}, {"caller_nid": "$graphify-root$_src_data_tour_api_parse_usetime", "callee": "group", "is_member_call": true, "source_file": "src/data/tour_api.py", "source_location": "L23", "receiver": "m"}, {"caller_nid": "$graphify-root$_src_data_tour_api_parse_usetime", "callee": "group", "is_member_call": true, "source_file": "src/data/tour_api.py", "source_location": "L23", "receiver": "m"}, {"caller_nid": "$graphify-root$_src_data_tour_api_parse_usetime", "callee": "group", "is_member_call": true, "source_file": "src/data/tour_api.py", "source_location": "L23", "receiver": "m"}, {"caller_nid": "$graphify-root$_src_data_tour_api_extract_items", "callee": "dict", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "src/data/tour_api.py", "source_location": "L31"}, {"caller_nid": "$graphify-root$_src_data_tour_api_extract_items", "callee": "KeyError", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "src/data/tour_api.py", "source_location": "L34"}, {"caller_nid": "$graphify-root$_src_data_tour_api_extract_items", "callee": "TypeError", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "src/data/tour_api.py", "source_location": "L34"}, {"caller_nid": "$graphify-root$_src_data_tour_api_tourapiclient_init", "callee": "ValueError", "is_member_call": false, "source_file": "src/data/tour_api.py", "source_location": "L55", "receiver": null}, {"caller_nid": "$graphify-root$_src_data_tour_api_tourapiclient_from_settings", "callee": "cls", "is_member_call": false, "source_file": "src/data/tour_api.py", "source_location": "L68", "receiver": null}, {"caller_nid": "$graphify-root$_src_data_tour_api_tourapiclient_search_poi", "callee": "AsyncClient", "is_member_call": true, "source_file": "src/data/tour_api.py", "source_location": "L91", "receiver": "httpx"}, {"caller_nid": "$graphify-root$_src_data_tour_api_tourapiclient_search_poi", "callee": "get", "is_member_call": true, "source_file": "src/data/tour_api.py", "source_location": "L92", "receiver": "client"}, {"caller_nid": "$graphify-root$_src_data_tour_api_tourapiclient_search_poi", "callee": "json", "is_member_call": true, "source_file": "src/data/tour_api.py", "source_location": "L95", "receiver": "r"}, {"caller_nid": "$graphify-root$_src_data_tour_api_tourapiclient_search_poi", "callee": "get", "is_member_call": true, "source_file": "src/data/tour_api.py", "source_location": "L102", "receiver": "item"}, {"caller_nid": "$graphify-root$_src_data_tour_api_tourapiclient_search_poi", "callee": "get", "is_member_call": true, "source_file": "src/data/tour_api.py", "source_location": "L103", "receiver": "item"}, {"caller_nid": "$graphify-root$_src_data_tour_api_tourapiclient_search_poi", "callee": "get", "is_member_call": true, "source_file": "src/data/tour_api.py", "source_location": "L104", "receiver": "item"}, {"caller_nid": "$graphify-root$_src_data_tour_api_tourapiclient_search_poi", "callee": "get", "is_member_call": true, "source_file": "src/data/tour_api.py", "source_location": "L105", "receiver": "item"}, {"caller_nid": "$graphify-root$_src_data_tour_api_tourapiclient_search_poi", "callee": "append", "is_member_call": true, "source_file": "src/data/tour_api.py", "source_location": "L109", "receiver": "pois"}, {"caller_nid": "$graphify-root$_src_data_tour_api_tourapiclient_search_poi", "callee": "get", "is_member_call": true, "source_file": "src/data/tour_api.py", "source_location": "L111", "receiver": "item"}, {"caller_nid": "$graphify-root$_src_data_tour_api_tourapiclient_get_operating_hours", "callee": "_FALLBACK_OPEN", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "src/data/tour_api.py", "source_location": "L141"}, {"caller_nid": "$graphify-root$_src_data_tour_api_tourapiclient_get_operating_hours", "callee": "_FALLBACK_CLOSE", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "src/data/tour_api.py", "source_location": "L141"}, {"caller_nid": "$graphify-root$_src_data_tour_api_tourapiclient_get_operating_hours", "callee": "AsyncClient", "is_member_call": true, "source_file": "src/data/tour_api.py", "source_location": "L143", "receiver": "httpx"}, {"caller_nid": "$graphify-root$_src_data_tour_api_tourapiclient_get_operating_hours", "callee": "get", "is_member_call": true, "source_file": "src/data/tour_api.py", "source_location": "L144", "receiver": "client"}, {"caller_nid": "$graphify-root$_src_data_tour_api_tourapiclient_get_operating_hours", "callee": "json", "is_member_call": true, "source_file": "src/data/tour_api.py", "source_location": "L146", "receiver": "r"}, {"caller_nid": "$graphify-root$_src_data_tour_api_tourapiclient_get_operating_hours", "callee": "get", "is_member_call": true, "source_file": "src/data/tour_api.py", "source_location": "L148", "receiver": null}, {"caller_nid": "$graphify-root$_src_data_tour_api_tourapiclient_clear_cache", "callee": "clear", "is_member_call": true, "source_file": "src/data/tour_api.py", "source_location": "L158", "receiver": null}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/4cf1c4b0c5291bd340741c3fa44e0f44405c7c547a5d10188761bf1d76c4cf35.json b/graphify-out/cache/ast/v0.9.31/4cf1c4b0c5291bd340741c3fa44e0f44405c7c547a5d10188761bf1d76c4cf35.json new file mode 100644 index 0000000..7adc7f5 --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/4cf1c4b0c5291bd340741c3fa44e0f44405c7c547a5d10188761bf1d76c4cf35.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_scripts_extract_visitor_stats_py", "label": "extract_visitor_stats.py", "file_type": "code", "source_file": "scripts/extract_visitor_stats.py", "source_location": "L1"}, {"id": "$graphify-root$_scripts_extract_visitor_stats_parse_int", "label": "_parse_int()", "file_type": "code", "source_file": "scripts/extract_visitor_stats.py", "source_location": "L31", "_callable": true}, {"id": "$graphify-root$_scripts_extract_visitor_stats_is_header_row", "label": "_is_header_row()", "file_type": "code", "source_file": "scripts/extract_visitor_stats.py", "source_location": "L44", "_callable": true}, {"id": "$graphify-root$_scripts_extract_visitor_stats_extract_year", "label": "extract_year()", "file_type": "code", "source_file": "scripts/extract_visitor_stats.py", "source_location": "L49", "_callable": true}, {"id": "path", "label": "Path", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/scripts/extract_visitor_stats.py"}, {"id": "dataframe", "label": "DataFrame", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/scripts/extract_visitor_stats.py"}, {"id": "$graphify-root$_scripts_extract_visitor_stats_compute_congestion", "label": "compute_congestion()", "file_type": "code", "source_file": "scripts/extract_visitor_stats.py", "source_location": "L87", "_callable": true}, {"id": "$graphify-root$_scripts_extract_visitor_stats_main", "label": "main()", "file_type": "code", "source_file": "scripts/extract_visitor_stats.py", "source_location": "L134", "_callable": true}, {"id": "$graphify-root$_scripts_extract_visitor_stats_rationale_1", "label": "PDF \uc804\ucc98\ub9ac \uc2a4\ud06c\ub9bd\ud2b8: \ud55c\uad6d\ubb38\ud654\uad00\uad11\uc5f0\uad6c\uc6d0 \uc8fc\uc694\uad00\uad11\uc9c0\uc810 \uc785\uc7a5\uac1d \ud1b5\uacc4 (2020-2024) Usage: python\u2026", "file_type": "rationale", "source_file": "scripts/extract_visitor_stats.py", "source_location": "L1"}, {"id": "$graphify-root$_scripts_extract_visitor_stats_rationale_32", "label": "1,234,567' or '-' \u2192 float or None.", "file_type": "rationale", "source_file": "scripts/extract_visitor_stats.py", "source_location": "L32"}, {"id": "$graphify-root$_scripts_extract_visitor_stats_rationale_50", "label": "\ud55c \uc5f0\ub3c4 PDF\uc5d0\uc11c \uad00\uad11\uc9c0\ubcc4 '\uacc4' \ud589\ub9cc \ucd94\ucd9c \u2192 long \ud3ec\ub9f7 DataFrame.", "file_type": "rationale", "source_file": "scripts/extract_visitor_stats.py", "source_location": "L50"}, {"id": "$graphify-root$_scripts_extract_visitor_stats_rationale_88", "label": "5\uac1c\ub144 raw \ub370\uc774\ud130 \u2192 poi_name \u00d7 month \uc9d1\uacc4 \ubc0f congestion_score \uc0b0\ucd9c.", "file_type": "rationale", "source_file": "scripts/extract_visitor_stats.py", "source_location": "L88"}], "edges": [{"source": "$graphify-root$_scripts_extract_visitor_stats_py", "target": "argparse", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/extract_visitor_stats.py", "source_location": "L9", "weight": 1.0}, {"source": "$graphify-root$_scripts_extract_visitor_stats_py", "target": "re", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/extract_visitor_stats.py", "source_location": "L10", "weight": 1.0}, {"source": "$graphify-root$_scripts_extract_visitor_stats_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/extract_visitor_stats.py", "source_location": "L11", "weight": 1.0}, {"source": "$graphify-root$_scripts_extract_visitor_stats_py", "target": "pandas", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/extract_visitor_stats.py", "source_location": "L13", "weight": 1.0, "local_alias": "pd"}, {"source": "$graphify-root$_scripts_extract_visitor_stats_py", "target": "pdfplumber", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/extract_visitor_stats.py", "source_location": "L14", "weight": 1.0}, {"source": "$graphify-root$_scripts_extract_visitor_stats_py", "target": "$graphify-root$_scripts_extract_visitor_stats_parse_int", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/extract_visitor_stats.py", "source_location": "L31", "weight": 1.0}, {"source": "$graphify-root$_scripts_extract_visitor_stats_py", "target": "$graphify-root$_scripts_extract_visitor_stats_is_header_row", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/extract_visitor_stats.py", "source_location": "L44", "weight": 1.0}, {"source": "$graphify-root$_scripts_extract_visitor_stats_py", "target": "$graphify-root$_scripts_extract_visitor_stats_extract_year", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/extract_visitor_stats.py", "source_location": "L49", "weight": 1.0}, {"source": "$graphify-root$_scripts_extract_visitor_stats_extract_year", "target": "path", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "scripts/extract_visitor_stats.py", "source_location": "L49", "weight": 1.0}, {"source": "$graphify-root$_scripts_extract_visitor_stats_extract_year", "target": "dataframe", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "scripts/extract_visitor_stats.py", "source_location": "L49", "weight": 1.0}, {"source": "$graphify-root$_scripts_extract_visitor_stats_py", "target": "$graphify-root$_scripts_extract_visitor_stats_compute_congestion", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/extract_visitor_stats.py", "source_location": "L87", "weight": 1.0}, {"source": "$graphify-root$_scripts_extract_visitor_stats_compute_congestion", "target": "dataframe", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "scripts/extract_visitor_stats.py", "source_location": "L87", "weight": 1.0}, {"source": "$graphify-root$_scripts_extract_visitor_stats_compute_congestion", "target": "dataframe", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "scripts/extract_visitor_stats.py", "source_location": "L87", "weight": 1.0}, {"source": "$graphify-root$_scripts_extract_visitor_stats_py", "target": "$graphify-root$_scripts_extract_visitor_stats_main", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/extract_visitor_stats.py", "source_location": "L134", "weight": 1.0}, {"source": "$graphify-root$_scripts_extract_visitor_stats_main", "target": "path", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "scripts/extract_visitor_stats.py", "source_location": "L134", "weight": 1.0}, {"source": "$graphify-root$_scripts_extract_visitor_stats_extract_year", "target": "$graphify-root$_scripts_extract_visitor_stats_is_header_row", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/extract_visitor_stats.py", "source_location": "L60", "weight": 1.0}, {"source": "$graphify-root$_scripts_extract_visitor_stats_extract_year", "target": "$graphify-root$_scripts_extract_visitor_stats_parse_int", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/extract_visitor_stats.py", "source_location": "L76", "weight": 1.0}, {"source": "$graphify-root$_scripts_extract_visitor_stats_extract_year", "target": "dataframe", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/extract_visitor_stats.py", "source_location": "L79", "weight": 1.0}, {"source": "$graphify-root$_scripts_extract_visitor_stats_main", "target": "$graphify-root$_scripts_extract_visitor_stats_extract_year", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/extract_visitor_stats.py", "source_location": "L143", "weight": 1.0}, {"source": "$graphify-root$_scripts_extract_visitor_stats_main", "target": "$graphify-root$_scripts_extract_visitor_stats_compute_congestion", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/extract_visitor_stats.py", "source_location": "L152", "weight": 1.0}, {"source": "$graphify-root$_scripts_extract_visitor_stats_rationale_1", "target": "$graphify-root$_scripts_extract_visitor_stats_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "scripts/extract_visitor_stats.py", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_scripts_extract_visitor_stats_rationale_32", "target": "$graphify-root$_scripts_extract_visitor_stats_parse_int", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "scripts/extract_visitor_stats.py", "source_location": "L32", "weight": 1.0}, {"source": "$graphify-root$_scripts_extract_visitor_stats_rationale_50", "target": "$graphify-root$_scripts_extract_visitor_stats_extract_year", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "scripts/extract_visitor_stats.py", "source_location": "L50", "weight": 1.0}, {"source": "$graphify-root$_scripts_extract_visitor_stats_rationale_88", "target": "$graphify-root$_scripts_extract_visitor_stats_compute_congestion", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "scripts/extract_visitor_stats.py", "source_location": "L88", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_scripts_extract_visitor_stats_parse_int", "callee": "sub", "is_member_call": true, "source_file": "scripts/extract_visitor_stats.py", "source_location": "L35", "receiver": "re"}, {"caller_nid": "$graphify-root$_scripts_extract_visitor_stats_parse_int", "callee": "strip", "is_member_call": true, "source_file": "scripts/extract_visitor_stats.py", "source_location": "L35", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_extract_visitor_stats_is_header_row", "callee": "strip", "is_member_call": true, "source_file": "scripts/extract_visitor_stats.py", "source_location": "L45", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_extract_visitor_stats_extract_year", "callee": "extract_tables", "is_member_call": true, "source_file": "scripts/extract_visitor_stats.py", "source_location": "L56", "receiver": "page"}, {"caller_nid": "$graphify-root$_scripts_extract_visitor_stats_extract_year", "callee": "replace", "is_member_call": true, "source_file": "scripts/extract_visitor_stats.py", "source_location": "L66", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_extract_visitor_stats_extract_year", "callee": "strip", "is_member_call": true, "source_file": "scripts/extract_visitor_stats.py", "source_location": "L66", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_extract_visitor_stats_extract_year", "callee": "strip", "is_member_call": true, "source_file": "scripts/extract_visitor_stats.py", "source_location": "L69", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_extract_visitor_stats_extract_year", "callee": "MONTH_COLS", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/extract_visitor_stats.py", "source_location": "L74"}, {"caller_nid": "$graphify-root$_scripts_extract_visitor_stats_extract_year", "callee": "append", "is_member_call": true, "source_file": "scripts/extract_visitor_stats.py", "source_location": "L77", "receiver": "records"}, {"caller_nid": "$graphify-root$_scripts_extract_visitor_stats_compute_congestion", "callee": "melt", "is_member_call": true, "source_file": "scripts/extract_visitor_stats.py", "source_location": "L90", "receiver": "df_raw"}, {"caller_nid": "$graphify-root$_scripts_extract_visitor_stats_compute_congestion", "callee": "MONTH_COLS", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/extract_visitor_stats.py", "source_location": "L92"}, {"caller_nid": "$graphify-root$_scripts_extract_visitor_stats_compute_congestion", "callee": "astype", "is_member_call": true, "source_file": "scripts/extract_visitor_stats.py", "source_location": "L96", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_extract_visitor_stats_compute_congestion", "callee": "int", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/extract_visitor_stats.py", "source_location": "L96"}, {"caller_nid": "$graphify-root$_scripts_extract_visitor_stats_compute_congestion", "callee": "replace", "is_member_call": true, "source_file": "scripts/extract_visitor_stats.py", "source_location": "L96", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_extract_visitor_stats_compute_congestion", "callee": "dropna", "is_member_call": true, "source_file": "scripts/extract_visitor_stats.py", "source_location": "L97", "receiver": "long"}, {"caller_nid": "$graphify-root$_scripts_extract_visitor_stats_compute_congestion", "callee": "astype", "is_member_call": true, "source_file": "scripts/extract_visitor_stats.py", "source_location": "L98", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_extract_visitor_stats_compute_congestion", "callee": "float", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/extract_visitor_stats.py", "source_location": "L98"}, {"caller_nid": "$graphify-root$_scripts_extract_visitor_stats_compute_congestion", "callee": "rename", "is_member_call": true, "source_file": "scripts/extract_visitor_stats.py", "source_location": "L102", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_extract_visitor_stats_compute_congestion", "callee": "reset_index", "is_member_call": true, "source_file": "scripts/extract_visitor_stats.py", "source_location": "L102", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_extract_visitor_stats_compute_congestion", "callee": "mean", "is_member_call": true, "source_file": "scripts/extract_visitor_stats.py", "source_location": "L102", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_extract_visitor_stats_compute_congestion", "callee": "groupby", "is_member_call": true, "source_file": "scripts/extract_visitor_stats.py", "source_location": "L102", "receiver": "long"}, {"caller_nid": "$graphify-root$_scripts_extract_visitor_stats_compute_congestion", "callee": "rename", "is_member_call": true, "source_file": "scripts/extract_visitor_stats.py", "source_location": "L109", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_extract_visitor_stats_compute_congestion", "callee": "mean", "is_member_call": true, "source_file": "scripts/extract_visitor_stats.py", "source_location": "L109", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_extract_visitor_stats_compute_congestion", "callee": "groupby", "is_member_call": true, "source_file": "scripts/extract_visitor_stats.py", "source_location": "L109", "receiver": "monthly_avg"}, {"caller_nid": "$graphify-root$_scripts_extract_visitor_stats_compute_congestion", "callee": "join", "is_member_call": true, "source_file": "scripts/extract_visitor_stats.py", "source_location": "L110", "receiver": "monthly_avg"}, {"caller_nid": "$graphify-root$_scripts_extract_visitor_stats_compute_congestion", "callee": "replace", "is_member_call": true, "source_file": "scripts/extract_visitor_stats.py", "source_location": "L113", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_extract_visitor_stats_compute_congestion", "callee": "transform", "is_member_call": true, "source_file": "scripts/extract_visitor_stats.py", "source_location": "L114", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_extract_visitor_stats_compute_congestion", "callee": "groupby", "is_member_call": true, "source_file": "scripts/extract_visitor_stats.py", "source_location": "L114", "receiver": "monthly_avg"}, {"caller_nid": "$graphify-root$_scripts_extract_visitor_stats_compute_congestion", "callee": "clip", "is_member_call": true, "source_file": "scripts/extract_visitor_stats.py", "source_location": "L115", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_extract_visitor_stats_compute_congestion", "callee": "reset_index", "is_member_call": true, "source_file": "scripts/extract_visitor_stats.py", "source_location": "L119", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_extract_visitor_stats_compute_congestion", "callee": "groupby", "is_member_call": true, "source_file": "scripts/extract_visitor_stats.py", "source_location": "L119", "receiver": "long"}, {"caller_nid": "$graphify-root$_scripts_extract_visitor_stats_compute_congestion", "callee": "reset_index", "is_member_call": true, "source_file": "scripts/extract_visitor_stats.py", "source_location": "L123", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_extract_visitor_stats_compute_congestion", "callee": "agg", "is_member_call": true, "source_file": "scripts/extract_visitor_stats.py", "source_location": "L123", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_extract_visitor_stats_compute_congestion", "callee": "groupby", "is_member_call": true, "source_file": "scripts/extract_visitor_stats.py", "source_location": "L123", "receiver": "ann_stats"}, {"caller_nid": "$graphify-root$_scripts_extract_visitor_stats_compute_congestion", "callee": "merge", "is_member_call": true, "source_file": "scripts/extract_visitor_stats.py", "source_location": "L127", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_extract_visitor_stats_compute_congestion", "callee": "reset_index", "is_member_call": true, "source_file": "scripts/extract_visitor_stats.py", "source_location": "L131", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_extract_visitor_stats_compute_congestion", "callee": "sort_values", "is_member_call": true, "source_file": "scripts/extract_visitor_stats.py", "source_location": "L131", "receiver": "result"}, {"caller_nid": "$graphify-root$_scripts_extract_visitor_stats_main", "callee": "items", "is_member_call": true, "source_file": "scripts/extract_visitor_stats.py", "source_location": "L137", "receiver": "PDF_FILES"}, {"caller_nid": "$graphify-root$_scripts_extract_visitor_stats_main", "callee": "exists", "is_member_call": true, "source_file": "scripts/extract_visitor_stats.py", "source_location": "L139", "receiver": "path"}, {"caller_nid": "$graphify-root$_scripts_extract_visitor_stats_main", "callee": "append", "is_member_call": true, "source_file": "scripts/extract_visitor_stats.py", "source_location": "L143", "receiver": "frames"}, {"caller_nid": "$graphify-root$_scripts_extract_visitor_stats_main", "callee": "concat", "is_member_call": true, "source_file": "scripts/extract_visitor_stats.py", "source_location": "L149", "receiver": "pd"}, {"caller_nid": "$graphify-root$_scripts_extract_visitor_stats_main", "callee": "nunique", "is_member_call": true, "source_file": "scripts/extract_visitor_stats.py", "source_location": "L150", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_extract_visitor_stats_main", "callee": "nunique", "is_member_call": true, "source_file": "scripts/extract_visitor_stats.py", "source_location": "L153", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_extract_visitor_stats_main", "callee": "mkdir", "is_member_call": true, "source_file": "scripts/extract_visitor_stats.py", "source_location": "L155", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_extract_visitor_stats_main", "callee": "to_csv", "is_member_call": true, "source_file": "scripts/extract_visitor_stats.py", "source_location": "L156", "receiver": "result"}, {"caller_nid": "$graphify-root$_scripts_extract_visitor_stats_main", "callee": "to_string", "is_member_call": true, "source_file": "scripts/extract_visitor_stats.py", "source_location": "L162", "receiver": null}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/56f4f33322b380c0dd91ac66850c13aa135ce059909117ffba257edda02e61df.json b/graphify-out/cache/ast/v0.9.31/56f4f33322b380c0dd91ac66850c13aa135ce059909117ffba257edda02e61df.json new file mode 100644 index 0000000..514333d --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/56f4f33322b380c0dd91ac66850c13aa135ce059909117ffba257edda02e61df.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_src_data_hours_db_py", "label": "hours_db.py", "file_type": "code", "source_file": "src/data/hours_db.py", "source_location": "L1"}, {"id": "$graphify-root$_src_data_hours_db_hoursspec", "label": "HoursSpec", "file_type": "code", "source_file": "src/data/hours_db.py", "source_location": "L14", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_src_data_hours_db_resolve_hours", "label": "resolve_hours()", "file_type": "code", "source_file": "src/data/hours_db.py", "source_location": "L245", "_callable": true}, {"id": "$graphify-root$_src_data_hours_db_to_minutes", "label": "to_minutes()", "file_type": "code", "source_file": "src/data/hours_db.py", "source_location": "L267", "_callable": true}, {"id": "$graphify-root$_src_data_hours_db_is_open_at", "label": "is_open_at()", "file_type": "code", "source_file": "src/data/hours_db.py", "source_location": "L272", "_callable": true}, {"id": "$graphify-root$_src_data_hours_db_rationale_1", "label": "hours_db \u2014 \uce74\ud14c\uace0\ub9ac\u00b7\ud0a4\uc6cc\ub4dc \uae30\ubc18 \uc6b4\uc601\uc2dc\uac04 \ub8e9\uc5c5. \uc0ac\uc6a9: from src.data.hours_db import resolve_hours\u2026", "file_type": "rationale", "source_file": "src/data/hours_db.py", "source_location": "L1"}, {"id": "$graphify-root$_src_data_hours_db_rationale_246", "label": "\uc7a5\uc18c \uc774\ub984 + \uce74\ud14c\uace0\ub9ac\ud78c\ud2b8 \u2192 HoursSpec. \ub9e4\uce6d \uc6b0\uc120\uc21c\uc704: \ud0a4\uc6cc\ub4dc > \uce74\ud14c\uace0\ub9ac\ud78c\ud2b8 > default_attraction.", "file_type": "rationale", "source_file": "src/data/hours_db.py", "source_location": "L246"}, {"id": "$graphify-root$_src_data_hours_db_rationale_273", "label": "\uc8fc\uc5b4\uc9c4 \uc694\uc77c\u00b7\uc2dc\uac01\uc5d0 \uc601\uc5c5 \uc911\uc778\uc9c0 (\uc8fc\uc758: \ud734\ubb34\uc77c + \ube0c\ub808\uc774\ud06c \ud0c0\uc784 \uace0\ub824).", "file_type": "rationale", "source_file": "src/data/hours_db.py", "source_location": "L273"}], "edges": [{"source": "$graphify-root$_src_data_hours_db_py", "target": "re", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/data/hours_db.py", "source_location": "L9", "weight": 1.0}, {"source": "$graphify-root$_src_data_hours_db_py", "target": "dataclasses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/data/hours_db.py", "source_location": "L10", "weight": 1.0}, {"source": "$graphify-root$_src_data_hours_db_py", "target": "$graphify-root$_src_data_hours_db_hoursspec", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/data/hours_db.py", "source_location": "L14", "weight": 1.0}, {"source": "$graphify-root$_src_data_hours_db_py", "target": "$graphify-root$_src_data_hours_db_resolve_hours", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/data/hours_db.py", "source_location": "L245", "weight": 1.0}, {"source": "$graphify-root$_src_data_hours_db_resolve_hours", "target": "$graphify-root$_src_data_hours_db_hoursspec", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "src/data/hours_db.py", "source_location": "L245", "weight": 1.0}, {"source": "$graphify-root$_src_data_hours_db_py", "target": "$graphify-root$_src_data_hours_db_to_minutes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/data/hours_db.py", "source_location": "L267", "weight": 1.0}, {"source": "$graphify-root$_src_data_hours_db_py", "target": "$graphify-root$_src_data_hours_db_is_open_at", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/data/hours_db.py", "source_location": "L272", "weight": 1.0}, {"source": "$graphify-root$_src_data_hours_db_is_open_at", "target": "$graphify-root$_src_data_hours_db_hoursspec", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/data/hours_db.py", "source_location": "L272", "weight": 1.0}, {"source": "$graphify-root$_src_data_hours_db_is_open_at", "target": "$graphify-root$_src_data_hours_db_to_minutes", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/data/hours_db.py", "source_location": "L276", "weight": 1.0}, {"source": "$graphify-root$_src_data_hours_db_rationale_1", "target": "$graphify-root$_src_data_hours_db_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/data/hours_db.py", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_src_data_hours_db_rationale_246", "target": "$graphify-root$_src_data_hours_db_resolve_hours", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/data/hours_db.py", "source_location": "L246", "weight": 1.0}, {"source": "$graphify-root$_src_data_hours_db_rationale_273", "target": "$graphify-root$_src_data_hours_db_is_open_at", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/data/hours_db.py", "source_location": "L273", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_src_data_hours_db_resolve_hours", "callee": "replace", "is_member_call": true, "source_file": "src/data/hours_db.py", "source_location": "L250", "receiver": null}, {"caller_nid": "$graphify-root$_src_data_hours_db_resolve_hours", "callee": "search", "is_member_call": true, "source_file": "src/data/hours_db.py", "source_location": "L252", "receiver": "re"}, {"caller_nid": "$graphify-root$_src_data_hours_db_resolve_hours", "callee": "strip", "is_member_call": true, "source_file": "src/data/hours_db.py", "source_location": "L255", "receiver": null}, {"caller_nid": "$graphify-root$_src_data_hours_db_resolve_hours", "callee": "get", "is_member_call": true, "source_file": "src/data/hours_db.py", "source_location": "L256", "receiver": null}, {"caller_nid": "$graphify-root$_src_data_hours_db_to_minutes", "callee": "split", "is_member_call": true, "source_file": "src/data/hours_db.py", "source_location": "L268", "receiver": "hhmm"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/577457af325961efe8606b411406ebbd8a22aa9edffa9cbe0813e193b65a022a.json b/graphify-out/cache/ast/v0.9.31/577457af325961efe8606b411406ebbd8a22aa9edffa9cbe0813e193b65a022a.json new file mode 100644 index 0000000..a74d112 --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/577457af325961efe8606b411406ebbd8a22aa9edffa9cbe0813e193b65a022a.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_src_scoring_reward_engine_py", "label": "reward_engine.py", "file_type": "code", "source_file": "src/scoring/reward_engine.py", "source_location": "L1"}, {"id": "$graphify-root$_src_scoring_reward_engine_generate_rewards", "label": "generate_rewards()", "file_type": "code", "source_file": "src/scoring/reward_engine.py", "source_location": "L24", "_callable": true}, {"id": "scores", "label": "Scores", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/scoring/reward_engine.py"}, {"id": "$graphify-root$_src_scoring_reward_engine_rationale_1", "label": "\uae0d\uc815 \uac15\ud654 \uba54\uc2dc\uc9c0 \uc0dd\uc131 \uc5d4\uc9c4 (Positive Reinforcement). validate() \ud30c\uc774\ud504\ub77c\uc778\uc5d0\uc11c \uc810\uc218\u00b7\ud1b5\uacc4\ub97c \ubc1b\uc544 \uce6d\ucc2c \uba54\uc2dc\uc9c0\u2026", "file_type": "rationale", "source_file": "src/scoring/reward_engine.py", "source_location": "L1"}, {"id": "$graphify-root$_src_scoring_reward_engine_rationale_31", "label": "\uc810\uc218\uc640 \ud1b5\uacc4 \uae30\ubc18\uc73c\ub85c \uae0d\uc815 \uac15\ud654 \uba54\uc2dc\uc9c0 \uc0dd\uc131. Returns: \uae0d\uc815 \uac15\ud654 \uba54\uc2dc\uc9c0 \ub9ac\uc2a4\ud2b8. Hard Fail \uc874\uc7ac \uc2dc \ube48 \ub9ac\uc2a4\ud2b8.", "file_type": "rationale", "source_file": "src/scoring/reward_engine.py", "source_location": "L31"}], "edges": [{"source": "$graphify-root$_src_scoring_reward_engine_py", "target": "src_data_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/scoring/reward_engine.py", "source_location": "L15", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_reward_engine_py", "target": "$graphify-root$_src_scoring_reward_engine_generate_rewards", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/scoring/reward_engine.py", "source_location": "L24", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_reward_engine_generate_rewards", "target": "scores", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/scoring/reward_engine.py", "source_location": "L24", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_reward_engine_rationale_1", "target": "$graphify-root$_src_scoring_reward_engine_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/scoring/reward_engine.py", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_reward_engine_rationale_31", "target": "$graphify-root$_src_scoring_reward_engine_generate_rewards", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/scoring/reward_engine.py", "source_location": "L31", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_src_scoring_reward_engine_generate_rewards", "callee": "append", "is_member_call": true, "source_file": "src/scoring/reward_engine.py", "source_location": "L42", "receiver": "messages"}, {"caller_nid": "$graphify-root$_src_scoring_reward_engine_generate_rewards", "callee": "append", "is_member_call": true, "source_file": "src/scoring/reward_engine.py", "source_location": "L47", "receiver": "messages"}, {"caller_nid": "$graphify-root$_src_scoring_reward_engine_generate_rewards", "callee": "append", "is_member_call": true, "source_file": "src/scoring/reward_engine.py", "source_location": "L52", "receiver": "messages"}, {"caller_nid": "$graphify-root$_src_scoring_reward_engine_generate_rewards", "callee": "append", "is_member_call": true, "source_file": "src/scoring/reward_engine.py", "source_location": "L58", "receiver": "messages"}, {"caller_nid": "$graphify-root$_src_scoring_reward_engine_generate_rewards", "callee": "append", "is_member_call": true, "source_file": "src/scoring/reward_engine.py", "source_location": "L63", "receiver": "messages"}, {"caller_nid": "$graphify-root$_src_scoring_reward_engine_generate_rewards", "callee": "append", "is_member_call": true, "source_file": "src/scoring/reward_engine.py", "source_location": "L68", "receiver": "messages"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/5aab75a1df3ce4c322908ffe8170a42b246f3383126cff5f9f7629fed9baef8c.json b/graphify-out/cache/ast/v0.9.31/5aab75a1df3ce4c322908ffe8170a42b246f3383126cff5f9f7629fed9baef8c.json new file mode 100644 index 0000000..e894b97 --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/5aab75a1df3ce4c322908ffe8170a42b246f3383126cff5f9f7629fed9baef8c.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_src_data_init_py", "label": "__init__.py", "file_type": "code", "source_file": "src/data/__init__.py", "source_location": "L1"}], "edges": [], "raw_calls": []} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/5ad98c3354886a91442dbf0a4bb27533eed14ca91a1e477cd5341a02d9892c45.json b/graphify-out/cache/ast/v0.9.31/5ad98c3354886a91442dbf0a4bb27533eed14ca91a1e477cd5341a02d9892c45.json new file mode 100644 index 0000000..deee0d7 --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/5ad98c3354886a91442dbf0a4bb27533eed14ca91a1e477cd5341a02d9892c45.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_tests_test_theme_taxonomy_py", "label": "test_theme_taxonomy.py", "file_type": "code", "source_file": "tests/test_theme_taxonomy.py", "source_location": "L1"}, {"id": "$graphify-root$_tests_test_theme_taxonomy_testplacetypecount", "label": "TestPlaceTypeCount", "file_type": "code", "source_file": "tests/test_theme_taxonomy.py", "source_location": "L15", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_tests_test_theme_taxonomy_testplacetypecount_test_9_place_types", "label": ".test_9_place_types()", "file_type": "code", "source_file": "tests/test_theme_taxonomy.py", "source_location": "L16", "_callable": true}, {"id": "$graphify-root$_tests_test_theme_taxonomy_testplacetypecount_test_9_travel_styles", "label": ".test_9_travel_styles()", "file_type": "code", "source_file": "tests/test_theme_taxonomy.py", "source_location": "L21", "_callable": true}, {"id": "$graphify-root$_tests_test_theme_taxonomy_testuserpreferences", "label": "TestUserPreferences", "file_type": "code", "source_file": "tests/test_theme_taxonomy.py", "source_location": "L27", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_tests_test_theme_taxonomy_testuserpreferences_test_valid_input", "label": ".test_valid_input()", "file_type": "code", "source_file": "tests/test_theme_taxonomy.py", "source_location": "L28", "_callable": true}, {"id": "$graphify-root$_tests_test_theme_taxonomy_testuserpreferences_test_invalid_place_type_raises", "label": ".test_invalid_place_type_raises()", "file_type": "code", "source_file": "tests/test_theme_taxonomy.py", "source_location": "L33", "_callable": true}, {"id": "$graphify-root$_tests_test_theme_taxonomy_testuserpreferences_test_invalid_style_raises", "label": ".test_invalid_style_raises()", "file_type": "code", "source_file": "tests/test_theme_taxonomy.py", "source_location": "L37", "_callable": true}, {"id": "$graphify-root$_tests_test_theme_taxonomy_testuserpreferences_test_empty_both_axes_raises", "label": ".test_empty_both_axes_raises()", "file_type": "code", "source_file": "tests/test_theme_taxonomy.py", "source_location": "L41", "_callable": true}, {"id": "$graphify-root$_tests_test_theme_taxonomy_testmatchesplacetype", "label": "TestMatchesPlaceType", "file_type": "code", "source_file": "tests/test_theme_taxonomy.py", "source_location": "L46", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_tests_test_theme_taxonomy_testmatchesplacetype_test_mountain_matches_na04", "label": ".test_mountain_matches_NA04()", "file_type": "code", "source_file": "tests/test_theme_taxonomy.py", "source_location": "L47", "_callable": true}, {"id": "$graphify-root$_tests_test_theme_taxonomy_testmatchesplacetype_test_beach_matches_na12", "label": ".test_beach_matches_NA12()", "file_type": "code", "source_file": "tests/test_theme_taxonomy.py", "source_location": "L51", "_callable": true}, {"id": "$graphify-root$_tests_test_theme_taxonomy_testmatchesplacetype_test_festival_matches_content_type_15", "label": ".test_festival_matches_content_type_15()", "file_type": "code", "source_file": "tests/test_theme_taxonomy.py", "source_location": "L54", "_callable": true}, {"id": "$graphify-root$_tests_test_theme_taxonomy_testmatchesplacetype_test_no_match", "label": ".test_no_match()", "file_type": "code", "source_file": "tests/test_theme_taxonomy.py", "source_location": "L57", "_callable": true}, {"id": "$graphify-root$_tests_test_theme_taxonomy_testgetplacetypesfor", "label": "TestGetPlaceTypesFor", "file_type": "code", "source_file": "tests/test_theme_taxonomy.py", "source_location": "L62", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_tests_test_theme_taxonomy_testgetplacetypesfor_test_mountain_code_returns_list", "label": ".test_mountain_code_returns_list()", "file_type": "code", "source_file": "tests/test_theme_taxonomy.py", "source_location": "L63", "_callable": true}, {"id": "$graphify-root$_tests_test_theme_taxonomy_testgetplacetypesfor_test_no_code_returns_empty", "label": ".test_no_code_returns_empty()", "file_type": "code", "source_file": "tests/test_theme_taxonomy.py", "source_location": "L67", "_callable": true}, {"id": "$graphify-root$_tests_test_theme_taxonomy_rationale_1", "label": "Tests for src/data/theme_taxonomy.py \u2014 2\ucd95 \ud14c\ub9c8 + \ub9e4\ud551.", "file_type": "rationale", "source_file": "tests/test_theme_taxonomy.py", "source_location": "L1"}], "edges": [{"source": "$graphify-root$_tests_test_theme_taxonomy_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_theme_taxonomy.py", "source_location": "L4", "weight": 1.0}, {"source": "$graphify-root$_tests_test_theme_taxonomy_py", "target": "src_data_theme_taxonomy", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_theme_taxonomy.py", "source_location": "L6", "weight": 1.0}, {"source": "$graphify-root$_tests_test_theme_taxonomy_py", "target": "$graphify-root$_tests_test_theme_taxonomy_testplacetypecount", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_theme_taxonomy.py", "source_location": "L15", "weight": 1.0}, {"source": "$graphify-root$_tests_test_theme_taxonomy_testplacetypecount", "target": "$graphify-root$_tests_test_theme_taxonomy_testplacetypecount_test_9_place_types", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_theme_taxonomy.py", "source_location": "L16", "weight": 1.0}, {"source": "$graphify-root$_tests_test_theme_taxonomy_testplacetypecount", "target": "$graphify-root$_tests_test_theme_taxonomy_testplacetypecount_test_9_travel_styles", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_theme_taxonomy.py", "source_location": "L21", "weight": 1.0}, {"source": "$graphify-root$_tests_test_theme_taxonomy_py", "target": "$graphify-root$_tests_test_theme_taxonomy_testuserpreferences", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_theme_taxonomy.py", "source_location": "L27", "weight": 1.0}, {"source": "$graphify-root$_tests_test_theme_taxonomy_testuserpreferences", "target": "$graphify-root$_tests_test_theme_taxonomy_testuserpreferences_test_valid_input", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_theme_taxonomy.py", "source_location": "L28", "weight": 1.0}, {"source": "$graphify-root$_tests_test_theme_taxonomy_testuserpreferences", "target": "$graphify-root$_tests_test_theme_taxonomy_testuserpreferences_test_invalid_place_type_raises", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_theme_taxonomy.py", "source_location": "L33", "weight": 1.0}, {"source": "$graphify-root$_tests_test_theme_taxonomy_testuserpreferences", "target": "$graphify-root$_tests_test_theme_taxonomy_testuserpreferences_test_invalid_style_raises", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_theme_taxonomy.py", "source_location": "L37", "weight": 1.0}, {"source": "$graphify-root$_tests_test_theme_taxonomy_testuserpreferences", "target": "$graphify-root$_tests_test_theme_taxonomy_testuserpreferences_test_empty_both_axes_raises", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_theme_taxonomy.py", "source_location": "L41", "weight": 1.0}, {"source": "$graphify-root$_tests_test_theme_taxonomy_py", "target": "$graphify-root$_tests_test_theme_taxonomy_testmatchesplacetype", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_theme_taxonomy.py", "source_location": "L46", "weight": 1.0}, {"source": "$graphify-root$_tests_test_theme_taxonomy_testmatchesplacetype", "target": "$graphify-root$_tests_test_theme_taxonomy_testmatchesplacetype_test_mountain_matches_na04", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_theme_taxonomy.py", "source_location": "L47", "weight": 1.0}, {"source": "$graphify-root$_tests_test_theme_taxonomy_testmatchesplacetype", "target": "$graphify-root$_tests_test_theme_taxonomy_testmatchesplacetype_test_beach_matches_na12", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_theme_taxonomy.py", "source_location": "L51", "weight": 1.0}, {"source": "$graphify-root$_tests_test_theme_taxonomy_testmatchesplacetype", "target": "$graphify-root$_tests_test_theme_taxonomy_testmatchesplacetype_test_festival_matches_content_type_15", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_theme_taxonomy.py", "source_location": "L54", "weight": 1.0}, {"source": "$graphify-root$_tests_test_theme_taxonomy_testmatchesplacetype", "target": "$graphify-root$_tests_test_theme_taxonomy_testmatchesplacetype_test_no_match", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_theme_taxonomy.py", "source_location": "L57", "weight": 1.0}, {"source": "$graphify-root$_tests_test_theme_taxonomy_py", "target": "$graphify-root$_tests_test_theme_taxonomy_testgetplacetypesfor", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_theme_taxonomy.py", "source_location": "L62", "weight": 1.0}, {"source": "$graphify-root$_tests_test_theme_taxonomy_testgetplacetypesfor", "target": "$graphify-root$_tests_test_theme_taxonomy_testgetplacetypesfor_test_mountain_code_returns_list", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_theme_taxonomy.py", "source_location": "L63", "weight": 1.0}, {"source": "$graphify-root$_tests_test_theme_taxonomy_testgetplacetypesfor", "target": "$graphify-root$_tests_test_theme_taxonomy_testgetplacetypesfor_test_no_code_returns_empty", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_theme_taxonomy.py", "source_location": "L67", "weight": 1.0}, {"source": "$graphify-root$_tests_test_theme_taxonomy_rationale_1", "target": "$graphify-root$_tests_test_theme_taxonomy_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_theme_taxonomy.py", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_tests_test_theme_taxonomy_testplacetypecount_test_9_place_types", "callee": "PLACE_TYPES", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "tests/test_theme_taxonomy.py", "source_location": "L17"}, {"caller_nid": "$graphify-root$_tests_test_theme_taxonomy_testplacetypecount_test_9_travel_styles", "callee": "TRAVEL_STYLES", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "tests/test_theme_taxonomy.py", "source_location": "L22"}, {"caller_nid": "$graphify-root$_tests_test_theme_taxonomy_testuserpreferences_test_valid_input", "callee": "UserPreferences", "is_member_call": false, "source_file": "tests/test_theme_taxonomy.py", "source_location": "L29", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_theme_taxonomy_testuserpreferences_test_valid_input", "callee": "all_themes", "is_member_call": true, "source_file": "tests/test_theme_taxonomy.py", "source_location": "L31", "receiver": "p"}, {"caller_nid": "$graphify-root$_tests_test_theme_taxonomy_testuserpreferences_test_invalid_place_type_raises", "callee": "raises", "is_member_call": true, "source_file": "tests/test_theme_taxonomy.py", "source_location": "L34", "receiver": "pytest"}, {"caller_nid": "$graphify-root$_tests_test_theme_taxonomy_testuserpreferences_test_invalid_place_type_raises", "callee": "ValueError", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "tests/test_theme_taxonomy.py", "source_location": "L34"}, {"caller_nid": "$graphify-root$_tests_test_theme_taxonomy_testuserpreferences_test_invalid_place_type_raises", "callee": "UserPreferences", "is_member_call": false, "source_file": "tests/test_theme_taxonomy.py", "source_location": "L35", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_theme_taxonomy_testuserpreferences_test_invalid_style_raises", "callee": "raises", "is_member_call": true, "source_file": "tests/test_theme_taxonomy.py", "source_location": "L38", "receiver": "pytest"}, {"caller_nid": "$graphify-root$_tests_test_theme_taxonomy_testuserpreferences_test_invalid_style_raises", "callee": "ValueError", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "tests/test_theme_taxonomy.py", "source_location": "L38"}, {"caller_nid": "$graphify-root$_tests_test_theme_taxonomy_testuserpreferences_test_invalid_style_raises", "callee": "UserPreferences", "is_member_call": false, "source_file": "tests/test_theme_taxonomy.py", "source_location": "L39", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_theme_taxonomy_testuserpreferences_test_empty_both_axes_raises", "callee": "raises", "is_member_call": true, "source_file": "tests/test_theme_taxonomy.py", "source_location": "L42", "receiver": "pytest"}, {"caller_nid": "$graphify-root$_tests_test_theme_taxonomy_testuserpreferences_test_empty_both_axes_raises", "callee": "ValueError", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "tests/test_theme_taxonomy.py", "source_location": "L42"}, {"caller_nid": "$graphify-root$_tests_test_theme_taxonomy_testuserpreferences_test_empty_both_axes_raises", "callee": "UserPreferences", "is_member_call": false, "source_file": "tests/test_theme_taxonomy.py", "source_location": "L43", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_theme_taxonomy_testmatchesplacetype_test_mountain_matches_na04", "callee": "matches_place_type", "is_member_call": false, "source_file": "tests/test_theme_taxonomy.py", "source_location": "L49", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_theme_taxonomy_testmatchesplacetype_test_beach_matches_na12", "callee": "matches_place_type", "is_member_call": false, "source_file": "tests/test_theme_taxonomy.py", "source_location": "L52", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_theme_taxonomy_testmatchesplacetype_test_festival_matches_content_type_15", "callee": "matches_place_type", "is_member_call": false, "source_file": "tests/test_theme_taxonomy.py", "source_location": "L55", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_theme_taxonomy_testmatchesplacetype_test_no_match", "callee": "matches_place_type", "is_member_call": false, "source_file": "tests/test_theme_taxonomy.py", "source_location": "L59", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_theme_taxonomy_testgetplacetypesfor_test_mountain_code_returns_list", "callee": "get_place_types_for", "is_member_call": false, "source_file": "tests/test_theme_taxonomy.py", "source_location": "L64", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_theme_taxonomy_testgetplacetypesfor_test_no_code_returns_empty", "callee": "get_place_types_for", "is_member_call": false, "source_file": "tests/test_theme_taxonomy.py", "source_location": "L68", "receiver": null}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/5ed35d743092b779903182e43b86595b741787d48fdafb1ea76ec52758e39ffd.json b/graphify-out/cache/ast/v0.9.31/5ed35d743092b779903182e43b86595b741787d48fdafb1ea76ec52758e39ffd.json new file mode 100644 index 0000000..6c18fe1 --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/5ed35d743092b779903182e43b86595b741787d48fdafb1ea76ec52758e39ffd.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_src_explain_repair_py", "label": "repair.py", "file_type": "code", "source_file": "src/explain/repair.py", "source_location": "L1"}, {"id": "$graphify-root$_src_explain_repair_norm", "label": "_norm()", "file_type": "code", "source_file": "src/explain/repair.py", "source_location": "L30", "_callable": true}, {"id": "$graphify-root$_src_explain_repair_min_dwell_for", "label": "_min_dwell_for()", "file_type": "code", "source_file": "src/explain/repair.py", "source_location": "L34", "_callable": true}, {"id": "$graphify-root$_src_explain_repair_reordersuggestion", "label": "ReorderSuggestion", "file_type": "code", "source_file": "src/explain/repair.py", "source_location": "L44", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_src_explain_repair_timetunesuggestion", "label": "TimeTuneSuggestion", "file_type": "code", "source_file": "src/explain/repair.py", "source_location": "L53", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_src_explain_repair_deletionsuggestion", "label": "DeletionSuggestion", "file_type": "code", "source_file": "src/explain/repair.py", "source_location": "L63", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_src_explain_repair_repairresult", "label": "RepairResult", "file_type": "code", "source_file": "src/explain/repair.py", "source_location": "L74", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_src_explain_repair_repairresult_is_empty", "label": ".is_empty()", "file_type": "code", "source_file": "src/explain/repair.py", "source_location": "L80", "_callable": true}, {"id": "$graphify-root$_src_explain_repair_repairresult_total_estimated_gain", "label": ".total_estimated_gain()", "file_type": "code", "source_file": "src/explain/repair.py", "source_location": "L84", "_callable": true}, {"id": "$graphify-root$_src_explain_repair_repairresult_to_dict", "label": ".to_dict()", "file_type": "code", "source_file": "src/explain/repair.py", "source_location": "L95", "_callable": true}, {"id": "$graphify-root$_src_explain_repair_repairengine", "label": "RepairEngine", "file_type": "code", "source_file": "src/explain/repair.py", "source_location": "L101", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_src_explain_repair_repairengine_init", "label": ".__init__()", "file_type": "code", "source_file": "src/explain/repair.py", "source_location": "L104", "_callable": true}, {"id": "restaurantcatalog", "label": "RestaurantCatalog", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/explain/repair.py"}, {"id": "$graphify-root$_src_explain_repair_repairengine_repair", "label": ".repair()", "file_type": "code", "source_file": "src/explain/repair.py", "source_location": "L108", "_callable": true}, {"id": "itineraryplan", "label": "ItineraryPlan", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/explain/repair.py"}, {"id": "poi", "label": "POI", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/explain/repair.py"}, {"id": "hardfail", "label": "HardFail", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/explain/repair.py"}, {"id": "$graphify-root$_src_explain_repair_repairengine_try_reorder", "label": "._try_reorder()", "file_type": "code", "source_file": "src/explain/repair.py", "source_location": "L142", "_callable": true}, {"id": "$graphify-root$_src_explain_repair_repairengine_try_time_tune", "label": "._try_time_tune()", "file_type": "code", "source_file": "src/explain/repair.py", "source_location": "L171", "_callable": true}, {"id": "$graphify-root$_src_explain_repair_repairengine_suggest_deletion", "label": "._suggest_deletion()", "file_type": "code", "source_file": "src/explain/repair.py", "source_location": "L224", "_callable": true}, {"id": "$graphify-root$_src_explain_repair_rationale_1", "label": "Minimal Interference Repair Engine. \uad50\uc815 \uc6b0\uc120\uc21c\uc704 (Hard Fail \ubc1c\uc0dd \uc2dc \uc21c\uc11c\ub300\ub85c \uc2dc\ub3c4): 1. Re-\u2026", "file_type": "rationale", "source_file": "src/explain/repair.py", "source_location": "L1"}, {"id": "$graphify-root$_src_explain_repair_rationale_35", "label": "dwell_db \uae30\uc900 \ucd5c\uc18c \uad8c\uc7a5 \uccb4\ub958 \uc2dc\uac04 (50% \uae30\uc900, \uc808\ub300 \ucd5c\uc19f\uac12 20\ubd84).", "file_type": "rationale", "source_file": "src/explain/repair.py", "source_location": "L35"}, {"id": "$graphify-root$_src_explain_repair_rationale_85", "label": "\ubaa8\ub4e0 \uc81c\uc548\uc744 \uc801\uc6a9\ud588\uc744 \ub54c \uc608\uc0c1 \ucd1d \uc810\uc218 \uc0c1\uc2b9\ubd84. \uac19\uc740 \ub0a0\uc9dc\uc758 \uc81c\uc548\ub4e4\uc740 \uc11c\ub85c \ub300\uc548(\ud558\ub098\ub9cc \uc801\uc6a9)\uc774\ubbc0\ub85c \ucd5c\ub313\uac12\ub9cc \ucde8\ud558\uace0, \uc11c\ub85c \ub2e4\ub978 \ub0a0\uc9dc\uc758 \uc81c\uc548\uc740\u2026", "file_type": "rationale", "source_file": "src/explain/repair.py", "source_location": "L85"}, {"id": "$graphify-root$_src_explain_repair_rationale_102", "label": "Minimal Interference \uad50\uc815 \uc5d4\uc9c4. External I/O \uc5c6\uc74c.", "file_type": "rationale", "source_file": "src/explain/repair.py", "source_location": "L102"}, {"id": "$graphify-root$_src_explain_repair_rationale_115", "label": "3\ub2e8\uacc4 \uad50\uc815 \uc2dc\ub3c4. Hard Fail\uc774 \uc5c6\uc73c\uba74 \uc989\uc2dc \ube48 \uacb0\uacfc \ubc18\ud658.", "file_type": "rationale", "source_file": "src/explain/repair.py", "source_location": "L115"}, {"id": "$graphify-root$_src_explain_repair_rationale_149", "label": "n \u2264 7\uc778 \uacbd\uc6b0 \uc21c\uc5f4 \uc804\uc218 \ud0d0\uc0c9\uc73c\ub85c Hard Fail \uc5c6\ub294 \uc21c\uc11c \ubc18\ud658.", "file_type": "rationale", "source_file": "src/explain/repair.py", "source_location": "L149"}, {"id": "$graphify-root$_src_explain_repair_rationale_178", "label": "\uccb4\ub958 \uc2dc\uac04\uc744 \ucd5c\uc19f\uac12\uae4c\uc9c0 5\ubd84 \ub2e8\uc704\ub85c \uc904\uc5ec \uc77c\uc815 \uacfc\ubc00 \uc644\ud654.", "file_type": "rationale", "source_file": "src/explain/repair.py", "source_location": "L178"}, {"id": "$graphify-root$_src_explain_repair_rationale_229", "label": "\uc774\ub3d9 \uac70\ub9ac \uc808\uac10\ub7c9\uc774 \ucd5c\ub300\uc778 \uc7a5\uc18c(\uc9c0\ub9ac\uc801 \uc774\uc0c1\uce58)\ub97c \uc0ad\uc81c \ud6c4\ubcf4\ub85c \uc81c\uc548. \uc0ad\uc81c \ube44\uc6a9 = \uc81c\uac70 \uc2dc \uc774\ub3d9 \uc808\uac10(before\u2192i + i\u2192after) -\u2026", "file_type": "rationale", "source_file": "src/explain/repair.py", "source_location": "L229"}], "edges": [{"source": "$graphify-root$_src_explain_repair_py", "target": "dataclasses", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/explain/repair.py", "source_location": "L13", "weight": 1.0}, {"source": "$graphify-root$_src_explain_repair_py", "target": "itertools", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/explain/repair.py", "source_location": "L14", "weight": 1.0}, {"source": "$graphify-root$_src_explain_repair_py", "target": "re", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/explain/repair.py", "source_location": "L15", "weight": 1.0}, {"source": "$graphify-root$_src_explain_repair_py", "target": "dataclasses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/explain/repair.py", "source_location": "L16", "weight": 1.0}, {"source": "$graphify-root$_src_explain_repair_py", "target": "src_data_dwell_db", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/explain/repair.py", "source_location": "L18", "weight": 1.0}, {"source": "$graphify-root$_src_explain_repair_py", "target": "src_data_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/explain/repair.py", "source_location": "L19", "weight": 1.0}, {"source": "$graphify-root$_src_explain_repair_py", "target": "src_data_party_config", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/explain/repair.py", "source_location": "L20", "weight": 1.0}, {"source": "$graphify-root$_src_explain_repair_py", "target": "src_data_restaurant_catalog", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/explain/repair.py", "source_location": "L21", "weight": 1.0}, {"source": "$graphify-root$_src_explain_repair_py", "target": "src_utils_geo", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/explain/repair.py", "source_location": "L22", "weight": 1.0}, {"source": "$graphify-root$_src_explain_repair_py", "target": "src_validation_hard_fail", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/explain/repair.py", "source_location": "L23", "weight": 1.0}, {"source": "$graphify-root$_src_explain_repair_py", "target": "$graphify-root$_src_explain_repair_norm", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/explain/repair.py", "source_location": "L30", "weight": 1.0}, {"source": "$graphify-root$_src_explain_repair_py", "target": "$graphify-root$_src_explain_repair_min_dwell_for", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/explain/repair.py", "source_location": "L34", "weight": 1.0}, {"source": "$graphify-root$_src_explain_repair_py", "target": "$graphify-root$_src_explain_repair_reordersuggestion", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/explain/repair.py", "source_location": "L44", "weight": 1.0}, {"source": "$graphify-root$_src_explain_repair_py", "target": "$graphify-root$_src_explain_repair_timetunesuggestion", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/explain/repair.py", "source_location": "L53", "weight": 1.0}, {"source": "$graphify-root$_src_explain_repair_py", "target": "$graphify-root$_src_explain_repair_deletionsuggestion", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/explain/repair.py", "source_location": "L63", "weight": 1.0}, {"source": "$graphify-root$_src_explain_repair_py", "target": "$graphify-root$_src_explain_repair_repairresult", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/explain/repair.py", "source_location": "L74", "weight": 1.0}, {"source": "$graphify-root$_src_explain_repair_repairresult", "target": "$graphify-root$_src_explain_repair_repairresult_is_empty", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/explain/repair.py", "source_location": "L80", "weight": 1.0}, {"source": "$graphify-root$_src_explain_repair_repairresult", "target": "$graphify-root$_src_explain_repair_repairresult_total_estimated_gain", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/explain/repair.py", "source_location": "L84", "weight": 1.0}, {"source": "$graphify-root$_src_explain_repair_repairresult", "target": "$graphify-root$_src_explain_repair_repairresult_to_dict", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/explain/repair.py", "source_location": "L95", "weight": 1.0}, {"source": "$graphify-root$_src_explain_repair_py", "target": "$graphify-root$_src_explain_repair_repairengine", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/explain/repair.py", "source_location": "L101", "weight": 1.0}, {"source": "$graphify-root$_src_explain_repair_repairengine", "target": "$graphify-root$_src_explain_repair_repairengine_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/explain/repair.py", "source_location": "L104", "weight": 1.0}, {"source": "$graphify-root$_src_explain_repair_repairengine_init", "target": "restaurantcatalog", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/explain/repair.py", "source_location": "L104", "weight": 1.0}, {"source": "$graphify-root$_src_explain_repair_repairengine", "target": "$graphify-root$_src_explain_repair_repairengine_repair", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/explain/repair.py", "source_location": "L108", "weight": 1.0}, {"source": "$graphify-root$_src_explain_repair_repairengine_repair", "target": "itineraryplan", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/explain/repair.py", "source_location": "L108", "weight": 1.0}, {"source": "$graphify-root$_src_explain_repair_repairengine_repair", "target": "poi", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/explain/repair.py", "source_location": "L108", "weight": 1.0}, {"source": "$graphify-root$_src_explain_repair_repairengine_repair", "target": "hardfail", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/explain/repair.py", "source_location": "L108", "weight": 1.0}, {"source": "$graphify-root$_src_explain_repair_repairengine_repair", "target": "$graphify-root$_src_explain_repair_repairresult", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "src/explain/repair.py", "source_location": "L108", "weight": 1.0}, {"source": "$graphify-root$_src_explain_repair_repairengine", "target": "$graphify-root$_src_explain_repair_repairengine_try_reorder", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/explain/repair.py", "source_location": "L142", "weight": 1.0}, {"source": "$graphify-root$_src_explain_repair_repairengine_try_reorder", "target": "itineraryplan", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/explain/repair.py", "source_location": "L142", "weight": 1.0}, {"source": "$graphify-root$_src_explain_repair_repairengine_try_reorder", "target": "poi", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/explain/repair.py", "source_location": "L142", "weight": 1.0}, {"source": "$graphify-root$_src_explain_repair_repairengine_try_reorder", "target": "$graphify-root$_src_explain_repair_reordersuggestion", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "src/explain/repair.py", "source_location": "L142", "weight": 1.0}, {"source": "$graphify-root$_src_explain_repair_repairengine", "target": "$graphify-root$_src_explain_repair_repairengine_try_time_tune", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/explain/repair.py", "source_location": "L171", "weight": 1.0}, {"source": "$graphify-root$_src_explain_repair_repairengine_try_time_tune", "target": "itineraryplan", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/explain/repair.py", "source_location": "L171", "weight": 1.0}, {"source": "$graphify-root$_src_explain_repair_repairengine_try_time_tune", "target": "poi", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/explain/repair.py", "source_location": "L171", "weight": 1.0}, {"source": "$graphify-root$_src_explain_repair_repairengine_try_time_tune", "target": "$graphify-root$_src_explain_repair_timetunesuggestion", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "src/explain/repair.py", "source_location": "L171", "weight": 1.0}, {"source": "$graphify-root$_src_explain_repair_repairengine", "target": "$graphify-root$_src_explain_repair_repairengine_suggest_deletion", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/explain/repair.py", "source_location": "L224", "weight": 1.0}, {"source": "$graphify-root$_src_explain_repair_repairengine_suggest_deletion", "target": "poi", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/explain/repair.py", "source_location": "L224", "weight": 1.0}, {"source": "$graphify-root$_src_explain_repair_repairengine_suggest_deletion", "target": "$graphify-root$_src_explain_repair_deletionsuggestion", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "src/explain/repair.py", "source_location": "L224", "weight": 1.0}, {"source": "$graphify-root$_src_explain_repair_min_dwell_for", "target": "$graphify-root$_src_explain_repair_norm", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/explain/repair.py", "source_location": "L36", "weight": 1.0}, {"source": "$graphify-root$_src_explain_repair_repairengine_repair", "target": "$graphify-root$_src_explain_repair_repairresult", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/explain/repair.py", "source_location": "L116", "weight": 1.0}, {"source": "$graphify-root$_src_explain_repair_repairengine_repair", "target": "$graphify-root$_src_explain_repair_repairengine_try_reorder", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/explain/repair.py", "source_location": "L125", "weight": 1.0}, {"source": "$graphify-root$_src_explain_repair_repairengine_repair", "target": "$graphify-root$_src_explain_repair_repairengine_try_time_tune", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/explain/repair.py", "source_location": "L131", "weight": 1.0}, {"source": "$graphify-root$_src_explain_repair_repairengine_repair", "target": "$graphify-root$_src_explain_repair_repairengine_suggest_deletion", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/explain/repair.py", "source_location": "L136", "weight": 1.0}, {"source": "$graphify-root$_src_explain_repair_repairengine_try_reorder", "target": "$graphify-root$_src_explain_repair_reordersuggestion", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/explain/repair.py", "source_location": "L161", "weight": 1.0}, {"source": "$graphify-root$_src_explain_repair_repairengine_try_time_tune", "target": "$graphify-root$_src_explain_repair_min_dwell_for", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/explain/repair.py", "source_location": "L195", "weight": 1.0}, {"source": "$graphify-root$_src_explain_repair_repairengine_try_time_tune", "target": "$graphify-root$_src_explain_repair_timetunesuggestion", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/explain/repair.py", "source_location": "L214", "weight": 1.0}, {"source": "$graphify-root$_src_explain_repair_repairengine_suggest_deletion", "target": "$graphify-root$_src_explain_repair_deletionsuggestion", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/explain/repair.py", "source_location": "L277", "weight": 1.0}, {"source": "$graphify-root$_src_explain_repair_rationale_1", "target": "$graphify-root$_src_explain_repair_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/explain/repair.py", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_src_explain_repair_rationale_35", "target": "$graphify-root$_src_explain_repair_min_dwell_for", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/explain/repair.py", "source_location": "L35", "weight": 1.0}, {"source": "$graphify-root$_src_explain_repair_rationale_85", "target": "$graphify-root$_src_explain_repair_repairresult_total_estimated_gain", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/explain/repair.py", "source_location": "L85", "weight": 1.0}, {"source": "$graphify-root$_src_explain_repair_rationale_102", "target": "$graphify-root$_src_explain_repair_repairengine", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/explain/repair.py", "source_location": "L102", "weight": 1.0}, {"source": "$graphify-root$_src_explain_repair_rationale_115", "target": "$graphify-root$_src_explain_repair_repairengine_repair", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/explain/repair.py", "source_location": "L115", "weight": 1.0}, {"source": "$graphify-root$_src_explain_repair_rationale_149", "target": "$graphify-root$_src_explain_repair_repairengine_try_reorder", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/explain/repair.py", "source_location": "L149", "weight": 1.0}, {"source": "$graphify-root$_src_explain_repair_rationale_178", "target": "$graphify-root$_src_explain_repair_repairengine_try_time_tune", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/explain/repair.py", "source_location": "L178", "weight": 1.0}, {"source": "$graphify-root$_src_explain_repair_rationale_229", "target": "$graphify-root$_src_explain_repair_repairengine_suggest_deletion", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/explain/repair.py", "source_location": "L229", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_src_explain_repair_norm", "callee": "lower", "is_member_call": true, "source_file": "src/explain/repair.py", "source_location": "L31", "receiver": null}, {"caller_nid": "$graphify-root$_src_explain_repair_norm", "callee": "sub", "is_member_call": true, "source_file": "src/explain/repair.py", "source_location": "L31", "receiver": "re"}, {"caller_nid": "$graphify-root$_src_explain_repair_min_dwell_for", "callee": "items", "is_member_call": true, "source_file": "src/explain/repair.py", "source_location": "L37", "receiver": "_DWELL_OVERRIDES"}, {"caller_nid": "$graphify-root$_src_explain_repair_min_dwell_for", "callee": "_MIN_DWELL_ABS", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "src/explain/repair.py", "source_location": "L39"}, {"caller_nid": "$graphify-root$_src_explain_repair_min_dwell_for", "callee": "_MIN_DWELL_ABS", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "src/explain/repair.py", "source_location": "L40"}, {"caller_nid": "$graphify-root$_src_explain_repair_repairresult_total_estimated_gain", "callee": "get", "is_member_call": true, "source_file": "src/explain/repair.py", "source_location": "L92", "receiver": "per_day"}, {"caller_nid": "$graphify-root$_src_explain_repair_repairresult_total_estimated_gain", "callee": "values", "is_member_call": true, "source_file": "src/explain/repair.py", "source_location": "L93", "receiver": "per_day"}, {"caller_nid": "$graphify-root$_src_explain_repair_repairresult_to_dict", "callee": "asdict", "is_member_call": true, "source_file": "src/explain/repair.py", "source_location": "L96", "receiver": "dataclasses"}, {"caller_nid": "$graphify-root$_src_explain_repair_repairengine_init", "callee": "HardFailDetector", "is_member_call": false, "source_file": "src/explain/repair.py", "source_location": "L105", "receiver": null}, {"caller_nid": "$graphify-root$_src_explain_repair_repairengine_init", "callee": "from_default", "is_member_call": true, "source_file": "src/explain/repair.py", "source_location": "L106", "receiver": "RestaurantCatalog"}, {"caller_nid": "$graphify-root$_src_explain_repair_repairengine_repair", "callee": "append", "is_member_call": true, "source_file": "src/explain/repair.py", "source_location": "L127", "receiver": null}, {"caller_nid": "$graphify-root$_src_explain_repair_repairengine_repair", "callee": "append", "is_member_call": true, "source_file": "src/explain/repair.py", "source_location": "L133", "receiver": null}, {"caller_nid": "$graphify-root$_src_explain_repair_repairengine_repair", "callee": "append", "is_member_call": true, "source_file": "src/explain/repair.py", "source_location": "L138", "receiver": null}, {"caller_nid": "$graphify-root$_src_explain_repair_repairengine_try_reorder", "callee": "permutations", "is_member_call": true, "source_file": "src/explain/repair.py", "source_location": "L155", "receiver": "itertools"}, {"caller_nid": "$graphify-root$_src_explain_repair_repairengine_try_reorder", "callee": "detect", "is_member_call": true, "source_file": "src/explain/repair.py", "source_location": "L159", "receiver": null}, {"caller_nid": "$graphify-root$_src_explain_repair_repairengine_try_reorder", "callee": "join", "is_member_call": true, "source_file": "src/explain/repair.py", "source_location": "L166", "receiver": null}, {"caller_nid": "$graphify-root$_src_explain_repair_repairengine_try_time_tune", "callee": "get_party_profile", "is_member_call": false, "source_file": "src/explain/repair.py", "source_location": "L179", "receiver": null}, {"caller_nid": "$graphify-root$_src_explain_repair_repairengine_try_time_tune", "callee": "build_dist_cache", "is_member_call": false, "source_file": "src/explain/repair.py", "source_location": "L181", "receiver": null}, {"caller_nid": "$graphify-root$_src_explain_repair_repairengine_try_time_tune", "callee": "get_travel_min", "is_member_call": false, "source_file": "src/explain/repair.py", "source_location": "L184", "receiver": null}, {"caller_nid": "$graphify-root$_src_explain_repair_repairengine_suggest_deletion", "callee": "build_dist_cache", "is_member_call": false, "source_file": "src/explain/repair.py", "source_location": "L237", "receiver": null}, {"caller_nid": "$graphify-root$_src_explain_repair_repairengine_suggest_deletion", "callee": "get", "is_member_call": true, "source_file": "src/explain/repair.py", "source_location": "L247", "receiver": "dist_cache"}, {"caller_nid": "$graphify-root$_src_explain_repair_repairengine_suggest_deletion", "callee": "get", "is_member_call": true, "source_file": "src/explain/repair.py", "source_location": "L249", "receiver": "dist_cache"}, {"caller_nid": "$graphify-root$_src_explain_repair_repairengine_suggest_deletion", "callee": "haversine_km", "is_member_call": false, "source_file": "src/explain/repair.py", "source_location": "L252", "receiver": null}, {"caller_nid": "$graphify-root$_src_explain_repair_repairengine_suggest_deletion", "callee": "nearby", "is_member_call": true, "source_file": "src/explain/repair.py", "source_location": "L265", "receiver": null}, {"caller_nid": "$graphify-root$_src_explain_repair_repairengine_suggest_deletion", "callee": "join", "is_member_call": true, "source_file": "src/explain/repair.py", "source_location": "L273", "receiver": null}, {"caller_nid": "$graphify-root$_src_explain_repair_repairengine_suggest_deletion", "callee": "model_dump", "is_member_call": true, "source_file": "src/explain/repair.py", "source_location": "L282", "receiver": "a"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/6214e09ef0a8a9abacff2ec6a9e7e0ca002d503a5a56ce005c26a6e59f6de5a7.json b/graphify-out/cache/ast/v0.9.31/6214e09ef0a8a9abacff2ec6a9e7e0ca002d503a5a56ce005c26a6e59f6de5a7.json new file mode 100644 index 0000000..1f749f2 --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/6214e09ef0a8a9abacff2ec6a9e7e0ca002d503a5a56ce005c26a6e59f6de5a7.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_gun_scripts_build_travel_matrix_py", "label": "build_travel_matrix.py", "file_type": "code", "source_file": "gun/scripts/build_travel_matrix.py", "source_location": "L1"}, {"id": "$graphify-root$_gun_scripts_build_travel_matrix_resolve_base_dir", "label": "_resolve_base_dir()", "file_type": "code", "source_file": "gun/scripts/build_travel_matrix.py", "source_location": "L43", "_callable": true}, {"id": "path", "label": "Path", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/gun/scripts/build_travel_matrix.py"}, {"id": "$graphify-root$_gun_scripts_build_travel_matrix_load_pois", "label": "load_pois()", "file_type": "code", "source_file": "gun/scripts/build_travel_matrix.py", "source_location": "L55", "_callable": true}, {"id": "vrptwplace", "label": "VRPTWPlace", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/gun/scripts/build_travel_matrix.py"}, {"id": "$graphify-root$_gun_scripts_build_travel_matrix_build_matrix", "label": "build_matrix()", "file_type": "code", "source_file": "gun/scripts/build_travel_matrix.py", "source_location": "L83", "_callable": true}, {"id": "kakaomobilitymatrix", "label": "KakaoMobilityMatrix", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/gun/scripts/build_travel_matrix.py"}, {"id": "$graphify-root$_gun_scripts_build_travel_matrix_main", "label": "main()", "file_type": "code", "source_file": "gun/scripts/build_travel_matrix.py", "source_location": "L122", "_callable": true}, {"id": "$graphify-root$_gun_scripts_build_travel_matrix_rationale_1", "label": "POI CSV \u2192 \uce74\uce74\uc624 \ubaa8\ube4c\ub9ac\ud2f0 N\u00d7N \uc774\ub3d9\uc2dc\uac04 \ud589\ub82c \uc0ac\uc804 \ube4c\ub4dc. \uac80\uc99d \uc2dc \ub9e4\ubc88 API\ub97c \ud638\ucd9c\ud558\uba74 \ub290\ub9ac\uace0 \ud55c\ub3c4 \ubd80\ub2f4. \uc790\uc8fc \uc4f0\ub294 POI\u2026", "file_type": "rationale", "source_file": "gun/scripts/build_travel_matrix.py", "source_location": "L1"}, {"id": "$graphify-root$_gun_scripts_build_travel_matrix_rationale_62", "label": "CSV \uc77d\uc5b4 \uc88c\ud45c \uc720\ud6a8\ud55c POI \ub9ac\uc2a4\ud2b8\ub85c \ubc18\ud658.", "file_type": "rationale", "source_file": "gun/scripts/build_travel_matrix.py", "source_location": "L62"}, {"id": "$graphify-root$_gun_scripts_build_travel_matrix_rationale_88", "label": "N\u00d7N \ud398\uc5b4\uc640\uc774\uc988 \ud638\ucd9c (\ub300\uac01\uc120 \uc81c\uc678, \uc591\ubc29\ud5a5 \uce90\uc2dc \ud65c\uc6a9).", "file_type": "rationale", "source_file": "gun/scripts/build_travel_matrix.py", "source_location": "L88"}], "edges": [{"source": "$graphify-root$_gun_scripts_build_travel_matrix_py", "target": "argparse", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_travel_matrix.py", "source_location": "L27", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_travel_matrix_py", "target": "csv", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_travel_matrix.py", "source_location": "L28", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_travel_matrix_py", "target": "sys", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_travel_matrix.py", "source_location": "L29", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_travel_matrix_py", "target": "time", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_travel_matrix.py", "source_location": "L30", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_travel_matrix_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_travel_matrix.py", "source_location": "L31", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_travel_matrix_py", "target": "src_data_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_travel_matrix.py", "source_location": "L39", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_travel_matrix_py", "target": "src_validation_kakao_matrix", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_travel_matrix.py", "source_location": "L40", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_travel_matrix_py", "target": "$graphify-root$_gun_scripts_build_travel_matrix_resolve_base_dir", "relation": "contains", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_travel_matrix.py", "source_location": "L43", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_travel_matrix_resolve_base_dir", "target": "path", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_travel_matrix.py", "source_location": "L43", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_travel_matrix_py", "target": "$graphify-root$_gun_scripts_build_travel_matrix_load_pois", "relation": "contains", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_travel_matrix.py", "source_location": "L55", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_travel_matrix_load_pois", "target": "path", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_travel_matrix.py", "source_location": "L55", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_travel_matrix_load_pois", "target": "vrptwplace", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_travel_matrix.py", "source_location": "L55", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_travel_matrix_py", "target": "$graphify-root$_gun_scripts_build_travel_matrix_build_matrix", "relation": "contains", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_travel_matrix.py", "source_location": "L83", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_travel_matrix_build_matrix", "target": "vrptwplace", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_travel_matrix.py", "source_location": "L83", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_travel_matrix_build_matrix", "target": "kakaomobilitymatrix", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_travel_matrix.py", "source_location": "L83", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_travel_matrix_py", "target": "$graphify-root$_gun_scripts_build_travel_matrix_main", "relation": "contains", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_travel_matrix.py", "source_location": "L122", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_travel_matrix_resolve_base_dir", "target": "path", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_travel_matrix.py", "source_location": "L45", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_travel_matrix_load_pois", "target": "vrptwplace", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_travel_matrix.py", "source_location": "L74", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_travel_matrix_main", "target": "path", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_travel_matrix.py", "source_location": "L157", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_travel_matrix_main", "target": "$graphify-root$_gun_scripts_build_travel_matrix_load_pois", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_travel_matrix.py", "source_location": "L164", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_travel_matrix_main", "target": "$graphify-root$_gun_scripts_build_travel_matrix_build_matrix", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_travel_matrix.py", "source_location": "L184", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_travel_matrix_rationale_1", "target": "$graphify-root$_gun_scripts_build_travel_matrix_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_travel_matrix.py", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_travel_matrix_rationale_62", "target": "$graphify-root$_gun_scripts_build_travel_matrix_load_pois", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_travel_matrix.py", "source_location": "L62", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_travel_matrix_rationale_88", "target": "$graphify-root$_gun_scripts_build_travel_matrix_build_matrix", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_travel_matrix.py", "source_location": "L88", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_gun_scripts_build_travel_matrix_resolve_base_dir", "callee": "resolve", "is_member_call": true, "source_file": "gun/scripts/build_travel_matrix.py", "source_location": "L45", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_build_travel_matrix_resolve_base_dir", "callee": "__file__", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/build_travel_matrix.py", "source_location": "L45"}, {"caller_nid": "$graphify-root$_gun_scripts_build_travel_matrix_resolve_base_dir", "callee": "cwd", "is_member_call": true, "source_file": "gun/scripts/build_travel_matrix.py", "source_location": "L47", "receiver": "Path"}, {"caller_nid": "$graphify-root$_gun_scripts_build_travel_matrix_load_pois", "callee": "DictReader", "is_member_call": true, "source_file": "gun/scripts/build_travel_matrix.py", "source_location": "L65", "receiver": "csv"}, {"caller_nid": "$graphify-root$_gun_scripts_build_travel_matrix_load_pois", "callee": "f", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/build_travel_matrix.py", "source_location": "L65"}, {"caller_nid": "$graphify-root$_gun_scripts_build_travel_matrix_load_pois", "callee": "KeyError", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "gun/scripts/build_travel_matrix.py", "source_location": "L70"}, {"caller_nid": "$graphify-root$_gun_scripts_build_travel_matrix_load_pois", "callee": "ValueError", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "gun/scripts/build_travel_matrix.py", "source_location": "L70"}, {"caller_nid": "$graphify-root$_gun_scripts_build_travel_matrix_load_pois", "callee": "TypeError", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "gun/scripts/build_travel_matrix.py", "source_location": "L70"}, {"caller_nid": "$graphify-root$_gun_scripts_build_travel_matrix_load_pois", "callee": "strip", "is_member_call": true, "source_file": "gun/scripts/build_travel_matrix.py", "source_location": "L72", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_build_travel_matrix_load_pois", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/build_travel_matrix.py", "source_location": "L72", "receiver": "row"}, {"caller_nid": "$graphify-root$_gun_scripts_build_travel_matrix_load_pois", "callee": "append", "is_member_call": true, "source_file": "gun/scripts/build_travel_matrix.py", "source_location": "L74", "receiver": "out"}, {"caller_nid": "$graphify-root$_gun_scripts_build_travel_matrix_build_matrix", "callee": "time", "is_member_call": true, "source_file": "gun/scripts/build_travel_matrix.py", "source_location": "L95", "receiver": "time"}, {"caller_nid": "$graphify-root$_gun_scripts_build_travel_matrix_build_matrix", "callee": "get_travel_time", "is_member_call": true, "source_file": "gun/scripts/build_travel_matrix.py", "source_location": "L98", "receiver": "matrix"}, {"caller_nid": "$graphify-root$_gun_scripts_build_travel_matrix_build_matrix", "callee": "save_cache", "is_member_call": true, "source_file": "gun/scripts/build_travel_matrix.py", "source_location": "L104", "receiver": "matrix"}, {"caller_nid": "$graphify-root$_gun_scripts_build_travel_matrix_build_matrix", "callee": "time", "is_member_call": true, "source_file": "gun/scripts/build_travel_matrix.py", "source_location": "L108", "receiver": "time"}, {"caller_nid": "$graphify-root$_gun_scripts_build_travel_matrix_build_matrix", "callee": "sleep", "is_member_call": true, "source_file": "gun/scripts/build_travel_matrix.py", "source_location": "L117", "receiver": "time"}, {"caller_nid": "$graphify-root$_gun_scripts_build_travel_matrix_build_matrix", "callee": "save_cache", "is_member_call": true, "source_file": "gun/scripts/build_travel_matrix.py", "source_location": "L119", "receiver": "matrix"}, {"caller_nid": "$graphify-root$_gun_scripts_build_travel_matrix_main", "callee": "ArgumentParser", "is_member_call": true, "source_file": "gun/scripts/build_travel_matrix.py", "source_location": "L123", "receiver": "argparse"}, {"caller_nid": "$graphify-root$_gun_scripts_build_travel_matrix_main", "callee": "add_argument", "is_member_call": true, "source_file": "gun/scripts/build_travel_matrix.py", "source_location": "L127", "receiver": "parser"}, {"caller_nid": "$graphify-root$_gun_scripts_build_travel_matrix_main", "callee": "add_argument", "is_member_call": true, "source_file": "gun/scripts/build_travel_matrix.py", "source_location": "L131", "receiver": "parser"}, {"caller_nid": "$graphify-root$_gun_scripts_build_travel_matrix_main", "callee": "add_argument", "is_member_call": true, "source_file": "gun/scripts/build_travel_matrix.py", "source_location": "L135", "receiver": "parser"}, {"caller_nid": "$graphify-root$_gun_scripts_build_travel_matrix_main", "callee": "add_argument", "is_member_call": true, "source_file": "gun/scripts/build_travel_matrix.py", "source_location": "L139", "receiver": "parser"}, {"caller_nid": "$graphify-root$_gun_scripts_build_travel_matrix_main", "callee": "add_argument", "is_member_call": true, "source_file": "gun/scripts/build_travel_matrix.py", "source_location": "L143", "receiver": "parser"}, {"caller_nid": "$graphify-root$_gun_scripts_build_travel_matrix_main", "callee": "int", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/build_travel_matrix.py", "source_location": "L144"}, {"caller_nid": "$graphify-root$_gun_scripts_build_travel_matrix_main", "callee": "add_argument", "is_member_call": true, "source_file": "gun/scripts/build_travel_matrix.py", "source_location": "L147", "receiver": "parser"}, {"caller_nid": "$graphify-root$_gun_scripts_build_travel_matrix_main", "callee": "DEFAULT_CACHE", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/build_travel_matrix.py", "source_location": "L148"}, {"caller_nid": "$graphify-root$_gun_scripts_build_travel_matrix_main", "callee": "relative_to", "is_member_call": true, "source_file": "gun/scripts/build_travel_matrix.py", "source_location": "L149", "receiver": "DEFAULT_CACHE"}, {"caller_nid": "$graphify-root$_gun_scripts_build_travel_matrix_main", "callee": "BASE_DIR", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/build_travel_matrix.py", "source_location": "L149"}, {"caller_nid": "$graphify-root$_gun_scripts_build_travel_matrix_main", "callee": "add_argument", "is_member_call": true, "source_file": "gun/scripts/build_travel_matrix.py", "source_location": "L151", "receiver": "parser"}, {"caller_nid": "$graphify-root$_gun_scripts_build_travel_matrix_main", "callee": "float", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/build_travel_matrix.py", "source_location": "L152"}, {"caller_nid": "$graphify-root$_gun_scripts_build_travel_matrix_main", "callee": "parse_args", "is_member_call": true, "source_file": "gun/scripts/build_travel_matrix.py", "source_location": "L155", "receiver": "parser"}, {"caller_nid": "$graphify-root$_gun_scripts_build_travel_matrix_main", "callee": "is_absolute", "is_member_call": true, "source_file": "gun/scripts/build_travel_matrix.py", "source_location": "L158", "receiver": "csv_path"}, {"caller_nid": "$graphify-root$_gun_scripts_build_travel_matrix_main", "callee": "exists", "is_member_call": true, "source_file": "gun/scripts/build_travel_matrix.py", "source_location": "L160", "receiver": "csv_path"}, {"caller_nid": "$graphify-root$_gun_scripts_build_travel_matrix_main", "callee": "exit", "is_member_call": true, "source_file": "gun/scripts/build_travel_matrix.py", "source_location": "L161", "receiver": "sys"}, {"caller_nid": "$graphify-root$_gun_scripts_build_travel_matrix_main", "callee": "exit", "is_member_call": true, "source_file": "gun/scripts/build_travel_matrix.py", "source_location": "L171", "receiver": "sys"}, {"caller_nid": "$graphify-root$_gun_scripts_build_travel_matrix_main", "callee": "is_absolute", "is_member_call": true, "source_file": "gun/scripts/build_travel_matrix.py", "source_location": "L174", "receiver": "cache_path"}, {"caller_nid": "$graphify-root$_gun_scripts_build_travel_matrix_main", "callee": "from_env", "is_member_call": true, "source_file": "gun/scripts/build_travel_matrix.py", "source_location": "L177", "receiver": "KakaoMobilityMatrix"}, {"caller_nid": "$graphify-root$_gun_scripts_build_travel_matrix_main", "callee": "save_cache", "is_member_call": true, "source_file": "gun/scripts/build_travel_matrix.py", "source_location": "L187", "receiver": "matrix"}, {"caller_nid": "$graphify-root$_gun_scripts_build_travel_matrix_main", "callee": "e", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/build_travel_matrix.py", "source_location": "L189"}, {"caller_nid": "$graphify-root$_gun_scripts_build_travel_matrix_main", "callee": "save_cache", "is_member_call": true, "source_file": "gun/scripts/build_travel_matrix.py", "source_location": "L190", "receiver": "matrix"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/628d5b140ba73e0ac171019edf66e9eeadbd5f222f25ab5a0f211077bba5fd8c.json b/graphify-out/cache/ast/v0.9.31/628d5b140ba73e0ac171019edf66e9eeadbd5f222f25ab5a0f211077bba5fd8c.json new file mode 100644 index 0000000..831a5a5 --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/628d5b140ba73e0ac171019edf66e9eeadbd5f222f25ab5a0f211077bba5fd8c.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_tests_conftest_py", "label": "conftest.py", "file_type": "code", "source_file": "tests/conftest.py", "source_location": "L1"}, {"id": "fixture", "label": "fixture", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/tests/conftest.py"}, {"id": "$graphify-root$_tests_conftest_clean_anthropic_api_key", "label": "_clean_anthropic_api_key()", "file_type": "code", "source_file": "tests/conftest.py", "source_location": "L11", "_callable": true}, {"id": "$graphify-root$_tests_conftest_rationale_1", "label": "\ud14c\uc2a4\ud2b8 \uc804\uc5ed fixture. src.api.main\uc740 import \uc2dc\uc810\uc5d0 .env\ub97c \uc77d\uc5b4 os.environ\uc5d0\u2026", "file_type": "rationale", "source_file": "tests/conftest.py", "source_location": "L1"}], "edges": [{"source": "$graphify-root$_tests_conftest_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/conftest.py", "source_location": "L7", "weight": 1.0}, {"source": "$graphify-root$_tests_conftest_clean_anthropic_api_key", "target": "fixture", "relation": "references", "confidence": "EXTRACTED", "source_file": "tests/conftest.py", "source_location": "L10", "weight": 1.0, "context": "decorator"}, {"source": "$graphify-root$_tests_conftest_py", "target": "$graphify-root$_tests_conftest_clean_anthropic_api_key", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/conftest.py", "source_location": "L11", "weight": 1.0}, {"source": "$graphify-root$_tests_conftest_rationale_1", "target": "$graphify-root$_tests_conftest_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/conftest.py", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_tests_conftest_clean_anthropic_api_key", "callee": "delenv", "is_member_call": true, "source_file": "tests/conftest.py", "source_location": "L12", "receiver": "monkeypatch"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/62a1600bad85c2df3c9c7fe88f175da8c8214d38b62ce75d10d59f5e84a18582.json b/graphify-out/cache/ast/v0.9.31/62a1600bad85c2df3c9c7fe88f175da8c8214d38b62ce75d10d59f5e84a18582.json new file mode 100644 index 0000000..b654d93 --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/62a1600bad85c2df3c9c7fe88f175da8c8214d38b62ce75d10d59f5e84a18582.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_gun_scripts_fetch_google_hours_py", "label": "fetch_google_hours.py", "file_type": "code", "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L1"}, {"id": "$graphify-root$_gun_scripts_fetch_google_hours_load_env", "label": "load_env()", "file_type": "code", "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L41", "_callable": true}, {"id": "path", "label": "Path", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/gun/scripts/fetch_google_hours.py"}, {"id": "$graphify-root$_gun_scripts_fetch_google_hours_text_search", "label": "text_search()", "file_type": "code", "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L58", "_callable": true}, {"id": "$graphify-root$_gun_scripts_fetch_google_hours_place_details", "label": "place_details()", "file_type": "code", "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L83", "_callable": true}, {"id": "any", "label": "Any", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/gun/scripts/fetch_google_hours.py"}, {"id": "$graphify-root$_gun_scripts_fetch_google_hours_parse_periods", "label": "parse_periods()", "file_type": "code", "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L102", "_callable": true}, {"id": "$graphify-root$_gun_scripts_fetch_google_hours_load_targets", "label": "load_targets()", "file_type": "code", "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L124", "_callable": true}, {"id": "$graphify-root$_gun_scripts_fetch_google_hours_main", "label": "main()", "file_type": "code", "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L148", "_callable": true}, {"id": "$graphify-root$_gun_scripts_fetch_google_hours_rationale_1", "label": "Google Places API (New) \u2014 \uc2dd\ub2f9\u00b7\uce74\ud398 \uc6b4\uc601\uc2dc\uac04 \ubcf4\uac15. \uc0ac\uc6a9\ubc95: 1. .env \uc5d0 GOOGLE_PLACES_API_KEY\u2026", "file_type": "rationale", "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L1"}, {"id": "$graphify-root$_gun_scripts_fetch_google_hours_rationale_59", "label": "POI \uc774\ub984\uc73c\ub85c \uac80\uc0c9 \u2192 \uccab \ud6c4\ubcf4\uc758 place_id \ubc18\ud658.", "file_type": "rationale", "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L59"}, {"id": "$graphify-root$_gun_scripts_fetch_google_hours_rationale_103", "label": "API\uc758 periods \uc751\ub2f5\uc744 \uc694\uc77c\ubcc4 'HH:MM-HH:MM' \uc73c\ub85c \ubcc0\ud658. day: 0=\uc77c, 1=\uc6d4, ..., 6=\ud1a0 (Google \uae30\uc900)", "file_type": "rationale", "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L103"}], "edges": [{"source": "$graphify-root$_gun_scripts_fetch_google_hours_py", "target": "argparse", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L17", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_google_hours_py", "target": "csv", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L18", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_google_hours_py", "target": "json", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L19", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_google_hours_py", "target": "os", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L20", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_google_hours_py", "target": "sys", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L21", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_google_hours_py", "target": "time", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L22", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_google_hours_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L23", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_google_hours_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L24", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_google_hours_py", "target": "httpx", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L26", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_google_hours_py", "target": "openpyxl", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L27", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_google_hours_py", "target": "$graphify-root$_gun_scripts_fetch_google_hours_load_env", "relation": "contains", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L41", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_google_hours_load_env", "target": "path", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L41", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_google_hours_py", "target": "$graphify-root$_gun_scripts_fetch_google_hours_text_search", "relation": "contains", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L58", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_google_hours_py", "target": "$graphify-root$_gun_scripts_fetch_google_hours_place_details", "relation": "contains", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L83", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_google_hours_place_details", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L83", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_google_hours_py", "target": "$graphify-root$_gun_scripts_fetch_google_hours_parse_periods", "relation": "contains", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L102", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_google_hours_py", "target": "$graphify-root$_gun_scripts_fetch_google_hours_load_targets", "relation": "contains", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L124", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_google_hours_load_targets", "target": "path", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L124", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_google_hours_py", "target": "$graphify-root$_gun_scripts_fetch_google_hours_main", "relation": "contains", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L148", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_google_hours_main", "target": "$graphify-root$_gun_scripts_fetch_google_hours_load_targets", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L156", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_google_hours_main", "target": "path", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L156", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_google_hours_main", "target": "$graphify-root$_gun_scripts_fetch_google_hours_text_search", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L176", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_google_hours_main", "target": "$graphify-root$_gun_scripts_fetch_google_hours_place_details", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L185", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_google_hours_main", "target": "$graphify-root$_gun_scripts_fetch_google_hours_parse_periods", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L197", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_google_hours_rationale_1", "target": "$graphify-root$_gun_scripts_fetch_google_hours_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_google_hours_rationale_59", "target": "$graphify-root$_gun_scripts_fetch_google_hours_text_search", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L59", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_fetch_google_hours_rationale_103", "target": "$graphify-root$_gun_scripts_fetch_google_hours_parse_periods", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L103", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_gun_scripts_fetch_google_hours_load_env", "callee": "exists", "is_member_call": true, "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L42", "receiver": "path"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_google_hours_load_env", "callee": "splitlines", "is_member_call": true, "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L44", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_google_hours_load_env", "callee": "read_text", "is_member_call": true, "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L44", "receiver": "path"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_google_hours_load_env", "callee": "strip", "is_member_call": true, "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L45", "receiver": "line"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_google_hours_load_env", "callee": "startswith", "is_member_call": true, "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L46", "receiver": "line"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_google_hours_load_env", "callee": "partition", "is_member_call": true, "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L48", "receiver": "line"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_google_hours_load_env", "callee": "setdefault", "is_member_call": true, "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L49", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_google_hours_load_env", "callee": "strip", "is_member_call": true, "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L49", "receiver": "k"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_google_hours_load_env", "callee": "strip", "is_member_call": true, "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L49", "receiver": "v"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_google_hours_text_search", "callee": "API_KEY", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L63"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_google_hours_text_search", "callee": "strip", "is_member_call": true, "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L67", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_google_hours_text_search", "callee": "post", "is_member_call": true, "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L73", "receiver": "httpx"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_google_hours_text_search", "callee": "REQUEST_TIMEOUT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L73"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_google_hours_text_search", "callee": "raise_for_status", "is_member_call": true, "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L74", "receiver": "r"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_google_hours_text_search", "callee": "json", "is_member_call": true, "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L75", "receiver": "r"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_google_hours_text_search", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L76", "receiver": "data"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_google_hours_place_details", "callee": "API_KEY", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L87"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_google_hours_place_details", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L91", "receiver": "httpx"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_google_hours_place_details", "callee": "REQUEST_TIMEOUT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L93"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_google_hours_place_details", "callee": "raise_for_status", "is_member_call": true, "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L94", "receiver": "r"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_google_hours_place_details", "callee": "json", "is_member_call": true, "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L95", "receiver": "r"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_google_hours_parse_periods", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L109", "receiver": "p"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_google_hours_parse_periods", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L110", "receiver": "p"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_google_hours_parse_periods", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L114", "receiver": "op"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_google_hours_parse_periods", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L114", "receiver": "op"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_google_hours_parse_periods", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L116", "receiver": "cl"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_google_hours_parse_periods", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L116", "receiver": "cl"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_google_hours_load_targets", "callee": "load_workbook", "is_member_call": false, "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L125", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_google_hours_load_targets", "callee": "iter_rows", "is_member_call": true, "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L130", "receiver": "ws"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_google_hours_load_targets", "callee": "strip", "is_member_call": true, "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L134", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_google_hours_load_targets", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L134", "receiver": "rec"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_google_hours_load_targets", "callee": "strip", "is_member_call": true, "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L135", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_google_hours_load_targets", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L135", "receiver": "rec"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_google_hours_load_targets", "callee": "strip", "is_member_call": true, "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L136", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_google_hours_load_targets", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L136", "receiver": "rec"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_google_hours_load_targets", "callee": "add", "is_member_call": true, "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L142", "receiver": "seen"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_google_hours_load_targets", "callee": "append", "is_member_call": true, "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L143", "receiver": "targets"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_google_hours_main", "callee": "ArgumentParser", "is_member_call": true, "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L149", "receiver": "argparse"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_google_hours_main", "callee": "add_argument", "is_member_call": true, "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L150", "receiver": "ap"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_google_hours_main", "callee": "add_argument", "is_member_call": true, "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L151", "receiver": "ap"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_google_hours_main", "callee": "add_argument", "is_member_call": true, "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L152", "receiver": "ap"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_google_hours_main", "callee": "int", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L152"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_google_hours_main", "callee": "parse_args", "is_member_call": true, "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L154", "receiver": "ap"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_google_hours_main", "callee": "DictWriter", "is_member_call": true, "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L170", "receiver": "csv"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_google_hours_main", "callee": "f", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L170"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_google_hours_main", "callee": "writeheader", "is_member_call": true, "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L171", "receiver": "w"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_google_hours_main", "callee": "sleep", "is_member_call": true, "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L177", "receiver": "time"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_google_hours_main", "callee": "SLEEP_BETWEEN", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L177"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_google_hours_main", "callee": "writerow", "is_member_call": true, "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L180", "receiver": "w"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_google_hours_main", "callee": "sleep", "is_member_call": true, "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L186", "receiver": "time"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_google_hours_main", "callee": "SLEEP_BETWEEN", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L186"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_google_hours_main", "callee": "writerow", "is_member_call": true, "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L189", "receiver": "w"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_google_hours_main", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L194", "receiver": "det"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_google_hours_main", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L195", "receiver": "hours"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_google_hours_main", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L196", "receiver": "hours"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_google_hours_main", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L202", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_google_hours_main", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L202", "receiver": "det"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_google_hours_main", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L203", "receiver": "day_map"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_google_hours_main", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L204", "receiver": "day_map"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_google_hours_main", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L205", "receiver": "day_map"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_google_hours_main", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L206", "receiver": "day_map"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_google_hours_main", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L207", "receiver": "day_map"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_google_hours_main", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L208", "receiver": "day_map"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_google_hours_main", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L209", "receiver": "day_map"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_google_hours_main", "callee": "join", "is_member_call": true, "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L210", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_google_hours_main", "callee": "writerow", "is_member_call": true, "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L212", "receiver": "w"}, {"caller_nid": "$graphify-root$_gun_scripts_fetch_google_hours_main", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/fetch_google_hours.py", "source_location": "L214", "receiver": "hours"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/651d7d4fbc67fb037ee51cee9f0b6685479d63aec7fba9f4f2fb473f7e2e9881.json b/graphify-out/cache/ast/v0.9.31/651d7d4fbc67fb037ee51cee9f0b6685479d63aec7fba9f4f2fb473f7e2e9881.json new file mode 100644 index 0000000..2d9724d --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/651d7d4fbc67fb037ee51cee9f0b6685479d63aec7fba9f4f2fb473f7e2e9881.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_gun_scripts_setup_and_test_py", "label": "setup_and_test.py", "file_type": "code", "source_file": "gun/scripts/setup_and_test.py", "source_location": "L1"}, {"id": "$graphify-root$_gun_scripts_setup_and_test_rationale_1", "label": "env \uc0dd\uc131 + Kakao API \ud14c\uc2a4\ud2b8. \u26a0\ufe0f \ud0a4\ub294 \uc808\ub300 \ucf54\ub4dc\uc5d0 \ud558\ub4dc\ucf54\ub529\ud558\uc9c0 \ub9d0 \uac83 \u2014 \ud658\uacbd\ubcc0\uc218 \ub610\ub294 .env \ud30c\uc77c\uc5d0\uc11c \uc77d\uc5b4\uc634. \uc0ac\uc6a9\ubc95:\u2026", "file_type": "rationale", "source_file": "gun/scripts/setup_and_test.py", "source_location": "L1"}], "edges": [{"source": "$graphify-root$_gun_scripts_setup_and_test_py", "target": "os", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "gun/scripts/setup_and_test.py", "source_location": "L11", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_setup_and_test_py", "target": "sys", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "gun/scripts/setup_and_test.py", "source_location": "L12", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_setup_and_test_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "gun/scripts/setup_and_test.py", "source_location": "L13", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_setup_and_test_py", "target": "dotenv", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "gun/scripts/setup_and_test.py", "source_location": "L28", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_setup_and_test_py", "target": "src_validation_kakao_matrix", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "gun/scripts/setup_and_test.py", "source_location": "L47", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_setup_and_test_py", "target": "src_data_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "gun/scripts/setup_and_test.py", "source_location": "L48", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_setup_and_test_rationale_1", "target": "$graphify-root$_gun_scripts_setup_and_test_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "gun/scripts/setup_and_test.py", "source_location": "L1", "weight": 1.0}], "raw_calls": []} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/663fefeaf89c8d280cc0f6fec74689e5b7151a7c3f66c3b5423d55f303da6cc4.json b/graphify-out/cache/ast/v0.9.31/663fefeaf89c8d280cc0f6fec74689e5b7151a7c3f66c3b5423d55f303da6cc4.json new file mode 100644 index 0000000..07994d7 --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/663fefeaf89c8d280cc0f6fec74689e5b7151a7c3f66c3b5423d55f303da6cc4.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_tests_test_kakao_local_py", "label": "test_kakao_local.py", "file_type": "code", "source_file": "tests/test_kakao_local.py", "source_location": "L1"}, {"id": "$graphify-root$_tests_test_kakao_local_ok_response", "label": "_ok_response()", "file_type": "code", "source_file": "tests/test_kakao_local.py", "source_location": "L10", "_callable": true}, {"id": "$graphify-root$_tests_test_kakao_local_test_disabled_without_key_returns_none", "label": "test_disabled_without_key_returns_none()", "file_type": "code", "source_file": "tests/test_kakao_local.py", "source_location": "L29", "_callable": true}, {"id": "$graphify-root$_tests_test_kakao_local_test_search_parses_first_document", "label": "test_search_parses_first_document()", "file_type": "code", "source_file": "tests/test_kakao_local.py", "source_location": "L35", "_callable": true}, {"id": "$graphify-root$_tests_test_kakao_local_test_result_is_cached", "label": "test_result_is_cached()", "file_type": "code", "source_file": "tests/test_kakao_local.py", "source_location": "L46", "_callable": true}, {"id": "$graphify-root$_tests_test_kakao_local_test_empty_documents_returns_none", "label": "test_empty_documents_returns_none()", "file_type": "code", "source_file": "tests/test_kakao_local.py", "source_location": "L55", "_callable": true}, {"id": "$graphify-root$_tests_test_kakao_local_test_http_error_falls_back_to_none", "label": "test_http_error_falls_back_to_none()", "file_type": "code", "source_file": "tests/test_kakao_local.py", "source_location": "L64", "_callable": true}, {"id": "$graphify-root$_tests_test_kakao_local_multi_response", "label": "_multi_response()", "file_type": "code", "source_file": "tests/test_kakao_local.py", "source_location": "L73", "_callable": true}, {"id": "$graphify-root$_tests_test_kakao_local_test_search_keyword_list_parses_all", "label": "test_search_keyword_list_parses_all()", "file_type": "code", "source_file": "tests/test_kakao_local.py", "source_location": "L87", "_callable": true}, {"id": "$graphify-root$_tests_test_kakao_local_test_search_keyword_list_disabled_returns_empty", "label": "test_search_keyword_list_disabled_returns_empty()", "file_type": "code", "source_file": "tests/test_kakao_local.py", "source_location": "L96", "_callable": true}, {"id": "$graphify-root$_tests_test_kakao_local_address_response", "label": "_address_response()", "file_type": "code", "source_file": "tests/test_kakao_local.py", "source_location": "L101", "_callable": true}, {"id": "$graphify-root$_tests_test_kakao_local_test_geocode_address_parses_lat_lng", "label": "test_geocode_address_parses_lat_lng()", "file_type": "code", "source_file": "tests/test_kakao_local.py", "source_location": "L116", "_callable": true}, {"id": "$graphify-root$_tests_test_kakao_local_test_geocode_address_disabled_without_key_returns_none", "label": "test_geocode_address_disabled_without_key_returns_none()", "file_type": "code", "source_file": "tests/test_kakao_local.py", "source_location": "L124", "_callable": true}, {"id": "$graphify-root$_tests_test_kakao_local_test_geocode_address_is_cached", "label": "test_geocode_address_is_cached()", "file_type": "code", "source_file": "tests/test_kakao_local.py", "source_location": "L129", "_callable": true}, {"id": "$graphify-root$_tests_test_kakao_local_test_geocode_address_empty_documents_returns_none", "label": "test_geocode_address_empty_documents_returns_none()", "file_type": "code", "source_file": "tests/test_kakao_local.py", "source_location": "L138", "_callable": true}, {"id": "$graphify-root$_tests_test_kakao_local_test_geocode_address_http_error_falls_back_to_none", "label": "test_geocode_address_http_error_falls_back_to_none()", "file_type": "code", "source_file": "tests/test_kakao_local.py", "source_location": "L147", "_callable": true}, {"id": "$graphify-root$_tests_test_kakao_local_rationale_1", "label": "KakaoLocalClient \ud14c\uc2a4\ud2b8 (\uc2e4\uc81c API \ud638\ucd9c X \u2014 \ubaa8\ub450 mock).", "file_type": "rationale", "source_file": "tests/test_kakao_local.py", "source_location": "L1"}], "edges": [{"source": "$graphify-root$_tests_test_kakao_local_py", "target": "unittest_mock", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_kakao_local.py", "source_location": "L4", "weight": 1.0}, {"source": "$graphify-root$_tests_test_kakao_local_py", "target": "src_data_kakao_local", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_kakao_local.py", "source_location": "L6", "weight": 1.0}, {"source": "$graphify-root$_tests_test_kakao_local_py", "target": "src_data_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_kakao_local.py", "source_location": "L7", "weight": 1.0}, {"source": "$graphify-root$_tests_test_kakao_local_py", "target": "$graphify-root$_tests_test_kakao_local_ok_response", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_kakao_local.py", "source_location": "L10", "weight": 1.0}, {"source": "$graphify-root$_tests_test_kakao_local_py", "target": "$graphify-root$_tests_test_kakao_local_test_disabled_without_key_returns_none", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_kakao_local.py", "source_location": "L29", "weight": 1.0}, {"source": "$graphify-root$_tests_test_kakao_local_py", "target": "$graphify-root$_tests_test_kakao_local_test_search_parses_first_document", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_kakao_local.py", "source_location": "L35", "weight": 1.0}, {"source": "$graphify-root$_tests_test_kakao_local_py", "target": "$graphify-root$_tests_test_kakao_local_test_result_is_cached", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_kakao_local.py", "source_location": "L46", "weight": 1.0}, {"source": "$graphify-root$_tests_test_kakao_local_py", "target": "$graphify-root$_tests_test_kakao_local_test_empty_documents_returns_none", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_kakao_local.py", "source_location": "L55", "weight": 1.0}, {"source": "$graphify-root$_tests_test_kakao_local_py", "target": "$graphify-root$_tests_test_kakao_local_test_http_error_falls_back_to_none", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_kakao_local.py", "source_location": "L64", "weight": 1.0}, {"source": "$graphify-root$_tests_test_kakao_local_py", "target": "$graphify-root$_tests_test_kakao_local_multi_response", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_kakao_local.py", "source_location": "L73", "weight": 1.0}, {"source": "$graphify-root$_tests_test_kakao_local_py", "target": "$graphify-root$_tests_test_kakao_local_test_search_keyword_list_parses_all", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_kakao_local.py", "source_location": "L87", "weight": 1.0}, {"source": "$graphify-root$_tests_test_kakao_local_py", "target": "$graphify-root$_tests_test_kakao_local_test_search_keyword_list_disabled_returns_empty", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_kakao_local.py", "source_location": "L96", "weight": 1.0}, {"source": "$graphify-root$_tests_test_kakao_local_py", "target": "$graphify-root$_tests_test_kakao_local_address_response", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_kakao_local.py", "source_location": "L101", "weight": 1.0}, {"source": "$graphify-root$_tests_test_kakao_local_py", "target": "$graphify-root$_tests_test_kakao_local_test_geocode_address_parses_lat_lng", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_kakao_local.py", "source_location": "L116", "weight": 1.0}, {"source": "$graphify-root$_tests_test_kakao_local_py", "target": "$graphify-root$_tests_test_kakao_local_test_geocode_address_disabled_without_key_returns_none", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_kakao_local.py", "source_location": "L124", "weight": 1.0}, {"source": "$graphify-root$_tests_test_kakao_local_py", "target": "$graphify-root$_tests_test_kakao_local_test_geocode_address_is_cached", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_kakao_local.py", "source_location": "L129", "weight": 1.0}, {"source": "$graphify-root$_tests_test_kakao_local_py", "target": "$graphify-root$_tests_test_kakao_local_test_geocode_address_empty_documents_returns_none", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_kakao_local.py", "source_location": "L138", "weight": 1.0}, {"source": "$graphify-root$_tests_test_kakao_local_py", "target": "$graphify-root$_tests_test_kakao_local_test_geocode_address_http_error_falls_back_to_none", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_kakao_local.py", "source_location": "L147", "weight": 1.0}, {"source": "$graphify-root$_tests_test_kakao_local_test_search_parses_first_document", "target": "$graphify-root$_tests_test_kakao_local_ok_response", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_kakao_local.py", "source_location": "L37", "weight": 1.0}, {"source": "$graphify-root$_tests_test_kakao_local_test_result_is_cached", "target": "$graphify-root$_tests_test_kakao_local_ok_response", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_kakao_local.py", "source_location": "L48", "weight": 1.0}, {"source": "$graphify-root$_tests_test_kakao_local_test_search_keyword_list_parses_all", "target": "$graphify-root$_tests_test_kakao_local_multi_response", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_kakao_local.py", "source_location": "L89", "weight": 1.0}, {"source": "$graphify-root$_tests_test_kakao_local_test_geocode_address_parses_lat_lng", "target": "$graphify-root$_tests_test_kakao_local_address_response", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_kakao_local.py", "source_location": "L118", "weight": 1.0}, {"source": "$graphify-root$_tests_test_kakao_local_test_geocode_address_is_cached", "target": "$graphify-root$_tests_test_kakao_local_address_response", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_kakao_local.py", "source_location": "L131", "weight": 1.0}, {"source": "$graphify-root$_tests_test_kakao_local_rationale_1", "target": "$graphify-root$_tests_test_kakao_local_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_kakao_local.py", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_tests_test_kakao_local_ok_response", "callee": "MagicMock", "is_member_call": false, "source_file": "tests/test_kakao_local.py", "source_location": "L11", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_kakao_local_test_disabled_without_key_returns_none", "callee": "KakaoLocalClient", "is_member_call": false, "source_file": "tests/test_kakao_local.py", "source_location": "L30", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_kakao_local_test_disabled_without_key_returns_none", "callee": "search_keyword", "is_member_call": true, "source_file": "tests/test_kakao_local.py", "source_location": "L32", "receiver": "client"}, {"caller_nid": "$graphify-root$_tests_test_kakao_local_test_search_parses_first_document", "callee": "KakaoLocalClient", "is_member_call": false, "source_file": "tests/test_kakao_local.py", "source_location": "L36", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_kakao_local_test_search_parses_first_document", "callee": "patch", "is_member_call": false, "source_file": "tests/test_kakao_local.py", "source_location": "L37", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_kakao_local_test_search_parses_first_document", "callee": "search_keyword", "is_member_call": true, "source_file": "tests/test_kakao_local.py", "source_location": "L38", "receiver": "client"}, {"caller_nid": "$graphify-root$_tests_test_kakao_local_test_search_parses_first_document", "callee": "KakaoPlace", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "tests/test_kakao_local.py", "source_location": "L40"}, {"caller_nid": "$graphify-root$_tests_test_kakao_local_test_result_is_cached", "callee": "KakaoLocalClient", "is_member_call": false, "source_file": "tests/test_kakao_local.py", "source_location": "L47", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_kakao_local_test_result_is_cached", "callee": "patch", "is_member_call": false, "source_file": "tests/test_kakao_local.py", "source_location": "L48", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_kakao_local_test_result_is_cached", "callee": "search_keyword", "is_member_call": true, "source_file": "tests/test_kakao_local.py", "source_location": "L49", "receiver": "client"}, {"caller_nid": "$graphify-root$_tests_test_kakao_local_test_result_is_cached", "callee": "search_keyword", "is_member_call": true, "source_file": "tests/test_kakao_local.py", "source_location": "L50", "receiver": "client"}, {"caller_nid": "$graphify-root$_tests_test_kakao_local_test_empty_documents_returns_none", "callee": "KakaoLocalClient", "is_member_call": false, "source_file": "tests/test_kakao_local.py", "source_location": "L56", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_kakao_local_test_empty_documents_returns_none", "callee": "MagicMock", "is_member_call": false, "source_file": "tests/test_kakao_local.py", "source_location": "L57", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_kakao_local_test_empty_documents_returns_none", "callee": "patch", "is_member_call": false, "source_file": "tests/test_kakao_local.py", "source_location": "L60", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_kakao_local_test_empty_documents_returns_none", "callee": "search_keyword", "is_member_call": true, "source_file": "tests/test_kakao_local.py", "source_location": "L61", "receiver": "client"}, {"caller_nid": "$graphify-root$_tests_test_kakao_local_test_http_error_falls_back_to_none", "callee": "KakaoLocalClient", "is_member_call": false, "source_file": "tests/test_kakao_local.py", "source_location": "L67", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_kakao_local_test_http_error_falls_back_to_none", "callee": "patch", "is_member_call": false, "source_file": "tests/test_kakao_local.py", "source_location": "L68", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_kakao_local_test_http_error_falls_back_to_none", "callee": "ConnectTimeout", "is_member_call": true, "source_file": "tests/test_kakao_local.py", "source_location": "L68", "receiver": "httpx"}, {"caller_nid": "$graphify-root$_tests_test_kakao_local_test_http_error_falls_back_to_none", "callee": "search_keyword", "is_member_call": true, "source_file": "tests/test_kakao_local.py", "source_location": "L69", "receiver": "client"}, {"caller_nid": "$graphify-root$_tests_test_kakao_local_multi_response", "callee": "MagicMock", "is_member_call": false, "source_file": "tests/test_kakao_local.py", "source_location": "L74", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_kakao_local_test_search_keyword_list_parses_all", "callee": "KakaoLocalClient", "is_member_call": false, "source_file": "tests/test_kakao_local.py", "source_location": "L88", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_kakao_local_test_search_keyword_list_parses_all", "callee": "patch", "is_member_call": false, "source_file": "tests/test_kakao_local.py", "source_location": "L89", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_kakao_local_test_search_keyword_list_parses_all", "callee": "search_keyword_list", "is_member_call": true, "source_file": "tests/test_kakao_local.py", "source_location": "L90", "receiver": "client"}, {"caller_nid": "$graphify-root$_tests_test_kakao_local_test_search_keyword_list_disabled_returns_empty", "callee": "KakaoLocalClient", "is_member_call": false, "source_file": "tests/test_kakao_local.py", "source_location": "L97", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_kakao_local_test_search_keyword_list_disabled_returns_empty", "callee": "search_keyword_list", "is_member_call": true, "source_file": "tests/test_kakao_local.py", "source_location": "L98", "receiver": "client"}, {"caller_nid": "$graphify-root$_tests_test_kakao_local_address_response", "callee": "MagicMock", "is_member_call": false, "source_file": "tests/test_kakao_local.py", "source_location": "L102", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_kakao_local_test_geocode_address_parses_lat_lng", "callee": "KakaoLocalClient", "is_member_call": false, "source_file": "tests/test_kakao_local.py", "source_location": "L117", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_kakao_local_test_geocode_address_parses_lat_lng", "callee": "patch", "is_member_call": false, "source_file": "tests/test_kakao_local.py", "source_location": "L118", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_kakao_local_test_geocode_address_parses_lat_lng", "callee": "geocode_address", "is_member_call": true, "source_file": "tests/test_kakao_local.py", "source_location": "L119", "receiver": "client"}, {"caller_nid": "$graphify-root$_tests_test_kakao_local_test_geocode_address_disabled_without_key_returns_none", "callee": "KakaoLocalClient", "is_member_call": false, "source_file": "tests/test_kakao_local.py", "source_location": "L125", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_kakao_local_test_geocode_address_disabled_without_key_returns_none", "callee": "geocode_address", "is_member_call": true, "source_file": "tests/test_kakao_local.py", "source_location": "L126", "receiver": "client"}, {"caller_nid": "$graphify-root$_tests_test_kakao_local_test_geocode_address_is_cached", "callee": "KakaoLocalClient", "is_member_call": false, "source_file": "tests/test_kakao_local.py", "source_location": "L130", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_kakao_local_test_geocode_address_is_cached", "callee": "patch", "is_member_call": false, "source_file": "tests/test_kakao_local.py", "source_location": "L131", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_kakao_local_test_geocode_address_is_cached", "callee": "geocode_address", "is_member_call": true, "source_file": "tests/test_kakao_local.py", "source_location": "L132", "receiver": "client"}, {"caller_nid": "$graphify-root$_tests_test_kakao_local_test_geocode_address_is_cached", "callee": "geocode_address", "is_member_call": true, "source_file": "tests/test_kakao_local.py", "source_location": "L133", "receiver": "client"}, {"caller_nid": "$graphify-root$_tests_test_kakao_local_test_geocode_address_empty_documents_returns_none", "callee": "KakaoLocalClient", "is_member_call": false, "source_file": "tests/test_kakao_local.py", "source_location": "L139", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_kakao_local_test_geocode_address_empty_documents_returns_none", "callee": "MagicMock", "is_member_call": false, "source_file": "tests/test_kakao_local.py", "source_location": "L140", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_kakao_local_test_geocode_address_empty_documents_returns_none", "callee": "patch", "is_member_call": false, "source_file": "tests/test_kakao_local.py", "source_location": "L143", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_kakao_local_test_geocode_address_empty_documents_returns_none", "callee": "geocode_address", "is_member_call": true, "source_file": "tests/test_kakao_local.py", "source_location": "L144", "receiver": "client"}, {"caller_nid": "$graphify-root$_tests_test_kakao_local_test_geocode_address_http_error_falls_back_to_none", "callee": "KakaoLocalClient", "is_member_call": false, "source_file": "tests/test_kakao_local.py", "source_location": "L150", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_kakao_local_test_geocode_address_http_error_falls_back_to_none", "callee": "patch", "is_member_call": false, "source_file": "tests/test_kakao_local.py", "source_location": "L151", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_kakao_local_test_geocode_address_http_error_falls_back_to_none", "callee": "ConnectTimeout", "is_member_call": true, "source_file": "tests/test_kakao_local.py", "source_location": "L151", "receiver": "httpx"}, {"caller_nid": "$graphify-root$_tests_test_kakao_local_test_geocode_address_http_error_falls_back_to_none", "callee": "geocode_address", "is_member_call": true, "source_file": "tests/test_kakao_local.py", "source_location": "L152", "receiver": "client"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/6ba9d73a3e4386f30c3770c8d83341da973abf28ca1b9ac1da089635100c26b5.json b/graphify-out/cache/ast/v0.9.31/6ba9d73a3e4386f30c3770c8d83341da973abf28ca1b9ac1da089635100c26b5.json new file mode 100644 index 0000000..7a63c76 --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/6ba9d73a3e4386f30c3770c8d83341da973abf28ca1b9ac1da089635100c26b5.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_tests_test_congestion_engine_py", "label": "test_congestion_engine.py", "file_type": "code", "source_file": "tests/test_congestion_engine.py", "source_location": "L1"}, {"id": "fixture", "label": "fixture", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/tests/test_congestion_engine.py"}, {"id": "$graphify-root$_tests_test_congestion_engine_engine", "label": "engine()", "file_type": "code", "source_file": "tests/test_congestion_engine.py", "source_location": "L48", "_callable": true}, {"id": "parametrize", "label": "parametrize", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/tests/test_congestion_engine.py"}, {"id": "$graphify-root$_tests_test_congestion_engine_test_score_to_level", "label": "test_score_to_level()", "file_type": "code", "source_file": "tests/test_congestion_engine.py", "source_location": "L71", "_callable": true}, {"id": "$graphify-root$_tests_test_congestion_engine_test_exact_match", "label": "test_exact_match()", "file_type": "code", "source_file": "tests/test_congestion_engine.py", "source_location": "L79", "_callable": true}, {"id": "$graphify-root$_tests_test_congestion_engine_test_exact_match_low_season", "label": "test_exact_match_low_season()", "file_type": "code", "source_file": "tests/test_congestion_engine.py", "source_location": "L87", "_callable": true}, {"id": "$graphify-root$_tests_test_congestion_engine_test_partial_match_substring", "label": "test_partial_match_substring()", "file_type": "code", "source_file": "tests/test_congestion_engine.py", "source_location": "L98", "_callable": true}, {"id": "$graphify-root$_tests_test_congestion_engine_test_partial_match_superstring", "label": "test_partial_match_superstring()", "file_type": "code", "source_file": "tests/test_congestion_engine.py", "source_location": "L104", "_callable": true}, {"id": "$graphify-root$_tests_test_congestion_engine_test_global_fallback", "label": "test_global_fallback()", "file_type": "code", "source_file": "tests/test_congestion_engine.py", "source_location": "L114", "_callable": true}, {"id": "$graphify-root$_tests_test_congestion_engine_test_category_fallback", "label": "test_category_fallback()", "file_type": "code", "source_file": "tests/test_congestion_engine.py", "source_location": "L120", "_callable": true}, {"id": "$graphify-root$_tests_test_congestion_engine_test_invalid_month_raises", "label": "test_invalid_month_raises()", "file_type": "code", "source_file": "tests/test_congestion_engine.py", "source_location": "L130", "_callable": true}, {"id": "$graphify-root$_tests_test_congestion_engine_test_result_is_dataclass", "label": "test_result_is_dataclass()", "file_type": "code", "source_file": "tests/test_congestion_engine.py", "source_location": "L137", "_callable": true}, {"id": "$graphify-root$_tests_test_congestion_engine_test_is_crowded_true", "label": "test_is_crowded_true()", "file_type": "code", "source_file": "tests/test_congestion_engine.py", "source_location": "L147", "_callable": true}, {"id": "$graphify-root$_tests_test_congestion_engine_test_is_crowded_false", "label": "test_is_crowded_false()", "file_type": "code", "source_file": "tests/test_congestion_engine.py", "source_location": "L151", "_callable": true}, {"id": "$graphify-root$_tests_test_congestion_engine_test_score_itinerary", "label": "test_score_itinerary()", "file_type": "code", "source_file": "tests/test_congestion_engine.py", "source_location": "L155", "_callable": true}, {"id": "$graphify-root$_tests_test_congestion_engine_test_missing_csv_raises", "label": "test_missing_csv_raises()", "file_type": "code", "source_file": "tests/test_congestion_engine.py", "source_location": "L165", "_callable": true}, {"id": "$graphify-root$_tests_test_congestion_engine_rationale_1", "label": "Unit tests for CongestionEngine.", "file_type": "rationale", "source_file": "tests/test_congestion_engine.py", "source_location": "L1"}], "edges": [{"source": "$graphify-root$_tests_test_congestion_engine_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_congestion_engine.py", "source_location": "L4", "weight": 1.0}, {"source": "$graphify-root$_tests_test_congestion_engine_py", "target": "unittest_mock", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_congestion_engine.py", "source_location": "L5", "weight": 1.0}, {"source": "$graphify-root$_tests_test_congestion_engine_py", "target": "pandas", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_congestion_engine.py", "source_location": "L7", "weight": 1.0, "local_alias": "pd"}, {"source": "$graphify-root$_tests_test_congestion_engine_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_congestion_engine.py", "source_location": "L8", "weight": 1.0}, {"source": "$graphify-root$_tests_test_congestion_engine_py", "target": "src_scoring_congestion_engine", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_congestion_engine.py", "source_location": "L10", "weight": 1.0}, {"source": "$graphify-root$_tests_test_congestion_engine_engine", "target": "fixture", "relation": "references", "confidence": "EXTRACTED", "source_file": "tests/test_congestion_engine.py", "source_location": "L47", "weight": 1.0, "context": "decorator"}, {"source": "$graphify-root$_tests_test_congestion_engine_py", "target": "$graphify-root$_tests_test_congestion_engine_engine", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_congestion_engine.py", "source_location": "L48", "weight": 1.0}, {"source": "$graphify-root$_tests_test_congestion_engine_test_score_to_level", "target": "parametrize", "relation": "references", "confidence": "EXTRACTED", "source_file": "tests/test_congestion_engine.py", "source_location": "L58", "weight": 1.0, "context": "decorator"}, {"source": "$graphify-root$_tests_test_congestion_engine_py", "target": "$graphify-root$_tests_test_congestion_engine_test_score_to_level", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_congestion_engine.py", "source_location": "L71", "weight": 1.0}, {"source": "$graphify-root$_tests_test_congestion_engine_py", "target": "$graphify-root$_tests_test_congestion_engine_test_exact_match", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_congestion_engine.py", "source_location": "L79", "weight": 1.0}, {"source": "$graphify-root$_tests_test_congestion_engine_py", "target": "$graphify-root$_tests_test_congestion_engine_test_exact_match_low_season", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_congestion_engine.py", "source_location": "L87", "weight": 1.0}, {"source": "$graphify-root$_tests_test_congestion_engine_py", "target": "$graphify-root$_tests_test_congestion_engine_test_partial_match_substring", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_congestion_engine.py", "source_location": "L98", "weight": 1.0}, {"source": "$graphify-root$_tests_test_congestion_engine_py", "target": "$graphify-root$_tests_test_congestion_engine_test_partial_match_superstring", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_congestion_engine.py", "source_location": "L104", "weight": 1.0}, {"source": "$graphify-root$_tests_test_congestion_engine_py", "target": "$graphify-root$_tests_test_congestion_engine_test_global_fallback", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_congestion_engine.py", "source_location": "L114", "weight": 1.0}, {"source": "$graphify-root$_tests_test_congestion_engine_py", "target": "$graphify-root$_tests_test_congestion_engine_test_category_fallback", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_congestion_engine.py", "source_location": "L120", "weight": 1.0}, {"source": "$graphify-root$_tests_test_congestion_engine_py", "target": "$graphify-root$_tests_test_congestion_engine_test_invalid_month_raises", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_congestion_engine.py", "source_location": "L130", "weight": 1.0}, {"source": "$graphify-root$_tests_test_congestion_engine_py", "target": "$graphify-root$_tests_test_congestion_engine_test_result_is_dataclass", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_congestion_engine.py", "source_location": "L137", "weight": 1.0}, {"source": "$graphify-root$_tests_test_congestion_engine_py", "target": "$graphify-root$_tests_test_congestion_engine_test_is_crowded_true", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_congestion_engine.py", "source_location": "L147", "weight": 1.0}, {"source": "$graphify-root$_tests_test_congestion_engine_py", "target": "$graphify-root$_tests_test_congestion_engine_test_is_crowded_false", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_congestion_engine.py", "source_location": "L151", "weight": 1.0}, {"source": "$graphify-root$_tests_test_congestion_engine_py", "target": "$graphify-root$_tests_test_congestion_engine_test_score_itinerary", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_congestion_engine.py", "source_location": "L155", "weight": 1.0}, {"source": "$graphify-root$_tests_test_congestion_engine_py", "target": "$graphify-root$_tests_test_congestion_engine_test_missing_csv_raises", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_congestion_engine.py", "source_location": "L165", "weight": 1.0}, {"source": "$graphify-root$_tests_test_congestion_engine_rationale_1", "target": "$graphify-root$_tests_test_congestion_engine_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_congestion_engine.py", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_tests_test_congestion_engine_engine", "callee": "to_csv", "is_member_call": true, "source_file": "tests/test_congestion_engine.py", "source_location": "L50", "receiver": "SAMPLE_CSV_DATA"}, {"caller_nid": "$graphify-root$_tests_test_congestion_engine_engine", "callee": "CongestionEngine", "is_member_call": false, "source_file": "tests/test_congestion_engine.py", "source_location": "L51", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_congestion_engine_test_score_to_level", "callee": "_score_to_level", "is_member_call": false, "source_file": "tests/test_congestion_engine.py", "source_location": "L72", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_congestion_engine_test_exact_match", "callee": "score", "is_member_call": true, "source_file": "tests/test_congestion_engine.py", "source_location": "L80", "receiver": "engine"}, {"caller_nid": "$graphify-root$_tests_test_congestion_engine_test_exact_match", "callee": "approx", "is_member_call": true, "source_file": "tests/test_congestion_engine.py", "source_location": "L83", "receiver": "pytest"}, {"caller_nid": "$graphify-root$_tests_test_congestion_engine_test_exact_match_low_season", "callee": "score", "is_member_call": true, "source_file": "tests/test_congestion_engine.py", "source_location": "L88", "receiver": "engine"}, {"caller_nid": "$graphify-root$_tests_test_congestion_engine_test_partial_match_substring", "callee": "score", "is_member_call": true, "source_file": "tests/test_congestion_engine.py", "source_location": "L99", "receiver": "engine"}, {"caller_nid": "$graphify-root$_tests_test_congestion_engine_test_partial_match_superstring", "callee": "score", "is_member_call": true, "source_file": "tests/test_congestion_engine.py", "source_location": "L105", "receiver": "engine"}, {"caller_nid": "$graphify-root$_tests_test_congestion_engine_test_global_fallback", "callee": "score", "is_member_call": true, "source_file": "tests/test_congestion_engine.py", "source_location": "L115", "receiver": "engine"}, {"caller_nid": "$graphify-root$_tests_test_congestion_engine_test_category_fallback", "callee": "score", "is_member_call": true, "source_file": "tests/test_congestion_engine.py", "source_location": "L122", "receiver": "engine"}, {"caller_nid": "$graphify-root$_tests_test_congestion_engine_test_invalid_month_raises", "callee": "raises", "is_member_call": true, "source_file": "tests/test_congestion_engine.py", "source_location": "L131", "receiver": "pytest"}, {"caller_nid": "$graphify-root$_tests_test_congestion_engine_test_invalid_month_raises", "callee": "ValueError", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "tests/test_congestion_engine.py", "source_location": "L131"}, {"caller_nid": "$graphify-root$_tests_test_congestion_engine_test_invalid_month_raises", "callee": "score", "is_member_call": true, "source_file": "tests/test_congestion_engine.py", "source_location": "L132", "receiver": "engine"}, {"caller_nid": "$graphify-root$_tests_test_congestion_engine_test_invalid_month_raises", "callee": "raises", "is_member_call": true, "source_file": "tests/test_congestion_engine.py", "source_location": "L133", "receiver": "pytest"}, {"caller_nid": "$graphify-root$_tests_test_congestion_engine_test_invalid_month_raises", "callee": "ValueError", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "tests/test_congestion_engine.py", "source_location": "L133"}, {"caller_nid": "$graphify-root$_tests_test_congestion_engine_test_invalid_month_raises", "callee": "score", "is_member_call": true, "source_file": "tests/test_congestion_engine.py", "source_location": "L134", "receiver": "engine"}, {"caller_nid": "$graphify-root$_tests_test_congestion_engine_test_result_is_dataclass", "callee": "score", "is_member_call": true, "source_file": "tests/test_congestion_engine.py", "source_location": "L138", "receiver": "engine"}, {"caller_nid": "$graphify-root$_tests_test_congestion_engine_test_result_is_dataclass", "callee": "CongestionResult", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "tests/test_congestion_engine.py", "source_location": "L139"}, {"caller_nid": "$graphify-root$_tests_test_congestion_engine_test_result_is_dataclass", "callee": "CongestionLevel", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "tests/test_congestion_engine.py", "source_location": "L140"}, {"caller_nid": "$graphify-root$_tests_test_congestion_engine_test_is_crowded_true", "callee": "is_crowded", "is_member_call": true, "source_file": "tests/test_congestion_engine.py", "source_location": "L148", "receiver": "engine"}, {"caller_nid": "$graphify-root$_tests_test_congestion_engine_test_is_crowded_false", "callee": "is_crowded", "is_member_call": true, "source_file": "tests/test_congestion_engine.py", "source_location": "L152", "receiver": "engine"}, {"caller_nid": "$graphify-root$_tests_test_congestion_engine_test_score_itinerary", "callee": "score_itinerary", "is_member_call": true, "source_file": "tests/test_congestion_engine.py", "source_location": "L156", "receiver": "engine"}, {"caller_nid": "$graphify-root$_tests_test_congestion_engine_test_score_itinerary", "callee": "CongestionResult", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "tests/test_congestion_engine.py", "source_location": "L158"}, {"caller_nid": "$graphify-root$_tests_test_congestion_engine_test_missing_csv_raises", "callee": "CongestionEngine", "is_member_call": false, "source_file": "tests/test_congestion_engine.py", "source_location": "L166", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_congestion_engine_test_missing_csv_raises", "callee": "Path", "is_member_call": false, "source_file": "tests/test_congestion_engine.py", "source_location": "L166", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_congestion_engine_test_missing_csv_raises", "callee": "raises", "is_member_call": true, "source_file": "tests/test_congestion_engine.py", "source_location": "L167", "receiver": "pytest"}, {"caller_nid": "$graphify-root$_tests_test_congestion_engine_test_missing_csv_raises", "callee": "FileNotFoundError", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "tests/test_congestion_engine.py", "source_location": "L167"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/6bfe909c3cb46e05bb4831cf9bb32532e16fc50e4417204846a09bde95a514b4.json b/graphify-out/cache/ast/v0.9.31/6bfe909c3cb46e05bb4831cf9bb32532e16fc50e4417204846a09bde95a514b4.json new file mode 100644 index 0000000..82d2b90 --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/6bfe909c3cb46e05bb4831cf9bb32532e16fc50e4417204846a09bde95a514b4.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_src_data_seoul_citydata_client_py", "label": "seoul_citydata_client.py", "file_type": "code", "source_file": "src/data/seoul_citydata_client.py", "source_location": "L1"}, {"id": "$graphify-root$_src_data_seoul_citydata_client_forecastslot", "label": "ForecastSlot", "file_type": "code", "source_file": "src/data/seoul_citydata_client.py", "source_location": "L62", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_src_data_seoul_citydata_client_seoulrealtimecongestion", "label": "SeoulRealtimeCongestion", "file_type": "code", "source_file": "src/data/seoul_citydata_client.py", "source_location": "L71", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_src_data_seoul_citydata_client_seoulcitydataclient", "label": "SeoulCityDataClient", "file_type": "code", "source_file": "src/data/seoul_citydata_client.py", "source_location": "L83", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_src_data_seoul_citydata_client_seoulcitydataclient_init", "label": ".__init__()", "file_type": "code", "source_file": "src/data/seoul_citydata_client.py", "source_location": "L91", "_callable": true}, {"id": "$graphify-root$_src_data_seoul_citydata_client_seoulcitydataclient_url", "label": "._url()", "file_type": "code", "source_file": "src/data/seoul_citydata_client.py", "source_location": "L101", "_callable": true}, {"id": "$graphify-root$_src_data_seoul_citydata_client_seoulcitydataclient_parse_forecast", "label": "._parse_forecast()", "file_type": "code", "source_file": "src/data/seoul_citydata_client.py", "source_location": "L104", "_callable": true}, {"id": "$graphify-root$_src_data_seoul_citydata_client_seoulcitydataclient_resolve_name", "label": "._resolve_name()", "file_type": "code", "source_file": "src/data/seoul_citydata_client.py", "source_location": "L119", "_callable": true}, {"id": "$graphify-root$_src_data_seoul_citydata_client_seoulcitydataclient_get", "label": ".get()", "file_type": "code", "source_file": "src/data/seoul_citydata_client.py", "source_location": "L127", "_callable": true}, {"id": "$graphify-root$_src_data_seoul_citydata_client_seoulcitydataclient_get_at", "label": ".get_at()", "file_type": "code", "source_file": "src/data/seoul_citydata_client.py", "source_location": "L168", "_callable": true}, {"id": "$graphify-root$_src_data_seoul_citydata_client_rationale_1", "label": "\uc11c\uc6b8 \ub3c4\uc2dc\ub370\uc774\ud130 API \ud074\ub77c\uc774\uc5b8\ud2b8 \u2014 \uc2e4\uc2dc\uac04 \uc778\uad6c \ud63c\uc7a1\ub3c4. API: \uc11c\uc6b8 \uc5f4\ub9b0\ub370\uc774\ud130\uad11\uc7a5 citydata (\ub3c4\uc2dc\ub370\uc774\ud130 API) \uc5d4\ub4dc\ud3ec\uc778\ud2b8:\u2026", "file_type": "rationale", "source_file": "src/data/seoul_citydata_client.py", "source_location": "L1"}, {"id": "$graphify-root$_src_data_seoul_citydata_client_rationale_84", "label": "\uc11c\uc6b8 \ub3c4\uc2dc\ub370\uc774\ud130 \uc2e4\uc2dc\uac04 \ud63c\uc7a1\ub3c4 \ud074\ub77c\uc774\uc5b8\ud2b8 (\ub3d9\uae30). Args: api_key: SEOUL_DATA_API_KEY (\uae30\ubcf8\uac12: \ud658\uacbd\ubcc0\uc218\uc5d0\uc11c \ub85c\ub4dc)\u2026", "file_type": "rationale", "source_file": "src/data/seoul_citydata_client.py", "source_location": "L84"}, {"id": "$graphify-root$_src_data_seoul_citydata_client_rationale_128", "label": "\uc7a5\uc18c\uba85\uc73c\ub85c \uc2e4\uc2dc\uac04 \ud63c\uc7a1\ub3c4\ub97c \uc870\ud68c\ud55c\ub2e4. Args: area_name: \uc7a5\uc18c\uba85 (\ubcc4\uce6d \uc790\ub3d9 \ud574\uc11d \u2014 AREA_ALIASES \ucc38\uc870) \uc608:\u2026", "file_type": "rationale", "source_file": "src/data/seoul_citydata_client.py", "source_location": "L128"}, {"id": "$graphify-root$_src_data_seoul_citydata_client_rationale_169", "label": "\ud2b9\uc815 \uc2dc\uac01(HH:MM)\uc758 \uc608\uce21 \ud63c\uc7a1\ub3c4\ub97c \ubc18\ud658\ud55c\ub2e4. target_time\uc774 \ud604\uc7ac\ub77c\uba74 \uc2e4\uc2dc\uac04, \ubbf8\ub798\ub77c\uba74 \uc608\uce21\uac12\uc744 \uc0ac\uc6a9\ud55c\ub2e4. Args:\u2026", "file_type": "rationale", "source_file": "src/data/seoul_citydata_client.py", "source_location": "L169"}], "edges": [{"source": "$graphify-root$_src_data_seoul_citydata_client_py", "target": "dataclasses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/data/seoul_citydata_client.py", "source_location": "L14", "weight": 1.0}, {"source": "$graphify-root$_src_data_seoul_citydata_client_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/data/seoul_citydata_client.py", "source_location": "L15", "weight": 1.0}, {"source": "$graphify-root$_src_data_seoul_citydata_client_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/data/seoul_citydata_client.py", "source_location": "L16", "weight": 1.0}, {"source": "$graphify-root$_src_data_seoul_citydata_client_py", "target": "httpx", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/data/seoul_citydata_client.py", "source_location": "L18", "weight": 1.0}, {"source": "$graphify-root$_src_data_seoul_citydata_client_py", "target": "$graphify-root$_src_data_seoul_citydata_client_forecastslot", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/data/seoul_citydata_client.py", "source_location": "L62", "weight": 1.0}, {"source": "$graphify-root$_src_data_seoul_citydata_client_py", "target": "$graphify-root$_src_data_seoul_citydata_client_seoulrealtimecongestion", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/data/seoul_citydata_client.py", "source_location": "L71", "weight": 1.0}, {"source": "$graphify-root$_src_data_seoul_citydata_client_py", "target": "$graphify-root$_src_data_seoul_citydata_client_seoulcitydataclient", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/data/seoul_citydata_client.py", "source_location": "L83", "weight": 1.0}, {"source": "$graphify-root$_src_data_seoul_citydata_client_seoulcitydataclient", "target": "$graphify-root$_src_data_seoul_citydata_client_seoulcitydataclient_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/data/seoul_citydata_client.py", "source_location": "L91", "weight": 1.0}, {"source": "$graphify-root$_src_data_seoul_citydata_client_seoulcitydataclient", "target": "$graphify-root$_src_data_seoul_citydata_client_seoulcitydataclient_url", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/data/seoul_citydata_client.py", "source_location": "L101", "weight": 1.0}, {"source": "$graphify-root$_src_data_seoul_citydata_client_seoulcitydataclient", "target": "$graphify-root$_src_data_seoul_citydata_client_seoulcitydataclient_parse_forecast", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/data/seoul_citydata_client.py", "source_location": "L104", "weight": 1.0}, {"source": "$graphify-root$_src_data_seoul_citydata_client_seoulcitydataclient_parse_forecast", "target": "$graphify-root$_src_data_seoul_citydata_client_forecastslot", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/data/seoul_citydata_client.py", "source_location": "L104", "weight": 1.0}, {"source": "$graphify-root$_src_data_seoul_citydata_client_seoulcitydataclient", "target": "$graphify-root$_src_data_seoul_citydata_client_seoulcitydataclient_resolve_name", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/data/seoul_citydata_client.py", "source_location": "L119", "weight": 1.0}, {"source": "$graphify-root$_src_data_seoul_citydata_client_seoulcitydataclient", "target": "$graphify-root$_src_data_seoul_citydata_client_seoulcitydataclient_get", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/data/seoul_citydata_client.py", "source_location": "L127", "weight": 1.0}, {"source": "$graphify-root$_src_data_seoul_citydata_client_seoulcitydataclient_get", "target": "$graphify-root$_src_data_seoul_citydata_client_seoulrealtimecongestion", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "src/data/seoul_citydata_client.py", "source_location": "L127", "weight": 1.0}, {"source": "$graphify-root$_src_data_seoul_citydata_client_seoulcitydataclient", "target": "$graphify-root$_src_data_seoul_citydata_client_seoulcitydataclient_get_at", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/data/seoul_citydata_client.py", "source_location": "L168", "weight": 1.0}, {"source": "$graphify-root$_src_data_seoul_citydata_client_seoulcitydataclient_get_at", "target": "$graphify-root$_src_data_seoul_citydata_client_forecastslot", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "src/data/seoul_citydata_client.py", "source_location": "L168", "weight": 1.0}, {"source": "$graphify-root$_src_data_seoul_citydata_client_seoulcitydataclient_parse_forecast", "target": "$graphify-root$_src_data_seoul_citydata_client_seoulcitydataclient_get", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/data/seoul_citydata_client.py", "source_location": "L107", "weight": 1.0}, {"source": "$graphify-root$_src_data_seoul_citydata_client_seoulcitydataclient_parse_forecast", "target": "$graphify-root$_src_data_seoul_citydata_client_forecastslot", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/data/seoul_citydata_client.py", "source_location": "L109", "weight": 1.0}, {"source": "$graphify-root$_src_data_seoul_citydata_client_seoulcitydataclient_get", "target": "$graphify-root$_src_data_seoul_citydata_client_seoulcitydataclient_resolve_name", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/data/seoul_citydata_client.py", "source_location": "L137", "weight": 1.0}, {"source": "$graphify-root$_src_data_seoul_citydata_client_seoulcitydataclient_get", "target": "$graphify-root$_src_data_seoul_citydata_client_seoulcitydataclient_url", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/data/seoul_citydata_client.py", "source_location": "L139", "weight": 1.0}, {"source": "$graphify-root$_src_data_seoul_citydata_client_seoulcitydataclient_get", "target": "$graphify-root$_src_data_seoul_citydata_client_seoulrealtimecongestion", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/data/seoul_citydata_client.py", "source_location": "L156", "weight": 1.0}, {"source": "$graphify-root$_src_data_seoul_citydata_client_seoulcitydataclient_get", "target": "$graphify-root$_src_data_seoul_citydata_client_seoulcitydataclient_parse_forecast", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/data/seoul_citydata_client.py", "source_location": "L164", "weight": 1.0}, {"source": "$graphify-root$_src_data_seoul_citydata_client_seoulcitydataclient_get_at", "target": "$graphify-root$_src_data_seoul_citydata_client_seoulcitydataclient_get", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/data/seoul_citydata_client.py", "source_location": "L178", "weight": 1.0}, {"source": "$graphify-root$_src_data_seoul_citydata_client_seoulcitydataclient_get_at", "target": "$graphify-root$_src_data_seoul_citydata_client_forecastslot", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/data/seoul_citydata_client.py", "source_location": "L191", "weight": 1.0}, {"source": "$graphify-root$_src_data_seoul_citydata_client_rationale_1", "target": "$graphify-root$_src_data_seoul_citydata_client_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/data/seoul_citydata_client.py", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_src_data_seoul_citydata_client_rationale_84", "target": "$graphify-root$_src_data_seoul_citydata_client_seoulcitydataclient", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/data/seoul_citydata_client.py", "source_location": "L84", "weight": 1.0}, {"source": "$graphify-root$_src_data_seoul_citydata_client_rationale_128", "target": "$graphify-root$_src_data_seoul_citydata_client_seoulcitydataclient_get", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/data/seoul_citydata_client.py", "source_location": "L128", "weight": 1.0}, {"source": "$graphify-root$_src_data_seoul_citydata_client_rationale_169", "target": "$graphify-root$_src_data_seoul_citydata_client_seoulcitydataclient_get_at", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/data/seoul_citydata_client.py", "source_location": "L169", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_src_data_seoul_citydata_client_seoulcitydataclient_init", "callee": "Settings", "is_member_call": false, "source_file": "src/data/seoul_citydata_client.py", "source_location": "L96", "receiver": null}, {"caller_nid": "$graphify-root$_src_data_seoul_citydata_client_seoulcitydataclient_init", "callee": "ValueError", "is_member_call": false, "source_file": "src/data/seoul_citydata_client.py", "source_location": "L98", "receiver": null}, {"caller_nid": "$graphify-root$_src_data_seoul_citydata_client_seoulcitydataclient_parse_forecast", "callee": "append", "is_member_call": true, "source_file": "src/data/seoul_citydata_client.py", "source_location": "L108", "receiver": "slots"}, {"caller_nid": "$graphify-root$_src_data_seoul_citydata_client_seoulcitydataclient_parse_forecast", "callee": "get", "is_member_call": true, "source_file": "src/data/seoul_citydata_client.py", "source_location": "L112", "receiver": "CONGEST_SCORE_MAP"}, {"caller_nid": "$graphify-root$_src_data_seoul_citydata_client_seoulcitydataclient_resolve_name", "callee": "lower", "is_member_call": true, "source_file": "src/data/seoul_citydata_client.py", "source_location": "L121", "receiver": null}, {"caller_nid": "$graphify-root$_src_data_seoul_citydata_client_seoulcitydataclient_resolve_name", "callee": "strip", "is_member_call": true, "source_file": "src/data/seoul_citydata_client.py", "source_location": "L121", "receiver": "area_name"}, {"caller_nid": "$graphify-root$_src_data_seoul_citydata_client_seoulcitydataclient_resolve_name", "callee": "items", "is_member_call": true, "source_file": "src/data/seoul_citydata_client.py", "source_location": "L122", "receiver": "AREA_ALIASES"}, {"caller_nid": "$graphify-root$_src_data_seoul_citydata_client_seoulcitydataclient_resolve_name", "callee": "lower", "is_member_call": true, "source_file": "src/data/seoul_citydata_client.py", "source_location": "L123", "receiver": "alias"}, {"caller_nid": "$graphify-root$_src_data_seoul_citydata_client_seoulcitydataclient_resolve_name", "callee": "strip", "is_member_call": true, "source_file": "src/data/seoul_citydata_client.py", "source_location": "L125", "receiver": "area_name"}, {"caller_nid": "$graphify-root$_src_data_seoul_citydata_client_seoulcitydataclient_get", "callee": "raise_for_status", "is_member_call": true, "source_file": "src/data/seoul_citydata_client.py", "source_location": "L140", "receiver": "resp"}, {"caller_nid": "$graphify-root$_src_data_seoul_citydata_client_seoulcitydataclient_get", "callee": "json", "is_member_call": true, "source_file": "src/data/seoul_citydata_client.py", "source_location": "L141", "receiver": "resp"}, {"caller_nid": "$graphify-root$_src_data_seoul_citydata_client_seoulcitydataclient_get", "callee": "ValueError", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "src/data/seoul_citydata_client.py", "source_location": "L142"}, {"caller_nid": "$graphify-root$_src_data_seoul_citydata_client_seoulcitydataclient_get", "callee": "get", "is_member_call": true, "source_file": "src/data/seoul_citydata_client.py", "source_location": "L160", "receiver": "CONGEST_SCORE_MAP"}, {"caller_nid": "$graphify-root$_src_data_seoul_citydata_client_seoulcitydataclient_get_at", "callee": "strftime", "is_member_call": true, "source_file": "src/data/seoul_citydata_client.py", "source_location": "L182", "receiver": null}, {"caller_nid": "$graphify-root$_src_data_seoul_citydata_client_seoulcitydataclient_get_at", "callee": "now", "is_member_call": true, "source_file": "src/data/seoul_citydata_client.py", "source_location": "L182", "receiver": "datetime"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/7086528e6754f06ea0cdfd2f5caf3899f17a27a890e9f30113e5e215c79944fb.json b/graphify-out/cache/ast/v0.9.31/7086528e6754f06ea0cdfd2f5caf3899f17a27a890e9f30113e5e215c79944fb.json new file mode 100644 index 0000000..bd2b819 --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/7086528e6754f06ea0cdfd2f5caf3899f17a27a890e9f30113e5e215c79944fb.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_src_api_schemas_py", "label": "schemas.py", "file_type": "code", "source_file": "src/api/schemas.py", "source_location": "L1"}, {"id": "$graphify-root$_src_api_schemas_placeinputweb", "label": "PlaceInputWeb", "file_type": "code", "source_file": "src/api/schemas.py", "source_location": "L9", "_callable": true, "_callable_class": true}, {"id": "basemodel", "label": "BaseModel", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/api/schemas.py"}, {"id": "$graphify-root$_src_api_schemas_dayplanweb", "label": "DayPlanWeb", "file_type": "code", "source_file": "src/api/schemas.py", "source_location": "L14", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_src_api_schemas_poiinfo", "label": "POIInfo", "file_type": "code", "source_file": "src/api/schemas.py", "source_location": "L18", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_src_api_schemas_placeitem", "label": "PlaceItem", "file_type": "code", "source_file": "src/api/schemas.py", "source_location": "L37", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_src_api_schemas_placesresponse", "label": "PlacesResponse", "file_type": "code", "source_file": "src/api/schemas.py", "source_location": "L49", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_src_api_schemas_validaterequest", "label": "ValidateRequest", "file_type": "code", "source_file": "src/api/schemas.py", "source_location": "L54", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_src_api_schemas_parsetextrequest", "label": "ParseTextRequest", "file_type": "code", "source_file": "src/api/schemas.py", "source_location": "L64", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_src_api_schemas_parsedplace", "label": "ParsedPlace", "file_type": "code", "source_file": "src/api/schemas.py", "source_location": "L68", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_src_api_schemas_parsedday", "label": "ParsedDay", "file_type": "code", "source_file": "src/api/schemas.py", "source_location": "L74", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_src_api_schemas_parsedplanresponse", "label": "ParsedPlanResponse", "file_type": "code", "source_file": "src/api/schemas.py", "source_location": "L78", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_src_api_schemas_validateresponse", "label": "ValidateResponse", "file_type": "code", "source_file": "src/api/schemas.py", "source_location": "L82", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_src_api_schemas_rationale_1", "label": "API \uc694\uccad/\uc751\ub2f5 Pydantic \uc2a4\ud0a4\ub9c8.", "file_type": "rationale", "source_file": "src/api/schemas.py", "source_location": "L1"}], "edges": [{"source": "$graphify-root$_src_api_schemas_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/api/schemas.py", "source_location": "L4", "weight": 1.0}, {"source": "$graphify-root$_src_api_schemas_py", "target": "pydantic", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/api/schemas.py", "source_location": "L6", "weight": 1.0}, {"source": "$graphify-root$_src_api_schemas_py", "target": "$graphify-root$_src_api_schemas_placeinputweb", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/api/schemas.py", "source_location": "L9", "weight": 1.0}, {"source": "$graphify-root$_src_api_schemas_placeinputweb", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "src/api/schemas.py", "source_location": "L9", "weight": 1.0}, {"source": "$graphify-root$_src_api_schemas_py", "target": "$graphify-root$_src_api_schemas_dayplanweb", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/api/schemas.py", "source_location": "L14", "weight": 1.0}, {"source": "$graphify-root$_src_api_schemas_dayplanweb", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "src/api/schemas.py", "source_location": "L14", "weight": 1.0}, {"source": "$graphify-root$_src_api_schemas_py", "target": "$graphify-root$_src_api_schemas_poiinfo", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/api/schemas.py", "source_location": "L18", "weight": 1.0}, {"source": "$graphify-root$_src_api_schemas_poiinfo", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "src/api/schemas.py", "source_location": "L18", "weight": 1.0}, {"source": "$graphify-root$_src_api_schemas_py", "target": "$graphify-root$_src_api_schemas_placeitem", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/api/schemas.py", "source_location": "L37", "weight": 1.0}, {"source": "$graphify-root$_src_api_schemas_placeitem", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "src/api/schemas.py", "source_location": "L37", "weight": 1.0}, {"source": "$graphify-root$_src_api_schemas_py", "target": "$graphify-root$_src_api_schemas_placesresponse", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/api/schemas.py", "source_location": "L49", "weight": 1.0}, {"source": "$graphify-root$_src_api_schemas_placesresponse", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "src/api/schemas.py", "source_location": "L49", "weight": 1.0}, {"source": "$graphify-root$_src_api_schemas_py", "target": "$graphify-root$_src_api_schemas_validaterequest", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/api/schemas.py", "source_location": "L54", "weight": 1.0}, {"source": "$graphify-root$_src_api_schemas_validaterequest", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "src/api/schemas.py", "source_location": "L54", "weight": 1.0}, {"source": "$graphify-root$_src_api_schemas_py", "target": "$graphify-root$_src_api_schemas_parsetextrequest", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/api/schemas.py", "source_location": "L64", "weight": 1.0}, {"source": "$graphify-root$_src_api_schemas_parsetextrequest", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "src/api/schemas.py", "source_location": "L64", "weight": 1.0}, {"source": "$graphify-root$_src_api_schemas_py", "target": "$graphify-root$_src_api_schemas_parsedplace", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/api/schemas.py", "source_location": "L68", "weight": 1.0}, {"source": "$graphify-root$_src_api_schemas_parsedplace", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "src/api/schemas.py", "source_location": "L68", "weight": 1.0}, {"source": "$graphify-root$_src_api_schemas_py", "target": "$graphify-root$_src_api_schemas_parsedday", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/api/schemas.py", "source_location": "L74", "weight": 1.0}, {"source": "$graphify-root$_src_api_schemas_parsedday", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "src/api/schemas.py", "source_location": "L74", "weight": 1.0}, {"source": "$graphify-root$_src_api_schemas_py", "target": "$graphify-root$_src_api_schemas_parsedplanresponse", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/api/schemas.py", "source_location": "L78", "weight": 1.0}, {"source": "$graphify-root$_src_api_schemas_parsedplanresponse", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "src/api/schemas.py", "source_location": "L78", "weight": 1.0}, {"source": "$graphify-root$_src_api_schemas_py", "target": "$graphify-root$_src_api_schemas_validateresponse", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/api/schemas.py", "source_location": "L82", "weight": 1.0}, {"source": "$graphify-root$_src_api_schemas_validateresponse", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "src/api/schemas.py", "source_location": "L82", "weight": 1.0}, {"source": "$graphify-root$_src_api_schemas_rationale_1", "target": "$graphify-root$_src_api_schemas_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/api/schemas.py", "source_location": "L1", "weight": 1.0}], "raw_calls": []} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/73da2dca800e902c041726e4a76f0e5458e6998686b640dfeee456a5e1e38df4.json b/graphify-out/cache/ast/v0.9.31/73da2dca800e902c041726e4a76f0e5458e6998686b640dfeee456a5e1e38df4.json new file mode 100644 index 0000000..f276388 --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/73da2dca800e902c041726e4a76f0e5458e6998686b640dfeee456a5e1e38df4.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_scripts_test_pipeline_py", "label": "test_pipeline.py", "file_type": "code", "source_file": "scripts/test_pipeline.py", "source_location": "L1"}, {"id": "$graphify-root$_scripts_test_pipeline_guess_coords", "label": "_guess_coords()", "file_type": "code", "source_file": "scripts/test_pipeline.py", "source_location": "L103", "_callable": true}, {"id": "$graphify-root$_scripts_test_pipeline_guess_category", "label": "_guess_category()", "file_type": "code", "source_file": "scripts/test_pipeline.py", "source_location": "L115", "_callable": true}, {"id": "$graphify-root$_scripts_test_pipeline_guess_duration", "label": "_guess_duration()", "file_type": "code", "source_file": "scripts/test_pipeline.py", "source_location": "L122", "_callable": true}, {"id": "$graphify-root$_scripts_test_pipeline_is_accommodation", "label": "_is_accommodation()", "file_type": "code", "source_file": "scripts/test_pipeline.py", "source_location": "L129", "_callable": true}, {"id": "$graphify-root$_scripts_test_pipeline_parse_places", "label": "_parse_places()", "file_type": "code", "source_file": "scripts/test_pipeline.py", "source_location": "L134", "_callable": true}, {"id": "$graphify-root$_scripts_test_pipeline_trip_days", "label": "_trip_days()", "file_type": "code", "source_file": "scripts/test_pipeline.py", "source_location": "L147", "_callable": true}, {"id": "$graphify-root$_scripts_test_pipeline_party_type_from_triple", "label": "_party_type_from_triple()", "file_type": "code", "source_file": "scripts/test_pipeline.py", "source_location": "L158", "_callable": true}, {"id": "$graphify-root$_scripts_test_pipeline_travel_type_from_theme", "label": "_travel_type_from_theme()", "file_type": "code", "source_file": "scripts/test_pipeline.py", "source_location": "L175", "_callable": true}, {"id": "$graphify-root$_scripts_test_pipeline_make_poi", "label": "_make_poi()", "file_type": "code", "source_file": "scripts/test_pipeline.py", "source_location": "L191", "_callable": true}, {"id": "poi", "label": "POI", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/scripts/test_pipeline.py"}, {"id": "$graphify-root$_scripts_test_pipeline_load_gugseok", "label": "load_gugseok()", "file_type": "code", "source_file": "scripts/test_pipeline.py", "source_location": "L213", "_callable": true}, {"id": "$graphify-root$_scripts_test_pipeline_load_triple", "label": "load_triple()", "file_type": "code", "source_file": "scripts/test_pipeline.py", "source_location": "L251", "_callable": true}, {"id": "$graphify-root$_scripts_test_pipeline_build_itinerary", "label": "_build_itinerary()", "file_type": "code", "source_file": "scripts/test_pipeline.py", "source_location": "L277", "_callable": true}, {"id": "itineraryplan", "label": "ItineraryPlan", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/scripts/test_pipeline.py"}, {"id": "$graphify-root$_scripts_test_pipeline_run_pipeline", "label": "run_pipeline()", "file_type": "code", "source_file": "scripts/test_pipeline.py", "source_location": "L356", "_callable": true}, {"id": "$graphify-root$_scripts_test_pipeline_main", "label": "main()", "file_type": "code", "source_file": "scripts/test_pipeline.py", "source_location": "L408", "_callable": true}, {"id": "$graphify-root$_scripts_test_pipeline_rationale_1", "label": "\ud30c\uc774\ud504\ub77c\uc778 QA \ud14c\uc2a4\ud2b8 \u2014 xlsx \uc0d8\ud50c \ub370\uc774\ud130\ub85c HardFail/Warning/Score \uac80\uc99d.", "file_type": "rationale", "source_file": "scripts/test_pipeline.py", "source_location": "L1"}, {"id": "$graphify-root$_scripts_test_pipeline_rationale_104", "label": "\uc88c\ud45c \ud14c\uc774\ube14 \uc870\ud68c \u2192 \uc5c6\uc73c\uba74 \uc81c\uc8fc \uc911\uc2ec \uc88c\ud45c \ud3f4\ubc31.", "file_type": "rationale", "source_file": "scripts/test_pipeline.py", "source_location": "L104"}, {"id": "$graphify-root$_scripts_test_pipeline_rationale_135", "label": "1.\uc7a5\uc18c\uba85, 2.\uc7a5\uc18c\uba85' \u2192 ['\uc7a5\uc18c\uba85', '\uc7a5\uc18c\uba85'] (\uc22b\uc790 \uc811\ub450\uc0ac \uc81c\uac70).", "file_type": "rationale", "source_file": "scripts/test_pipeline.py", "source_location": "L135"}, {"id": "$graphify-root$_scripts_test_pipeline_rationale_214", "label": "\uad6c\uc11d\uad6c\uc11d xlsx \u2192 \uc0d8\ud50c ItineraryPlan \uc7ac\ub8cc \ubaa9\ub85d.", "file_type": "rationale", "source_file": "scripts/test_pipeline.py", "source_location": "L214"}, {"id": "$graphify-root$_scripts_test_pipeline_rationale_252", "label": "\ud2b8\ub9ac\ud50c xlsx \u2192 \uc0d8\ud50c ItineraryPlan \uc7ac\ub8cc \ubaa9\ub85d.", "file_type": "rationale", "source_file": "scripts/test_pipeline.py", "source_location": "L252"}, {"id": "$graphify-root$_scripts_test_pipeline_rationale_278", "label": "\uc0d8\ud50c dict \u2192 (ItineraryPlan, per-day POI lists). \ub2e4\uc77c(multi-day) \uc5f0\uc18d\uc131: Day N \uc758 \ub9c8\uc9c0\ub9c9\u2026", "file_type": "rationale", "source_file": "scripts/test_pipeline.py", "source_location": "L278"}], "edges": [{"source": "$graphify-root$_scripts_test_pipeline_py", "target": "re", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/test_pipeline.py", "source_location": "L4", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_pipeline_py", "target": "sys", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/test_pipeline.py", "source_location": "L5", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_pipeline_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/test_pipeline.py", "source_location": "L6", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_pipeline_py", "target": "pandas", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/test_pipeline.py", "source_location": "L8", "weight": 1.0, "local_alias": "pd"}, {"source": "$graphify-root$_scripts_test_pipeline_py", "target": "src_data_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/test_pipeline.py", "source_location": "L12", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_pipeline_py", "target": "src_validation_hard_fail", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/test_pipeline.py", "source_location": "L13", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_pipeline_py", "target": "src_validation_warning", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/test_pipeline.py", "source_location": "L14", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_pipeline_py", "target": "src_validation_scoring", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/test_pipeline.py", "source_location": "L15", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_pipeline_py", "target": "$graphify-root$_scripts_test_pipeline_guess_coords", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/test_pipeline.py", "source_location": "L103", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_pipeline_py", "target": "$graphify-root$_scripts_test_pipeline_guess_category", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/test_pipeline.py", "source_location": "L115", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_pipeline_py", "target": "$graphify-root$_scripts_test_pipeline_guess_duration", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/test_pipeline.py", "source_location": "L122", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_pipeline_py", "target": "$graphify-root$_scripts_test_pipeline_is_accommodation", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/test_pipeline.py", "source_location": "L129", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_pipeline_py", "target": "$graphify-root$_scripts_test_pipeline_parse_places", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/test_pipeline.py", "source_location": "L134", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_pipeline_py", "target": "$graphify-root$_scripts_test_pipeline_trip_days", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/test_pipeline.py", "source_location": "L147", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_pipeline_py", "target": "$graphify-root$_scripts_test_pipeline_party_type_from_triple", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/test_pipeline.py", "source_location": "L158", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_pipeline_py", "target": "$graphify-root$_scripts_test_pipeline_travel_type_from_theme", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/test_pipeline.py", "source_location": "L175", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_pipeline_py", "target": "$graphify-root$_scripts_test_pipeline_make_poi", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/test_pipeline.py", "source_location": "L191", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_pipeline_make_poi", "target": "poi", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "scripts/test_pipeline.py", "source_location": "L191", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_pipeline_py", "target": "$graphify-root$_scripts_test_pipeline_load_gugseok", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/test_pipeline.py", "source_location": "L213", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_pipeline_py", "target": "$graphify-root$_scripts_test_pipeline_load_triple", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/test_pipeline.py", "source_location": "L251", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_pipeline_py", "target": "$graphify-root$_scripts_test_pipeline_build_itinerary", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/test_pipeline.py", "source_location": "L277", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_pipeline_build_itinerary", "target": "itineraryplan", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "scripts/test_pipeline.py", "source_location": "L277", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_pipeline_build_itinerary", "target": "poi", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "scripts/test_pipeline.py", "source_location": "L277", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_pipeline_py", "target": "$graphify-root$_scripts_test_pipeline_run_pipeline", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/test_pipeline.py", "source_location": "L356", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_pipeline_py", "target": "$graphify-root$_scripts_test_pipeline_main", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/test_pipeline.py", "source_location": "L408", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_pipeline_make_poi", "target": "$graphify-root$_scripts_test_pipeline_guess_coords", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/test_pipeline.py", "source_location": "L192", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_pipeline_make_poi", "target": "$graphify-root$_scripts_test_pipeline_guess_category", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/test_pipeline.py", "source_location": "L193", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_pipeline_make_poi", "target": "$graphify-root$_scripts_test_pipeline_guess_duration", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/test_pipeline.py", "source_location": "L194", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_pipeline_make_poi", "target": "poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/test_pipeline.py", "source_location": "L197", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_pipeline_load_gugseok", "target": "$graphify-root$_scripts_test_pipeline_parse_places", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/test_pipeline.py", "source_location": "L227", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_pipeline_load_triple", "target": "$graphify-root$_scripts_test_pipeline_parse_places", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/test_pipeline.py", "source_location": "L259", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_pipeline_build_itinerary", "target": "$graphify-root$_scripts_test_pipeline_trip_days", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/test_pipeline.py", "source_location": "L285", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_pipeline_build_itinerary", "target": "$graphify-root$_scripts_test_pipeline_party_type_from_triple", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/test_pipeline.py", "source_location": "L288", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_pipeline_build_itinerary", "target": "$graphify-root$_scripts_test_pipeline_travel_type_from_theme", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/test_pipeline.py", "source_location": "L292", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_pipeline_build_itinerary", "target": "$graphify-root$_scripts_test_pipeline_make_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/test_pipeline.py", "source_location": "L312", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_pipeline_build_itinerary", "target": "poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/test_pipeline.py", "source_location": "L330", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_pipeline_build_itinerary", "target": "itineraryplan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/test_pipeline.py", "source_location": "L342", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_pipeline_run_pipeline", "target": "$graphify-root$_scripts_test_pipeline_build_itinerary", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/test_pipeline.py", "source_location": "L362", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_pipeline_run_pipeline", "target": "itineraryplan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/test_pipeline.py", "source_location": "L375", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_pipeline_main", "target": "$graphify-root$_scripts_test_pipeline_load_gugseok", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/test_pipeline.py", "source_location": "L415", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_pipeline_main", "target": "$graphify-root$_scripts_test_pipeline_run_pipeline", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/test_pipeline.py", "source_location": "L416", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_pipeline_main", "target": "$graphify-root$_scripts_test_pipeline_load_triple", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/test_pipeline.py", "source_location": "L421", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_pipeline_rationale_1", "target": "$graphify-root$_scripts_test_pipeline_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "scripts/test_pipeline.py", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_pipeline_rationale_104", "target": "$graphify-root$_scripts_test_pipeline_guess_coords", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "scripts/test_pipeline.py", "source_location": "L104", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_pipeline_rationale_135", "target": "$graphify-root$_scripts_test_pipeline_parse_places", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "scripts/test_pipeline.py", "source_location": "L135", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_pipeline_rationale_214", "target": "$graphify-root$_scripts_test_pipeline_load_gugseok", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "scripts/test_pipeline.py", "source_location": "L214", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_pipeline_rationale_252", "target": "$graphify-root$_scripts_test_pipeline_load_triple", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "scripts/test_pipeline.py", "source_location": "L252", "weight": 1.0}, {"source": "$graphify-root$_scripts_test_pipeline_rationale_278", "target": "$graphify-root$_scripts_test_pipeline_build_itinerary", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "scripts/test_pipeline.py", "source_location": "L278", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_scripts_test_pipeline_guess_coords", "callee": "COORD_TABLE", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/test_pipeline.py", "source_location": "L109"}, {"caller_nid": "$graphify-root$_scripts_test_pipeline_guess_coords", "callee": "len", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/test_pipeline.py", "source_location": "L109"}, {"caller_nid": "$graphify-root$_scripts_test_pipeline_guess_category", "callee": "items", "is_member_call": true, "source_file": "scripts/test_pipeline.py", "source_location": "L116", "receiver": "CATEGORY_MAP"}, {"caller_nid": "$graphify-root$_scripts_test_pipeline_guess_duration", "callee": "items", "is_member_call": true, "source_file": "scripts/test_pipeline.py", "source_location": "L123", "receiver": "DURATION_HINTS"}, {"caller_nid": "$graphify-root$_scripts_test_pipeline_parse_places", "callee": "str", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/test_pipeline.py", "source_location": "L136"}, {"caller_nid": "$graphify-root$_scripts_test_pipeline_parse_places", "callee": "split", "is_member_call": true, "source_file": "scripts/test_pipeline.py", "source_location": "L138", "receiver": "re"}, {"caller_nid": "$graphify-root$_scripts_test_pipeline_parse_places", "callee": "strip", "is_member_call": true, "source_file": "scripts/test_pipeline.py", "source_location": "L138", "receiver": "cell"}, {"caller_nid": "$graphify-root$_scripts_test_pipeline_parse_places", "callee": "strip", "is_member_call": true, "source_file": "scripts/test_pipeline.py", "source_location": "L141", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_test_pipeline_parse_places", "callee": "sub", "is_member_call": true, "source_file": "scripts/test_pipeline.py", "source_location": "L141", "receiver": "re"}, {"caller_nid": "$graphify-root$_scripts_test_pipeline_parse_places", "callee": "append", "is_member_call": true, "source_file": "scripts/test_pipeline.py", "source_location": "L143", "receiver": "names"}, {"caller_nid": "$graphify-root$_scripts_test_pipeline_trip_days", "callee": "str", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/test_pipeline.py", "source_location": "L148"}, {"caller_nid": "$graphify-root$_scripts_test_pipeline_trip_days", "callee": "search", "is_member_call": true, "source_file": "scripts/test_pipeline.py", "source_location": "L150", "receiver": "re"}, {"caller_nid": "$graphify-root$_scripts_test_pipeline_trip_days", "callee": "group", "is_member_call": true, "source_file": "scripts/test_pipeline.py", "source_location": "L152", "receiver": "m"}, {"caller_nid": "$graphify-root$_scripts_test_pipeline_party_type_from_triple", "callee": "str", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/test_pipeline.py", "source_location": "L159"}, {"caller_nid": "$graphify-root$_scripts_test_pipeline_party_type_from_triple", "callee": "lower", "is_member_call": true, "source_file": "scripts/test_pipeline.py", "source_location": "L161", "receiver": "\ub204\uad6c\uc640"}, {"caller_nid": "$graphify-root$_scripts_test_pipeline_travel_type_from_theme", "callee": "str", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/test_pipeline.py", "source_location": "L176"}, {"caller_nid": "$graphify-root$_scripts_test_pipeline_load_gugseok", "callee": "read_excel", "is_member_call": true, "source_file": "scripts/test_pipeline.py", "source_location": "L215", "receiver": "pd"}, {"caller_nid": "$graphify-root$_scripts_test_pipeline_load_gugseok", "callee": "iterrows", "is_member_call": true, "source_file": "scripts/test_pipeline.py", "source_location": "L219", "receiver": "df"}, {"caller_nid": "$graphify-root$_scripts_test_pipeline_load_gugseok", "callee": "get", "is_member_call": true, "source_file": "scripts/test_pipeline.py", "source_location": "L220", "receiver": "row"}, {"caller_nid": "$graphify-root$_scripts_test_pipeline_load_gugseok", "callee": "notna", "is_member_call": true, "source_file": "scripts/test_pipeline.py", "source_location": "L221", "receiver": "pd"}, {"caller_nid": "$graphify-root$_scripts_test_pipeline_load_gugseok", "callee": "get", "is_member_call": true, "source_file": "scripts/test_pipeline.py", "source_location": "L222", "receiver": "current"}, {"caller_nid": "$graphify-root$_scripts_test_pipeline_load_gugseok", "callee": "append", "is_member_call": true, "source_file": "scripts/test_pipeline.py", "source_location": "L223", "receiver": "results"}, {"caller_nid": "$graphify-root$_scripts_test_pipeline_load_gugseok", "callee": "startswith", "is_member_call": true, "source_file": "scripts/test_pipeline.py", "source_location": "L226", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_test_pipeline_load_gugseok", "callee": "get", "is_member_call": true, "source_file": "scripts/test_pipeline.py", "source_location": "L227", "receiver": "row"}, {"caller_nid": "$graphify-root$_scripts_test_pipeline_load_gugseok", "callee": "get", "is_member_call": true, "source_file": "scripts/test_pipeline.py", "source_location": "L231", "receiver": "row"}, {"caller_nid": "$graphify-root$_scripts_test_pipeline_load_gugseok", "callee": "get", "is_member_call": true, "source_file": "scripts/test_pipeline.py", "source_location": "L232", "receiver": "row"}, {"caller_nid": "$graphify-root$_scripts_test_pipeline_load_gugseok", "callee": "get", "is_member_call": true, "source_file": "scripts/test_pipeline.py", "source_location": "L233", "receiver": "row"}, {"caller_nid": "$graphify-root$_scripts_test_pipeline_load_gugseok", "callee": "get", "is_member_call": true, "source_file": "scripts/test_pipeline.py", "source_location": "L234", "receiver": "row"}, {"caller_nid": "$graphify-root$_scripts_test_pipeline_load_gugseok", "callee": "get", "is_member_call": true, "source_file": "scripts/test_pipeline.py", "source_location": "L239", "receiver": "row"}, {"caller_nid": "$graphify-root$_scripts_test_pipeline_load_gugseok", "callee": "startswith", "is_member_call": true, "source_file": "scripts/test_pipeline.py", "source_location": "L241", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_test_pipeline_load_gugseok", "callee": "get", "is_member_call": true, "source_file": "scripts/test_pipeline.py", "source_location": "L243", "receiver": "row"}, {"caller_nid": "$graphify-root$_scripts_test_pipeline_load_gugseok", "callee": "extend", "is_member_call": true, "source_file": "scripts/test_pipeline.py", "source_location": "L244", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_test_pipeline_load_gugseok", "callee": "get", "is_member_call": true, "source_file": "scripts/test_pipeline.py", "source_location": "L246", "receiver": "current"}, {"caller_nid": "$graphify-root$_scripts_test_pipeline_load_gugseok", "callee": "append", "is_member_call": true, "source_file": "scripts/test_pipeline.py", "source_location": "L247", "receiver": "results"}, {"caller_nid": "$graphify-root$_scripts_test_pipeline_load_triple", "callee": "read_excel", "is_member_call": true, "source_file": "scripts/test_pipeline.py", "source_location": "L253", "receiver": "pd"}, {"caller_nid": "$graphify-root$_scripts_test_pipeline_load_triple", "callee": "reset_index", "is_member_call": true, "source_file": "scripts/test_pipeline.py", "source_location": "L254", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_test_pipeline_load_triple", "callee": "startswith", "is_member_call": true, "source_file": "scripts/test_pipeline.py", "source_location": "L255", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_test_pipeline_load_triple", "callee": "iterrows", "is_member_call": true, "source_file": "scripts/test_pipeline.py", "source_location": "L258", "receiver": "korean"}, {"caller_nid": "$graphify-root$_scripts_test_pipeline_load_triple", "callee": "get", "is_member_call": true, "source_file": "scripts/test_pipeline.py", "source_location": "L259", "receiver": "row"}, {"caller_nid": "$graphify-root$_scripts_test_pipeline_load_triple", "callee": "append", "is_member_call": true, "source_file": "scripts/test_pipeline.py", "source_location": "L262", "receiver": "results"}, {"caller_nid": "$graphify-root$_scripts_test_pipeline_load_triple", "callee": "get", "is_member_call": true, "source_file": "scripts/test_pipeline.py", "source_location": "L264", "receiver": "row"}, {"caller_nid": "$graphify-root$_scripts_test_pipeline_load_triple", "callee": "get", "is_member_call": true, "source_file": "scripts/test_pipeline.py", "source_location": "L265", "receiver": "row"}, {"caller_nid": "$graphify-root$_scripts_test_pipeline_load_triple", "callee": "get", "is_member_call": true, "source_file": "scripts/test_pipeline.py", "source_location": "L266", "receiver": "row"}, {"caller_nid": "$graphify-root$_scripts_test_pipeline_load_triple", "callee": "get", "is_member_call": true, "source_file": "scripts/test_pipeline.py", "source_location": "L267", "receiver": "row"}, {"caller_nid": "$graphify-root$_scripts_test_pipeline_load_triple", "callee": "get", "is_member_call": true, "source_file": "scripts/test_pipeline.py", "source_location": "L268", "receiver": "row"}, {"caller_nid": "$graphify-root$_scripts_test_pipeline_build_itinerary", "callee": "get", "is_member_call": true, "source_file": "scripts/test_pipeline.py", "source_location": "L288", "receiver": "sample"}, {"caller_nid": "$graphify-root$_scripts_test_pipeline_build_itinerary", "callee": "get", "is_member_call": true, "source_file": "scripts/test_pipeline.py", "source_location": "L292", "receiver": "sample"}, {"caller_nid": "$graphify-root$_scripts_test_pipeline_build_itinerary", "callee": "get", "is_member_call": true, "source_file": "scripts/test_pipeline.py", "source_location": "L302", "receiver": "sample"}, {"caller_nid": "$graphify-root$_scripts_test_pipeline_build_itinerary", "callee": "append", "is_member_call": true, "source_file": "scripts/test_pipeline.py", "source_location": "L308", "receiver": "day_last_accom"}, {"caller_nid": "$graphify-root$_scripts_test_pipeline_build_itinerary", "callee": "PlaceInput", "is_member_call": false, "source_file": "scripts/test_pipeline.py", "source_location": "L311", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_test_pipeline_build_itinerary", "callee": "append", "is_member_call": true, "source_file": "scripts/test_pipeline.py", "source_location": "L314", "receiver": "day_plans"}, {"caller_nid": "$graphify-root$_scripts_test_pipeline_build_itinerary", "callee": "DayPlan", "is_member_call": false, "source_file": "scripts/test_pipeline.py", "source_location": "L314", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_test_pipeline_build_itinerary", "callee": "append", "is_member_call": true, "source_file": "scripts/test_pipeline.py", "source_location": "L315", "receiver": "per_day_pois"}, {"caller_nid": "$graphify-root$_scripts_test_pipeline_build_itinerary", "callee": "append", "is_member_call": true, "source_file": "scripts/test_pipeline.py", "source_location": "L319", "receiver": "day_last_accom"}, {"caller_nid": "$graphify-root$_scripts_test_pipeline_build_itinerary", "callee": "append", "is_member_call": true, "source_file": "scripts/test_pipeline.py", "source_location": "L322", "receiver": "day_plans"}, {"caller_nid": "$graphify-root$_scripts_test_pipeline_build_itinerary", "callee": "DayPlan", "is_member_call": false, "source_file": "scripts/test_pipeline.py", "source_location": "L322", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_test_pipeline_build_itinerary", "callee": "PlaceInput", "is_member_call": false, "source_file": "scripts/test_pipeline.py", "source_location": "L322", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_test_pipeline_build_itinerary", "callee": "append", "is_member_call": true, "source_file": "scripts/test_pipeline.py", "source_location": "L323", "receiver": "per_day_pois"}, {"caller_nid": "$graphify-root$_scripts_test_pipeline_build_itinerary", "callee": "append", "is_member_call": true, "source_file": "scripts/test_pipeline.py", "source_location": "L324", "receiver": "day_last_accom"}, {"caller_nid": "$graphify-root$_scripts_test_pipeline_build_itinerary", "callee": "insert", "is_member_call": true, "source_file": "scripts/test_pipeline.py", "source_location": "L340", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_test_pipeline_run_pipeline", "callee": "get", "is_member_call": true, "source_file": "scripts/test_pipeline.py", "source_location": "L360", "receiver": "sample"}, {"caller_nid": "$graphify-root$_scripts_test_pipeline_run_pipeline", "callee": "get", "is_member_call": true, "source_file": "scripts/test_pipeline.py", "source_location": "L360", "receiver": "sample"}, {"caller_nid": "$graphify-root$_scripts_test_pipeline_run_pipeline", "callee": "HardFailDetector", "is_member_call": false, "source_file": "scripts/test_pipeline.py", "source_location": "L366", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_test_pipeline_run_pipeline", "callee": "WarningDetector", "is_member_call": false, "source_file": "scripts/test_pipeline.py", "source_location": "L367", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_test_pipeline_run_pipeline", "callee": "ScoreCalculator", "is_member_call": false, "source_file": "scripts/test_pipeline.py", "source_location": "L368", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_test_pipeline_run_pipeline", "callee": "detect", "is_member_call": true, "source_file": "scripts/test_pipeline.py", "source_location": "L384", "receiver": "detector_hf"}, {"caller_nid": "$graphify-root$_scripts_test_pipeline_run_pipeline", "callee": "detect", "is_member_call": true, "source_file": "scripts/test_pipeline.py", "source_location": "L385", "receiver": "detector_warn"}, {"caller_nid": "$graphify-root$_scripts_test_pipeline_run_pipeline", "callee": "compute", "is_member_call": true, "source_file": "scripts/test_pipeline.py", "source_location": "L386", "receiver": "scorer"}, {"caller_nid": "$graphify-root$_scripts_test_pipeline_run_pipeline", "callee": "extend", "is_member_call": true, "source_file": "scripts/test_pipeline.py", "source_location": "L387", "receiver": "all_hard_fails"}, {"caller_nid": "$graphify-root$_scripts_test_pipeline_run_pipeline", "callee": "extend", "is_member_call": true, "source_file": "scripts/test_pipeline.py", "source_location": "L388", "receiver": "all_warnings"}, {"caller_nid": "$graphify-root$_scripts_test_pipeline_run_pipeline", "callee": "append", "is_member_call": true, "source_file": "scripts/test_pipeline.py", "source_location": "L389", "receiver": "all_scores"}, {"caller_nid": "$graphify-root$_scripts_test_pipeline_run_pipeline", "callee": "join", "is_member_call": true, "source_file": "scripts/test_pipeline.py", "source_location": "L391", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_test_pipeline_main", "callee": "Path", "is_member_call": false, "source_file": "scripts/test_pipeline.py", "source_location": "L409", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_test_pipeline_main", "callee": "__file__", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/test_pipeline.py", "source_location": "L409"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/746211cf1105bf95334ae8d58345e89cff39469079546d60fa716d745faa3af4.json b/graphify-out/cache/ast/v0.9.31/746211cf1105bf95334ae8d58345e89cff39469079546d60fa716d745faa3af4.json new file mode 100644 index 0000000..98fa760 --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/746211cf1105bf95334ae8d58345e89cff39469079546d60fa716d745faa3af4.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_phases_0_setup_analyze_triple_py", "label": "analyze_triple.py", "file_type": "code", "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L1"}, {"id": "$graphify-root$_phases_0_setup_analyze_triple_load_env", "label": "_load_env()", "file_type": "code", "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L12", "_callable": true}, {"id": "$graphify-root$_phases_0_setup_analyze_triple_parse_numbered", "label": "parse_numbered()", "file_type": "code", "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L68", "_callable": true}, {"id": "$graphify-root$_phases_0_setup_analyze_triple_geocode_tourapi", "label": "geocode_tourapi()", "file_type": "code", "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L159", "_callable": true}, {"id": "$graphify-root$_phases_0_setup_analyze_triple_geocode_kakao_local", "label": "geocode_kakao_local()", "file_type": "code", "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L182", "_callable": true}, {"id": "$graphify-root$_phases_0_setup_analyze_triple_geocode_nominatim", "label": "geocode_nominatim()", "file_type": "code", "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L206", "_callable": true}, {"id": "$graphify-root$_phases_0_setup_analyze_triple_geocode_single", "label": "geocode_single()", "file_type": "code", "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L223", "_callable": true}, {"id": "$graphify-root$_phases_0_setup_analyze_triple_haversine", "label": "haversine()", "file_type": "code", "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L265", "_callable": true}, {"id": "$graphify-root$_phases_0_setup_analyze_triple_haversine_travel_sec", "label": "haversine_travel_sec()", "file_type": "code", "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L273", "_callable": true}, {"id": "$graphify-root$_phases_0_setup_analyze_triple_get_travel_time", "label": "get_travel_time()", "file_type": "code", "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L279", "_callable": true}, {"id": "$graphify-root$_phases_0_setup_analyze_triple_cluster_label", "label": "cluster_label()", "file_type": "code", "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L308", "_callable": true}, {"id": "$graphify-root$_phases_0_setup_analyze_triple_percentile", "label": "percentile()", "file_type": "code", "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L388", "_callable": true}, {"id": "$graphify-root$_phases_0_setup_analyze_triple_stats_block", "label": "stats_block()", "file_type": "code", "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L394", "_callable": true}, {"id": "$graphify-root$_phases_0_setup_analyze_triple_rationale_1", "label": "\ud2b8\ub9ac\ud50c \uc571 \ucd94\ucc9c \uacbd\ub85c \ubd84\uc11d \ud30c\uc774\ud504\ub77c\uc778 (\ub300\ud55c\ubbfc\uad6d \ub178\uc120\ub9cc) \uad6c\uc11d\uad6c\uc11d analyze.py\uc640 \ub3d9\uc77c \uc9c0\ud45c\ub97c \uc0b0\ucd9c\ud558\uc5ec \ube44\uad50 \uae30\ubc18 \ub370\uc774\ud130 \uc0dd\uc131", "file_type": "rationale", "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L1"}, {"id": "$graphify-root$_phases_0_setup_analyze_triple_rationale_69", "label": "1.\uc7a5\uc18cA, 3.\uc7a5\uc18cB' \u2192 {1: '\uc7a5\uc18cA', 3: '\uc7a5\uc18cB'}", "file_type": "rationale", "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L69"}, {"id": "$graphify-root$_phases_0_setup_analyze_triple_rationale_183", "label": "Kakao Local API \u2014 \ud604\uc9c0 \uce74\ud398\u00b7\uc2dd\ub2f9\u00b7\uad00\uad11\uc9c0\uae4c\uc9c0 \uad11\ubc94\uc704\ud558\uac8c \ucee4\ubc84. city\ub294 \uc5b8\ub354\uc2a4\ucf54\uc5b4 \ud615\uc2dd('\uac00\ud3c9_\uc591\ud3c9')\uc774\ubbc0\ub85c \ucffc\ub9ac\uc5d0 \ud3ec\ud568\ud558\uc9c0\u2026", "file_type": "rationale", "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L183"}, {"id": "$graphify-root$_phases_0_setup_analyze_triple_rationale_224", "label": "TourAPI \u2192 Kakao Local \u2192 Nominatim \uc21c\uc73c\ub85c \uc2dc\ub3c4 (\ubcd1\ub82c \ud638\ucd9c \uc548\uc804)", "file_type": "rationale", "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L224"}], "edges": [{"source": "$graphify-root$_phases_0_setup_analyze_triple_py", "target": "json", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L5", "weight": 1.0}, {"source": "$graphify-root$_phases_0_setup_analyze_triple_py", "target": "os", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L5", "weight": 1.0}, {"source": "$graphify-root$_phases_0_setup_analyze_triple_py", "target": "re", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L5", "weight": 1.0}, {"source": "$graphify-root$_phases_0_setup_analyze_triple_py", "target": "time", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L5", "weight": 1.0}, {"source": "$graphify-root$_phases_0_setup_analyze_triple_py", "target": "requests", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L5", "weight": 1.0}, {"source": "$graphify-root$_phases_0_setup_analyze_triple_py", "target": "statistics", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L5", "weight": 1.0}, {"source": "$graphify-root$_phases_0_setup_analyze_triple_py", "target": "math", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L5", "weight": 1.0}, {"source": "$graphify-root$_phases_0_setup_analyze_triple_py", "target": "threading", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L5", "weight": 1.0}, {"source": "$graphify-root$_phases_0_setup_analyze_triple_py", "target": "concurrent_futures", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L6", "weight": 1.0}, {"source": "$graphify-root$_phases_0_setup_analyze_triple_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L7", "weight": 1.0}, {"source": "$graphify-root$_phases_0_setup_analyze_triple_py", "target": "$graphify-root$_phases_0_setup_analyze_triple_load_env", "relation": "contains", "confidence": "EXTRACTED", "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L12", "weight": 1.0}, {"source": "$graphify-root$_phases_0_setup_analyze_triple_py", "target": "openpyxl", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L59", "weight": 1.0}, {"source": "$graphify-root$_phases_0_setup_analyze_triple_py", "target": "$graphify-root$_phases_0_setup_analyze_triple_parse_numbered", "relation": "contains", "confidence": "EXTRACTED", "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L68", "weight": 1.0}, {"source": "$graphify-root$_phases_0_setup_analyze_triple_py", "target": "$graphify-root$_phases_0_setup_analyze_triple_geocode_tourapi", "relation": "contains", "confidence": "EXTRACTED", "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L159", "weight": 1.0}, {"source": "$graphify-root$_phases_0_setup_analyze_triple_py", "target": "$graphify-root$_phases_0_setup_analyze_triple_geocode_kakao_local", "relation": "contains", "confidence": "EXTRACTED", "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L182", "weight": 1.0}, {"source": "$graphify-root$_phases_0_setup_analyze_triple_py", "target": "$graphify-root$_phases_0_setup_analyze_triple_geocode_nominatim", "relation": "contains", "confidence": "EXTRACTED", "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L206", "weight": 1.0}, {"source": "$graphify-root$_phases_0_setup_analyze_triple_py", "target": "$graphify-root$_phases_0_setup_analyze_triple_geocode_single", "relation": "contains", "confidence": "EXTRACTED", "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L223", "weight": 1.0}, {"source": "$graphify-root$_phases_0_setup_analyze_triple_py", "target": "$graphify-root$_phases_0_setup_analyze_triple_haversine", "relation": "contains", "confidence": "EXTRACTED", "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L265", "weight": 1.0}, {"source": "$graphify-root$_phases_0_setup_analyze_triple_py", "target": "$graphify-root$_phases_0_setup_analyze_triple_haversine_travel_sec", "relation": "contains", "confidence": "EXTRACTED", "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L273", "weight": 1.0}, {"source": "$graphify-root$_phases_0_setup_analyze_triple_py", "target": "$graphify-root$_phases_0_setup_analyze_triple_get_travel_time", "relation": "contains", "confidence": "EXTRACTED", "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L279", "weight": 1.0}, {"source": "$graphify-root$_phases_0_setup_analyze_triple_py", "target": "$graphify-root$_phases_0_setup_analyze_triple_cluster_label", "relation": "contains", "confidence": "EXTRACTED", "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L308", "weight": 1.0}, {"source": "$graphify-root$_phases_0_setup_analyze_triple_py", "target": "$graphify-root$_phases_0_setup_analyze_triple_percentile", "relation": "contains", "confidence": "EXTRACTED", "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L388", "weight": 1.0}, {"source": "$graphify-root$_phases_0_setup_analyze_triple_py", "target": "$graphify-root$_phases_0_setup_analyze_triple_stats_block", "relation": "contains", "confidence": "EXTRACTED", "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L394", "weight": 1.0}, {"source": "$graphify-root$_phases_0_setup_analyze_triple_geocode_single", "target": "$graphify-root$_phases_0_setup_analyze_triple_geocode_tourapi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L226", "weight": 1.0}, {"source": "$graphify-root$_phases_0_setup_analyze_triple_geocode_single", "target": "$graphify-root$_phases_0_setup_analyze_triple_geocode_kakao_local", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L228", "weight": 1.0}, {"source": "$graphify-root$_phases_0_setup_analyze_triple_geocode_single", "target": "$graphify-root$_phases_0_setup_analyze_triple_geocode_nominatim", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L232", "weight": 1.0}, {"source": "$graphify-root$_phases_0_setup_analyze_triple_haversine_travel_sec", "target": "$graphify-root$_phases_0_setup_analyze_triple_haversine", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L274", "weight": 1.0}, {"source": "$graphify-root$_phases_0_setup_analyze_triple_get_travel_time", "target": "$graphify-root$_phases_0_setup_analyze_triple_haversine_travel_sec", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L305", "weight": 1.0}, {"source": "$graphify-root$_phases_0_setup_analyze_triple_stats_block", "target": "$graphify-root$_phases_0_setup_analyze_triple_percentile", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L402", "weight": 1.0}, {"source": "$graphify-root$_phases_0_setup_analyze_triple_rationale_1", "target": "$graphify-root$_phases_0_setup_analyze_triple_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_phases_0_setup_analyze_triple_rationale_69", "target": "$graphify-root$_phases_0_setup_analyze_triple_parse_numbered", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L69", "weight": 1.0}, {"source": "$graphify-root$_phases_0_setup_analyze_triple_rationale_183", "target": "$graphify-root$_phases_0_setup_analyze_triple_geocode_kakao_local", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L183", "weight": 1.0}, {"source": "$graphify-root$_phases_0_setup_analyze_triple_rationale_224", "target": "$graphify-root$_phases_0_setup_analyze_triple_geocode_single", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L224", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_phases_0_setup_analyze_triple_load_env", "callee": "resolve", "is_member_call": true, "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L13", "receiver": null}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_triple_load_env", "callee": "Path", "is_member_call": false, "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L13", "receiver": null}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_triple_load_env", "callee": "__file__", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L13"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_triple_load_env", "callee": "exists", "is_member_call": true, "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L14", "receiver": "env_path"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_triple_load_env", "callee": "splitlines", "is_member_call": true, "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L15", "receiver": null}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_triple_load_env", "callee": "read_text", "is_member_call": true, "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L15", "receiver": "env_path"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_triple_load_env", "callee": "strip", "is_member_call": true, "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L16", "receiver": "line"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_triple_load_env", "callee": "startswith", "is_member_call": true, "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L17", "receiver": "line"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_triple_load_env", "callee": "partition", "is_member_call": true, "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L18", "receiver": "line"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_triple_load_env", "callee": "setdefault", "is_member_call": true, "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L19", "receiver": null}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_triple_load_env", "callee": "strip", "is_member_call": true, "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L19", "receiver": "k"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_triple_load_env", "callee": "strip", "is_member_call": true, "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L19", "receiver": "v"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_triple_parse_numbered", "callee": "split", "is_member_call": true, "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L74", "receiver": "re"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_triple_parse_numbered", "callee": "strip", "is_member_call": true, "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L76", "receiver": "part"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_triple_parse_numbered", "callee": "match", "is_member_call": true, "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L77", "receiver": "re"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_triple_parse_numbered", "callee": "group", "is_member_call": true, "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L79", "receiver": "m"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_triple_parse_numbered", "callee": "strip", "is_member_call": true, "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L80", "receiver": null}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_triple_parse_numbered", "callee": "group", "is_member_call": true, "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L80", "receiver": "m"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_triple_parse_numbered", "callee": "strip", "is_member_call": true, "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L81", "receiver": null}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_triple_parse_numbered", "callee": "sub", "is_member_call": true, "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L81", "receiver": "re"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_triple_parse_numbered", "callee": "strip", "is_member_call": true, "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L82", "receiver": null}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_triple_parse_numbered", "callee": "sub", "is_member_call": true, "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L82", "receiver": "re"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_triple_geocode_tourapi", "callee": "get", "is_member_call": true, "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L161", "receiver": "requests"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_triple_geocode_tourapi", "callee": "TOUR_KEY", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L163"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_triple_geocode_tourapi", "callee": "json", "is_member_call": true, "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L169", "receiver": "r"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_triple_geocode_tourapi", "callee": "get", "is_member_call": true, "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L170", "receiver": "body"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_triple_geocode_tourapi", "callee": "list", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L173"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_triple_geocode_kakao_local", "callee": "get", "is_member_call": true, "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L189", "receiver": "requests"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_triple_geocode_kakao_local", "callee": "get", "is_member_call": true, "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L196", "receiver": null}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_triple_geocode_kakao_local", "callee": "json", "is_member_call": true, "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L196", "receiver": "r"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_triple_geocode_nominatim", "callee": "strip", "is_member_call": true, "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L207", "receiver": null}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_triple_geocode_nominatim", "callee": "get", "is_member_call": true, "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L209", "receiver": "requests"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_triple_geocode_nominatim", "callee": "json", "is_member_call": true, "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L216", "receiver": "r"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_triple_geocode_nominatim", "callee": "json", "is_member_call": true, "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L217", "receiver": "r"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_triple_geocode_single", "callee": "sleep", "is_member_call": true, "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L231", "receiver": "time"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_triple_haversine", "callee": "radians", "is_member_call": true, "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L267", "receiver": "math"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_triple_haversine", "callee": "radians", "is_member_call": true, "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L267", "receiver": "math"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_triple_haversine", "callee": "radians", "is_member_call": true, "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L268", "receiver": "math"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_triple_haversine", "callee": "radians", "is_member_call": true, "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L269", "receiver": "math"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_triple_haversine", "callee": "sin", "is_member_call": true, "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L270", "receiver": "math"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_triple_haversine", "callee": "cos", "is_member_call": true, "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L270", "receiver": "math"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_triple_haversine", "callee": "cos", "is_member_call": true, "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L270", "receiver": "math"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_triple_haversine", "callee": "sin", "is_member_call": true, "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L270", "receiver": "math"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_triple_haversine", "callee": "atan2", "is_member_call": true, "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L271", "receiver": "math"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_triple_haversine", "callee": "sqrt", "is_member_call": true, "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L271", "receiver": "math"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_triple_haversine", "callee": "sqrt", "is_member_call": true, "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L271", "receiver": "math"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_triple_get_travel_time", "callee": "get", "is_member_call": true, "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L282", "receiver": "route_cache"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_triple_get_travel_time", "callee": "get", "is_member_call": true, "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L287", "receiver": "requests"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_triple_get_travel_time", "callee": "get", "is_member_call": true, "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L297", "receiver": null}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_triple_get_travel_time", "callee": "json", "is_member_call": true, "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L297", "receiver": "r"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_triple_get_travel_time", "callee": "get", "is_member_call": true, "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L298", "receiver": null}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_triple_get_travel_time", "callee": "write_text", "is_member_call": true, "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L301", "receiver": "CACHE_ROUTE"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_triple_get_travel_time", "callee": "dumps", "is_member_call": true, "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L301", "receiver": "json"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_triple_get_travel_time", "callee": "route_cache", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L301"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_triple_stats_block", "callee": "mean", "is_member_call": true, "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L399", "receiver": "statistics"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_triple_stats_block", "callee": "median", "is_member_call": true, "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L400", "receiver": "statistics"}, {"caller_nid": "$graphify-root$_phases_0_setup_analyze_triple_stats_block", "callee": "stdev", "is_member_call": true, "source_file": "phases/0-setup/analyze_triple.py", "source_location": "L401", "receiver": "statistics"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/74d131e431371f16377a6da34770d1d197feeeec9ac3844a45880393e39e0778.json b/graphify-out/cache/ast/v0.9.31/74d131e431371f16377a6da34770d1d197feeeec9ac3844a45880393e39e0778.json new file mode 100644 index 0000000..6e2a306 --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/74d131e431371f16377a6da34770d1d197feeeec9ac3844a45880393e39e0778.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_tests_test_graph_retriever_py", "label": "test_graph_retriever.py", "file_type": "code", "source_file": "tests/test_graph_retriever.py", "source_location": "L1"}, {"id": "$graphify-root$_tests_test_graph_retriever_test_disabled_without_uri_returns_empty", "label": "test_disabled_without_uri_returns_empty()", "file_type": "code", "source_file": "tests/test_graph_retriever.py", "source_location": "L12", "_callable": true}, {"id": "$graphify-root$_tests_test_graph_retriever_test_search_places_parses_records", "label": "test_search_places_parses_records()", "file_type": "code", "source_file": "tests/test_graph_retriever.py", "source_location": "L19", "_callable": true}, {"id": "$graphify-root$_tests_test_graph_retriever_test_search_places_empty_query_skips_call", "label": "test_search_places_empty_query_skips_call()", "file_type": "code", "source_file": "tests/test_graph_retriever.py", "source_location": "L39", "_callable": true}, {"id": "$graphify-root$_tests_test_graph_retriever_test_search_places_neo4j_error_returns_empty", "label": "test_search_places_neo4j_error_returns_empty()", "file_type": "code", "source_file": "tests/test_graph_retriever.py", "source_location": "L46", "_callable": true}, {"id": "$graphify-root$_tests_test_graph_retriever_test_find_nearby_parses_and_converts_distance", "label": "test_find_nearby_parses_and_converts_distance()", "file_type": "code", "source_file": "tests/test_graph_retriever.py", "source_location": "L53", "_callable": true}, {"id": "$graphify-root$_tests_test_graph_retriever_test_repeated_failures_skip_driver_call_during_cooldown", "label": "test_repeated_failures_skip_driver_call_during_cooldown()", "file_type": "code", "source_file": "tests/test_graph_retriever.py", "source_location": "L68", "_callable": true}, {"id": "$graphify-root$_tests_test_graph_retriever_test_close_closes_driver", "label": "test_close_closes_driver()", "file_type": "code", "source_file": "tests/test_graph_retriever.py", "source_location": "L79", "_callable": true}, {"id": "$graphify-root$_tests_test_graph_retriever_test_from_env_reads_variables", "label": "test_from_env_reads_variables()", "file_type": "code", "source_file": "tests/test_graph_retriever.py", "source_location": "L86", "_callable": true}, {"id": "$graphify-root$_tests_test_graph_retriever_rationale_1", "label": "GraphRetriever \ud14c\uc2a4\ud2b8 (\uc2e4\uc81c Neo4j \ud638\ucd9c X \u2014 \ubaa8\ub450 mock).", "file_type": "rationale", "source_file": "tests/test_graph_retriever.py", "source_location": "L1"}], "edges": [{"source": "$graphify-root$_tests_test_graph_retriever_py", "target": "unittest_mock", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_graph_retriever.py", "source_location": "L4", "weight": 1.0}, {"source": "$graphify-root$_tests_test_graph_retriever_py", "target": "neo4j_exceptions", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_graph_retriever.py", "source_location": "L6", "weight": 1.0}, {"source": "$graphify-root$_tests_test_graph_retriever_py", "target": "src_data_graph_retriever", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_graph_retriever.py", "source_location": "L8", "weight": 1.0}, {"source": "$graphify-root$_tests_test_graph_retriever_py", "target": "src_data_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_graph_retriever.py", "source_location": "L9", "weight": 1.0}, {"source": "$graphify-root$_tests_test_graph_retriever_py", "target": "$graphify-root$_tests_test_graph_retriever_test_disabled_without_uri_returns_empty", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_graph_retriever.py", "source_location": "L12", "weight": 1.0}, {"source": "$graphify-root$_tests_test_graph_retriever_py", "target": "$graphify-root$_tests_test_graph_retriever_test_search_places_parses_records", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_graph_retriever.py", "source_location": "L19", "weight": 1.0}, {"source": "$graphify-root$_tests_test_graph_retriever_py", "target": "$graphify-root$_tests_test_graph_retriever_test_search_places_empty_query_skips_call", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_graph_retriever.py", "source_location": "L39", "weight": 1.0}, {"source": "$graphify-root$_tests_test_graph_retriever_py", "target": "$graphify-root$_tests_test_graph_retriever_test_search_places_neo4j_error_returns_empty", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_graph_retriever.py", "source_location": "L46", "weight": 1.0}, {"source": "$graphify-root$_tests_test_graph_retriever_py", "target": "$graphify-root$_tests_test_graph_retriever_test_find_nearby_parses_and_converts_distance", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_graph_retriever.py", "source_location": "L53", "weight": 1.0}, {"source": "$graphify-root$_tests_test_graph_retriever_py", "target": "$graphify-root$_tests_test_graph_retriever_test_repeated_failures_skip_driver_call_during_cooldown", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_graph_retriever.py", "source_location": "L68", "weight": 1.0}, {"source": "$graphify-root$_tests_test_graph_retriever_py", "target": "$graphify-root$_tests_test_graph_retriever_test_close_closes_driver", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_graph_retriever.py", "source_location": "L79", "weight": 1.0}, {"source": "$graphify-root$_tests_test_graph_retriever_py", "target": "$graphify-root$_tests_test_graph_retriever_test_from_env_reads_variables", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_graph_retriever.py", "source_location": "L86", "weight": 1.0}, {"source": "$graphify-root$_tests_test_graph_retriever_rationale_1", "target": "$graphify-root$_tests_test_graph_retriever_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_graph_retriever.py", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_tests_test_graph_retriever_test_disabled_without_uri_returns_empty", "callee": "GraphRetriever", "is_member_call": false, "source_file": "tests/test_graph_retriever.py", "source_location": "L13", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_graph_retriever_test_disabled_without_uri_returns_empty", "callee": "search_places", "is_member_call": true, "source_file": "tests/test_graph_retriever.py", "source_location": "L15", "receiver": "retriever"}, {"caller_nid": "$graphify-root$_tests_test_graph_retriever_test_disabled_without_uri_returns_empty", "callee": "find_nearby", "is_member_call": true, "source_file": "tests/test_graph_retriever.py", "source_location": "L16", "receiver": "retriever"}, {"caller_nid": "$graphify-root$_tests_test_graph_retriever_test_search_places_parses_records", "callee": "patch", "is_member_call": false, "source_file": "tests/test_graph_retriever.py", "source_location": "L20", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_graph_retriever_test_search_places_parses_records", "callee": "MagicMock", "is_member_call": false, "source_file": "tests/test_graph_retriever.py", "source_location": "L20", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_graph_retriever_test_search_places_parses_records", "callee": "GraphRetriever", "is_member_call": false, "source_file": "tests/test_graph_retriever.py", "source_location": "L21", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_graph_retriever_test_search_places_parses_records", "callee": "MagicMock", "is_member_call": false, "source_file": "tests/test_graph_retriever.py", "source_location": "L22", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_graph_retriever_test_search_places_parses_records", "callee": "search_places", "is_member_call": true, "source_file": "tests/test_graph_retriever.py", "source_location": "L31", "receiver": "retriever"}, {"caller_nid": "$graphify-root$_tests_test_graph_retriever_test_search_places_parses_records", "callee": "PlaceEvidence", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "tests/test_graph_retriever.py", "source_location": "L34"}, {"caller_nid": "$graphify-root$_tests_test_graph_retriever_test_search_places_empty_query_skips_call", "callee": "patch", "is_member_call": false, "source_file": "tests/test_graph_retriever.py", "source_location": "L40", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_graph_retriever_test_search_places_empty_query_skips_call", "callee": "MagicMock", "is_member_call": false, "source_file": "tests/test_graph_retriever.py", "source_location": "L40", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_graph_retriever_test_search_places_empty_query_skips_call", "callee": "GraphRetriever", "is_member_call": false, "source_file": "tests/test_graph_retriever.py", "source_location": "L41", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_graph_retriever_test_search_places_empty_query_skips_call", "callee": "search_places", "is_member_call": true, "source_file": "tests/test_graph_retriever.py", "source_location": "L42", "receiver": "retriever"}, {"caller_nid": "$graphify-root$_tests_test_graph_retriever_test_search_places_empty_query_skips_call", "callee": "assert_not_called", "is_member_call": true, "source_file": "tests/test_graph_retriever.py", "source_location": "L43", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_graph_retriever_test_search_places_neo4j_error_returns_empty", "callee": "patch", "is_member_call": false, "source_file": "tests/test_graph_retriever.py", "source_location": "L47", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_graph_retriever_test_search_places_neo4j_error_returns_empty", "callee": "MagicMock", "is_member_call": false, "source_file": "tests/test_graph_retriever.py", "source_location": "L47", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_graph_retriever_test_search_places_neo4j_error_returns_empty", "callee": "GraphRetriever", "is_member_call": false, "source_file": "tests/test_graph_retriever.py", "source_location": "L48", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_graph_retriever_test_search_places_neo4j_error_returns_empty", "callee": "Neo4jError", "is_member_call": false, "source_file": "tests/test_graph_retriever.py", "source_location": "L49", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_graph_retriever_test_search_places_neo4j_error_returns_empty", "callee": "search_places", "is_member_call": true, "source_file": "tests/test_graph_retriever.py", "source_location": "L50", "receiver": "retriever"}, {"caller_nid": "$graphify-root$_tests_test_graph_retriever_test_find_nearby_parses_and_converts_distance", "callee": "patch", "is_member_call": false, "source_file": "tests/test_graph_retriever.py", "source_location": "L54", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_graph_retriever_test_find_nearby_parses_and_converts_distance", "callee": "MagicMock", "is_member_call": false, "source_file": "tests/test_graph_retriever.py", "source_location": "L54", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_graph_retriever_test_find_nearby_parses_and_converts_distance", "callee": "GraphRetriever", "is_member_call": false, "source_file": "tests/test_graph_retriever.py", "source_location": "L55", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_graph_retriever_test_find_nearby_parses_and_converts_distance", "callee": "MagicMock", "is_member_call": false, "source_file": "tests/test_graph_retriever.py", "source_location": "L56", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_graph_retriever_test_find_nearby_parses_and_converts_distance", "callee": "find_nearby", "is_member_call": true, "source_file": "tests/test_graph_retriever.py", "source_location": "L61", "receiver": "retriever"}, {"caller_nid": "$graphify-root$_tests_test_graph_retriever_test_find_nearby_parses_and_converts_distance", "callee": "AlternativePOI", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "tests/test_graph_retriever.py", "source_location": "L64"}, {"caller_nid": "$graphify-root$_tests_test_graph_retriever_test_repeated_failures_skip_driver_call_during_cooldown", "callee": "patch", "is_member_call": false, "source_file": "tests/test_graph_retriever.py", "source_location": "L69", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_graph_retriever_test_repeated_failures_skip_driver_call_during_cooldown", "callee": "MagicMock", "is_member_call": false, "source_file": "tests/test_graph_retriever.py", "source_location": "L69", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_graph_retriever_test_repeated_failures_skip_driver_call_during_cooldown", "callee": "GraphRetriever", "is_member_call": false, "source_file": "tests/test_graph_retriever.py", "source_location": "L70", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_graph_retriever_test_repeated_failures_skip_driver_call_during_cooldown", "callee": "Neo4jError", "is_member_call": false, "source_file": "tests/test_graph_retriever.py", "source_location": "L71", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_graph_retriever_test_repeated_failures_skip_driver_call_during_cooldown", "callee": "search_places", "is_member_call": true, "source_file": "tests/test_graph_retriever.py", "source_location": "L73", "receiver": "retriever"}, {"caller_nid": "$graphify-root$_tests_test_graph_retriever_test_repeated_failures_skip_driver_call_during_cooldown", "callee": "find_nearby", "is_member_call": true, "source_file": "tests/test_graph_retriever.py", "source_location": "L74", "receiver": "retriever"}, {"caller_nid": "$graphify-root$_tests_test_graph_retriever_test_close_closes_driver", "callee": "patch", "is_member_call": false, "source_file": "tests/test_graph_retriever.py", "source_location": "L80", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_graph_retriever_test_close_closes_driver", "callee": "MagicMock", "is_member_call": false, "source_file": "tests/test_graph_retriever.py", "source_location": "L80", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_graph_retriever_test_close_closes_driver", "callee": "GraphRetriever", "is_member_call": false, "source_file": "tests/test_graph_retriever.py", "source_location": "L81", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_graph_retriever_test_close_closes_driver", "callee": "close", "is_member_call": true, "source_file": "tests/test_graph_retriever.py", "source_location": "L82", "receiver": "retriever"}, {"caller_nid": "$graphify-root$_tests_test_graph_retriever_test_close_closes_driver", "callee": "assert_called_once", "is_member_call": true, "source_file": "tests/test_graph_retriever.py", "source_location": "L83", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_graph_retriever_test_from_env_reads_variables", "callee": "setenv", "is_member_call": true, "source_file": "tests/test_graph_retriever.py", "source_location": "L87", "receiver": "monkeypatch"}, {"caller_nid": "$graphify-root$_tests_test_graph_retriever_test_from_env_reads_variables", "callee": "setenv", "is_member_call": true, "source_file": "tests/test_graph_retriever.py", "source_location": "L88", "receiver": "monkeypatch"}, {"caller_nid": "$graphify-root$_tests_test_graph_retriever_test_from_env_reads_variables", "callee": "setenv", "is_member_call": true, "source_file": "tests/test_graph_retriever.py", "source_location": "L89", "receiver": "monkeypatch"}, {"caller_nid": "$graphify-root$_tests_test_graph_retriever_test_from_env_reads_variables", "callee": "setenv", "is_member_call": true, "source_file": "tests/test_graph_retriever.py", "source_location": "L90", "receiver": "monkeypatch"}, {"caller_nid": "$graphify-root$_tests_test_graph_retriever_test_from_env_reads_variables", "callee": "patch", "is_member_call": false, "source_file": "tests/test_graph_retriever.py", "source_location": "L91", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_graph_retriever_test_from_env_reads_variables", "callee": "MagicMock", "is_member_call": false, "source_file": "tests/test_graph_retriever.py", "source_location": "L91", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_graph_retriever_test_from_env_reads_variables", "callee": "from_env", "is_member_call": true, "source_file": "tests/test_graph_retriever.py", "source_location": "L92", "receiver": "GraphRetriever"}, {"caller_nid": "$graphify-root$_tests_test_graph_retriever_test_from_env_reads_variables", "callee": "assert_called_once_with", "is_member_call": true, "source_file": "tests/test_graph_retriever.py", "source_location": "L94", "receiver": "create"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/761476ae9d54730d0d583bff8af9a3a883c614698c0da15ae346c1b28e65827c.json b/graphify-out/cache/ast/v0.9.31/761476ae9d54730d0d583bff8af9a3a883c614698c0da15ae346c1b28e65827c.json new file mode 100644 index 0000000..d8af9e3 --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/761476ae9d54730d0d583bff8af9a3a883c614698c0da15ae346c1b28e65827c.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_src_data_wellness_api_py", "label": "wellness_api.py", "file_type": "code", "source_file": "src/data/wellness_api.py", "source_location": "L1"}, {"id": "$graphify-root$_src_data_wellness_api_wellnessplace", "label": "WellnessPlace", "file_type": "code", "source_file": "src/data/wellness_api.py", "source_location": "L16", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_src_data_wellness_api_extract_items", "label": "_extract_items()", "file_type": "code", "source_file": "src/data/wellness_api.py", "source_location": "L27", "_callable": true}, {"id": "$graphify-root$_src_data_wellness_api_safe_float", "label": "_safe_float()", "file_type": "code", "source_file": "src/data/wellness_api.py", "source_location": "L38", "_callable": true}, {"id": "any", "label": "Any", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/data/wellness_api.py"}, {"id": "$graphify-root$_src_data_wellness_api_wellnessapiclient", "label": "WellnessAPIClient", "file_type": "code", "source_file": "src/data/wellness_api.py", "source_location": "L45", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_src_data_wellness_api_wellnessapiclient_init", "label": ".__init__()", "file_type": "code", "source_file": "src/data/wellness_api.py", "source_location": "L51", "_callable": true}, {"id": "$graphify-root$_src_data_wellness_api_wellnessapiclient_from_settings", "label": ".from_settings()", "file_type": "code", "source_file": "src/data/wellness_api.py", "source_location": "L58", "_callable": true}, {"id": "settings", "label": "Settings", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/data/wellness_api.py"}, {"id": "$graphify-root$_src_data_wellness_api_wellnessapiclient_fetch_page", "label": ".fetch_page()", "file_type": "code", "source_file": "src/data/wellness_api.py", "source_location": "L66", "_callable": true}, {"id": "$graphify-root$_src_data_wellness_api_wellnessapiclient_fetch_all", "label": ".fetch_all()", "file_type": "code", "source_file": "src/data/wellness_api.py", "source_location": "L117", "_callable": true}, {"id": "$graphify-root$_src_data_wellness_api_rationale_1", "label": "\ud55c\uad6d\uad00\uad11\uacf5\uc0ac \uc6f0\ub2c8\uc2a4 \uad00\uad11 \uc815\ubcf4 API \ud074\ub77c\uc774\uc5b8\ud2b8 (B551011/WellnessTursmService).", "file_type": "rationale", "source_file": "src/data/wellness_api.py", "source_location": "L1"}, {"id": "$graphify-root$_src_data_wellness_api_rationale_46", "label": "\uc6f0\ub2c8\uc2a4 \uad00\uad11 \uc815\ubcf4 API \u2014 \ube44\ub3d9\uae30 \ud074\ub77c\uc774\uc5b8\ud2b8. Graceful Fallback: API \ud638\ucd9c \uc2e4\ud328 \uc2dc \ube48 \ub9ac\uc2a4\ud2b8 \ubc18\ud658.", "file_type": "rationale", "source_file": "src/data/wellness_api.py", "source_location": "L46"}, {"id": "$graphify-root$_src_data_wellness_api_rationale_118", "label": "\uc804\uccb4 \uc6f0\ub2c8\uc2a4 \uad00\uad11 \ubaa9\ub85d \uc870\ud68c (\ud398\uc774\uc9c0 \uc21c\ud68c).", "file_type": "rationale", "source_file": "src/data/wellness_api.py", "source_location": "L118"}], "edges": [{"source": "$graphify-root$_src_data_wellness_api_py", "target": "dataclasses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/data/wellness_api.py", "source_location": "L4", "weight": 1.0}, {"source": "$graphify-root$_src_data_wellness_api_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/data/wellness_api.py", "source_location": "L5", "weight": 1.0}, {"source": "$graphify-root$_src_data_wellness_api_py", "target": "httpx", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/data/wellness_api.py", "source_location": "L7", "weight": 1.0}, {"source": "$graphify-root$_src_data_wellness_api_py", "target": "src_data_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/data/wellness_api.py", "source_location": "L9", "weight": 1.0}, {"source": "$graphify-root$_src_data_wellness_api_py", "target": "$graphify-root$_src_data_wellness_api_wellnessplace", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/data/wellness_api.py", "source_location": "L16", "weight": 1.0}, {"source": "$graphify-root$_src_data_wellness_api_py", "target": "$graphify-root$_src_data_wellness_api_extract_items", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/data/wellness_api.py", "source_location": "L27", "weight": 1.0}, {"source": "$graphify-root$_src_data_wellness_api_py", "target": "$graphify-root$_src_data_wellness_api_safe_float", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/data/wellness_api.py", "source_location": "L38", "weight": 1.0}, {"source": "$graphify-root$_src_data_wellness_api_safe_float", "target": "any", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/data/wellness_api.py", "source_location": "L38", "weight": 1.0}, {"source": "$graphify-root$_src_data_wellness_api_py", "target": "$graphify-root$_src_data_wellness_api_wellnessapiclient", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/data/wellness_api.py", "source_location": "L45", "weight": 1.0}, {"source": "$graphify-root$_src_data_wellness_api_wellnessapiclient", "target": "$graphify-root$_src_data_wellness_api_wellnessapiclient_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/data/wellness_api.py", "source_location": "L51", "weight": 1.0}, {"source": "$graphify-root$_src_data_wellness_api_wellnessapiclient", "target": "$graphify-root$_src_data_wellness_api_wellnessapiclient_from_settings", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/data/wellness_api.py", "source_location": "L58", "weight": 1.0}, {"source": "$graphify-root$_src_data_wellness_api_wellnessapiclient_from_settings", "target": "settings", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/data/wellness_api.py", "source_location": "L58", "weight": 1.0}, {"source": "$graphify-root$_src_data_wellness_api_wellnessapiclient", "target": "$graphify-root$_src_data_wellness_api_wellnessapiclient_fetch_page", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/data/wellness_api.py", "source_location": "L66", "weight": 1.0}, {"source": "$graphify-root$_src_data_wellness_api_wellnessapiclient_fetch_page", "target": "$graphify-root$_src_data_wellness_api_wellnessplace", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/data/wellness_api.py", "source_location": "L66", "weight": 1.0}, {"source": "$graphify-root$_src_data_wellness_api_wellnessapiclient", "target": "$graphify-root$_src_data_wellness_api_wellnessapiclient_fetch_all", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/data/wellness_api.py", "source_location": "L117", "weight": 1.0}, {"source": "$graphify-root$_src_data_wellness_api_wellnessapiclient_fetch_all", "target": "$graphify-root$_src_data_wellness_api_wellnessplace", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/data/wellness_api.py", "source_location": "L117", "weight": 1.0}, {"source": "$graphify-root$_src_data_wellness_api_wellnessapiclient_from_settings", "target": "settings", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/data/wellness_api.py", "source_location": "L60", "weight": 1.0}, {"source": "$graphify-root$_src_data_wellness_api_wellnessapiclient_fetch_page", "target": "$graphify-root$_src_data_wellness_api_extract_items", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/data/wellness_api.py", "source_location": "L94", "weight": 1.0}, {"source": "$graphify-root$_src_data_wellness_api_wellnessapiclient_fetch_page", "target": "$graphify-root$_src_data_wellness_api_safe_float", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/data/wellness_api.py", "source_location": "L99", "weight": 1.0}, {"source": "$graphify-root$_src_data_wellness_api_wellnessapiclient_fetch_page", "target": "$graphify-root$_src_data_wellness_api_wellnessplace", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/data/wellness_api.py", "source_location": "L105", "weight": 1.0}, {"source": "$graphify-root$_src_data_wellness_api_wellnessapiclient_fetch_all", "target": "$graphify-root$_src_data_wellness_api_wellnessapiclient_fetch_page", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/data/wellness_api.py", "source_location": "L122", "weight": 1.0}, {"source": "$graphify-root$_src_data_wellness_api_rationale_1", "target": "$graphify-root$_src_data_wellness_api_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/data/wellness_api.py", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_src_data_wellness_api_rationale_46", "target": "$graphify-root$_src_data_wellness_api_wellnessapiclient", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/data/wellness_api.py", "source_location": "L46", "weight": 1.0}, {"source": "$graphify-root$_src_data_wellness_api_rationale_118", "target": "$graphify-root$_src_data_wellness_api_wellnessapiclient_fetch_all", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/data/wellness_api.py", "source_location": "L118", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_src_data_wellness_api_extract_items", "callee": "dict", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "src/data/wellness_api.py", "source_location": "L31"}, {"caller_nid": "$graphify-root$_src_data_wellness_api_extract_items", "callee": "KeyError", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "src/data/wellness_api.py", "source_location": "L34"}, {"caller_nid": "$graphify-root$_src_data_wellness_api_extract_items", "callee": "TypeError", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "src/data/wellness_api.py", "source_location": "L34"}, {"caller_nid": "$graphify-root$_src_data_wellness_api_safe_float", "callee": "TypeError", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "src/data/wellness_api.py", "source_location": "L41"}, {"caller_nid": "$graphify-root$_src_data_wellness_api_safe_float", "callee": "ValueError", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "src/data/wellness_api.py", "source_location": "L41"}, {"caller_nid": "$graphify-root$_src_data_wellness_api_wellnessapiclient_init", "callee": "ValueError", "is_member_call": false, "source_file": "src/data/wellness_api.py", "source_location": "L53", "receiver": null}, {"caller_nid": "$graphify-root$_src_data_wellness_api_wellnessapiclient_from_settings", "callee": "cls", "is_member_call": false, "source_file": "src/data/wellness_api.py", "source_location": "L64", "receiver": null}, {"caller_nid": "$graphify-root$_src_data_wellness_api_wellnessapiclient_fetch_page", "callee": "AsyncClient", "is_member_call": true, "source_file": "src/data/wellness_api.py", "source_location": "L86", "receiver": "httpx"}, {"caller_nid": "$graphify-root$_src_data_wellness_api_wellnessapiclient_fetch_page", "callee": "get", "is_member_call": true, "source_file": "src/data/wellness_api.py", "source_location": "L87", "receiver": "client"}, {"caller_nid": "$graphify-root$_src_data_wellness_api_wellnessapiclient_fetch_page", "callee": "raise_for_status", "is_member_call": true, "source_file": "src/data/wellness_api.py", "source_location": "L88", "receiver": "resp"}, {"caller_nid": "$graphify-root$_src_data_wellness_api_wellnessapiclient_fetch_page", "callee": "json", "is_member_call": true, "source_file": "src/data/wellness_api.py", "source_location": "L89", "receiver": "resp"}, {"caller_nid": "$graphify-root$_src_data_wellness_api_wellnessapiclient_fetch_page", "callee": "get", "is_member_call": true, "source_file": "src/data/wellness_api.py", "source_location": "L96", "receiver": "item"}, {"caller_nid": "$graphify-root$_src_data_wellness_api_wellnessapiclient_fetch_page", "callee": "get", "is_member_call": true, "source_file": "src/data/wellness_api.py", "source_location": "L96", "receiver": "item"}, {"caller_nid": "$graphify-root$_src_data_wellness_api_wellnessapiclient_fetch_page", "callee": "get", "is_member_call": true, "source_file": "src/data/wellness_api.py", "source_location": "L97", "receiver": "item"}, {"caller_nid": "$graphify-root$_src_data_wellness_api_wellnessapiclient_fetch_page", "callee": "get", "is_member_call": true, "source_file": "src/data/wellness_api.py", "source_location": "L98", "receiver": "item"}, {"caller_nid": "$graphify-root$_src_data_wellness_api_wellnessapiclient_fetch_page", "callee": "get", "is_member_call": true, "source_file": "src/data/wellness_api.py", "source_location": "L98", "receiver": "item"}, {"caller_nid": "$graphify-root$_src_data_wellness_api_wellnessapiclient_fetch_page", "callee": "get", "is_member_call": true, "source_file": "src/data/wellness_api.py", "source_location": "L98", "receiver": "item"}, {"caller_nid": "$graphify-root$_src_data_wellness_api_wellnessapiclient_fetch_page", "callee": "get", "is_member_call": true, "source_file": "src/data/wellness_api.py", "source_location": "L99", "receiver": "item"}, {"caller_nid": "$graphify-root$_src_data_wellness_api_wellnessapiclient_fetch_page", "callee": "get", "is_member_call": true, "source_file": "src/data/wellness_api.py", "source_location": "L99", "receiver": "item"}, {"caller_nid": "$graphify-root$_src_data_wellness_api_wellnessapiclient_fetch_page", "callee": "get", "is_member_call": true, "source_file": "src/data/wellness_api.py", "source_location": "L99", "receiver": "item"}, {"caller_nid": "$graphify-root$_src_data_wellness_api_wellnessapiclient_fetch_page", "callee": "get", "is_member_call": true, "source_file": "src/data/wellness_api.py", "source_location": "L100", "receiver": "item"}, {"caller_nid": "$graphify-root$_src_data_wellness_api_wellnessapiclient_fetch_page", "callee": "get", "is_member_call": true, "source_file": "src/data/wellness_api.py", "source_location": "L100", "receiver": "item"}, {"caller_nid": "$graphify-root$_src_data_wellness_api_wellnessapiclient_fetch_page", "callee": "get", "is_member_call": true, "source_file": "src/data/wellness_api.py", "source_location": "L100", "receiver": "item"}, {"caller_nid": "$graphify-root$_src_data_wellness_api_wellnessapiclient_fetch_page", "callee": "append", "is_member_call": true, "source_file": "src/data/wellness_api.py", "source_location": "L105", "receiver": "places"}, {"caller_nid": "$graphify-root$_src_data_wellness_api_wellnessapiclient_fetch_page", "callee": "get", "is_member_call": true, "source_file": "src/data/wellness_api.py", "source_location": "L111", "receiver": "item"}, {"caller_nid": "$graphify-root$_src_data_wellness_api_wellnessapiclient_fetch_page", "callee": "get", "is_member_call": true, "source_file": "src/data/wellness_api.py", "source_location": "L112", "receiver": "item"}, {"caller_nid": "$graphify-root$_src_data_wellness_api_wellnessapiclient_fetch_page", "callee": "get", "is_member_call": true, "source_file": "src/data/wellness_api.py", "source_location": "L113", "receiver": "item"}, {"caller_nid": "$graphify-root$_src_data_wellness_api_wellnessapiclient_fetch_all", "callee": "extend", "is_member_call": true, "source_file": "src/data/wellness_api.py", "source_location": "L125", "receiver": "results"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/77a1d82310031c8c205fa05e8c15c3f0ed4a03d86a793af72917c43dfe6e48ee.json b/graphify-out/cache/ast/v0.9.31/77a1d82310031c8c205fa05e8c15c3f0ed4a03d86a793af72917c43dfe6e48ee.json new file mode 100644 index 0000000..0085e75 --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/77a1d82310031c8c205fa05e8c15c3f0ed4a03d86a793af72917c43dfe6e48ee.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_src_data_theme_taxonomy_py", "label": "theme_taxonomy.py", "file_type": "code", "source_file": "src/data/theme_taxonomy.py", "source_location": "L1"}, {"id": "$graphify-root$_src_data_theme_taxonomy_userpreferences", "label": "UserPreferences", "file_type": "code", "source_file": "src/data/theme_taxonomy.py", "source_location": "L83", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_src_data_theme_taxonomy_userpreferences_post_init", "label": ".__post_init__()", "file_type": "code", "source_file": "src/data/theme_taxonomy.py", "source_location": "L88", "_callable": true}, {"id": "$graphify-root$_src_data_theme_taxonomy_userpreferences_all_themes", "label": ".all_themes()", "file_type": "code", "source_file": "src/data/theme_taxonomy.py", "source_location": "L105", "_callable": true}, {"id": "$graphify-root$_src_data_theme_taxonomy_matches_place_type", "label": "matches_place_type()", "file_type": "code", "source_file": "src/data/theme_taxonomy.py", "source_location": "L111", "_callable": true}, {"id": "$graphify-root$_src_data_theme_taxonomy_get_place_types_for", "label": "get_place_types_for()", "file_type": "code", "source_file": "src/data/theme_taxonomy.py", "source_location": "L140", "_callable": true}, {"id": "$graphify-root$_src_data_theme_taxonomy_rationale_1", "label": "\ud14c\ub9c8 \ubd84\ub958 \uccb4\uacc4 (2\ucd95 18\ud14c\ub9c8). \ucd95 A: PLACE_TYPES (9\uac1c) \u2014 \uc7a5\uc18c \uc720\ud615 (\uc0b0, \ubc14\ub2e4, \uce74\ud398 \ub4f1 \uad6c\uccb4\uc801) \ucd95 B:\u2026", "file_type": "rationale", "source_file": "src/data/theme_taxonomy.py", "source_location": "L1"}, {"id": "$graphify-root$_src_data_theme_taxonomy_rationale_84", "label": "\uc0ac\uc6a9\uc790\uac00 \uc120\ud0dd\ud55c \ud14c\ub9c8. \ub450 \ucd95 \ubaa8\ub450 \ub2e4\uc911 \uc120\ud0dd \ud5c8\uc6a9 (\uac01 1\uac1c \uc774\uc0c1).", "file_type": "rationale", "source_file": "src/data/theme_taxonomy.py", "source_location": "L84"}, {"id": "$graphify-root$_src_data_theme_taxonomy_rationale_106", "label": "\ub450 \ucd95\uc758 \uc120\ud0dd\uc744 \ud3c9\ud0c4\ud654 (LLM \ud504\ub86c\ud504\ud2b8\uc6a9).", "file_type": "rationale", "source_file": "src/data/theme_taxonomy.py", "source_location": "L106"}, {"id": "$graphify-root$_src_data_theme_taxonomy_rationale_116", "label": "\uc8fc\uc5b4\uc9c4 lcls_systm3 \ub610\ub294 content_type_id\uac00 place_type\uc5d0 \ubd80\ud569\ud558\ub294\uc9c0 \ud310\uc815. \uc608)\u2026", "file_type": "rationale", "source_file": "src/data/theme_taxonomy.py", "source_location": "L116"}, {"id": "$graphify-root$_src_data_theme_taxonomy_rationale_144", "label": "\uc8fc\uc5b4\uc9c4 \ucf54\ub4dc\uac00 \ub9e4\uce6d\ub418\ub294 \ubaa8\ub4e0 PLACE_TYPE \ubc18\ud658 (\ud55c POI\uac00 \uc5ec\ub7ec \uc720\ud615\uc5d0 \uc18d\ud560 \uc218 \uc788\uc74c).", "file_type": "rationale", "source_file": "src/data/theme_taxonomy.py", "source_location": "L144"}], "edges": [{"source": "$graphify-root$_src_data_theme_taxonomy_py", "target": "dataclasses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/data/theme_taxonomy.py", "source_location": "L13", "weight": 1.0}, {"source": "$graphify-root$_src_data_theme_taxonomy_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/data/theme_taxonomy.py", "source_location": "L14", "weight": 1.0}, {"source": "$graphify-root$_src_data_theme_taxonomy_py", "target": "$graphify-root$_src_data_theme_taxonomy_userpreferences", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/data/theme_taxonomy.py", "source_location": "L83", "weight": 1.0}, {"source": "$graphify-root$_src_data_theme_taxonomy_userpreferences", "target": "$graphify-root$_src_data_theme_taxonomy_userpreferences_post_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/data/theme_taxonomy.py", "source_location": "L88", "weight": 1.0}, {"source": "$graphify-root$_src_data_theme_taxonomy_userpreferences", "target": "$graphify-root$_src_data_theme_taxonomy_userpreferences_all_themes", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/data/theme_taxonomy.py", "source_location": "L105", "weight": 1.0}, {"source": "$graphify-root$_src_data_theme_taxonomy_py", "target": "$graphify-root$_src_data_theme_taxonomy_matches_place_type", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/data/theme_taxonomy.py", "source_location": "L111", "weight": 1.0}, {"source": "$graphify-root$_src_data_theme_taxonomy_py", "target": "$graphify-root$_src_data_theme_taxonomy_get_place_types_for", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/data/theme_taxonomy.py", "source_location": "L140", "weight": 1.0}, {"source": "$graphify-root$_src_data_theme_taxonomy_get_place_types_for", "target": "$graphify-root$_src_data_theme_taxonomy_matches_place_type", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/data/theme_taxonomy.py", "source_location": "L147", "weight": 1.0}, {"source": "$graphify-root$_src_data_theme_taxonomy_rationale_1", "target": "$graphify-root$_src_data_theme_taxonomy_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/data/theme_taxonomy.py", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_src_data_theme_taxonomy_rationale_84", "target": "$graphify-root$_src_data_theme_taxonomy_userpreferences", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/data/theme_taxonomy.py", "source_location": "L84", "weight": 1.0}, {"source": "$graphify-root$_src_data_theme_taxonomy_rationale_106", "target": "$graphify-root$_src_data_theme_taxonomy_userpreferences_all_themes", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/data/theme_taxonomy.py", "source_location": "L106", "weight": 1.0}, {"source": "$graphify-root$_src_data_theme_taxonomy_rationale_116", "target": "$graphify-root$_src_data_theme_taxonomy_matches_place_type", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/data/theme_taxonomy.py", "source_location": "L116", "weight": 1.0}, {"source": "$graphify-root$_src_data_theme_taxonomy_rationale_144", "target": "$graphify-root$_src_data_theme_taxonomy_get_place_types_for", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/data/theme_taxonomy.py", "source_location": "L144", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_src_data_theme_taxonomy_userpreferences_post_init", "callee": "ValueError", "is_member_call": false, "source_file": "src/data/theme_taxonomy.py", "source_location": "L92", "receiver": null}, {"caller_nid": "$graphify-root$_src_data_theme_taxonomy_userpreferences_post_init", "callee": "ValueError", "is_member_call": false, "source_file": "src/data/theme_taxonomy.py", "source_location": "L98", "receiver": null}, {"caller_nid": "$graphify-root$_src_data_theme_taxonomy_userpreferences_post_init", "callee": "ValueError", "is_member_call": false, "source_file": "src/data/theme_taxonomy.py", "source_location": "L103", "receiver": null}, {"caller_nid": "$graphify-root$_src_data_theme_taxonomy_matches_place_type", "callee": "get", "is_member_call": true, "source_file": "src/data/theme_taxonomy.py", "source_location": "L126", "receiver": "PLACE_TYPE_TO_CONTENT_TYPE"}, {"caller_nid": "$graphify-root$_src_data_theme_taxonomy_matches_place_type", "callee": "get", "is_member_call": true, "source_file": "src/data/theme_taxonomy.py", "source_location": "L132", "receiver": "PLACE_TYPE_TO_LCLS"}, {"caller_nid": "$graphify-root$_src_data_theme_taxonomy_matches_place_type", "callee": "startswith", "is_member_call": true, "source_file": "src/data/theme_taxonomy.py", "source_location": "L134", "receiver": "lcls_systm3"}, {"caller_nid": "$graphify-root$_src_data_theme_taxonomy_get_place_types_for", "callee": "append", "is_member_call": true, "source_file": "src/data/theme_taxonomy.py", "source_location": "L148", "receiver": "matched"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/7c4022492eb3f45817366b08c7ef494df640d8ff944f25fd488cefd39cc26494.json b/graphify-out/cache/ast/v0.9.31/7c4022492eb3f45817366b08c7ef494df640d8ff944f25fd488cefd39cc26494.json new file mode 100644 index 0000000..ce83706 --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/7c4022492eb3f45817366b08c7ef494df640d8ff944f25fd488cefd39cc26494.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_src_validation_scoring_py", "label": "scoring.py", "file_type": "code", "source_file": "src/validation/scoring.py", "source_location": "L1"}, {"id": "$graphify-root$_src_validation_scoring_scorecalculator", "label": "ScoreCalculator", "file_type": "code", "source_file": "src/validation/scoring.py", "source_location": "L20", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_src_validation_scoring_scorecalculator_compute", "label": ".compute()", "file_type": "code", "source_file": "src/validation/scoring.py", "source_location": "L23", "_callable": true}, {"id": "itineraryplan", "label": "ItineraryPlan", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/validation/scoring.py"}, {"id": "poi", "label": "POI", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/validation/scoring.py"}, {"id": "hardfail", "label": "HardFail", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/validation/scoring.py"}, {"id": "scores", "label": "Scores", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/validation/scoring.py"}, {"id": "$graphify-root$_src_validation_scoring_scorecalculator_cosine_distance", "label": "._cosine_distance()", "file_type": "code", "source_file": "src/validation/scoring.py", "source_location": "L59", "_callable": true}, {"id": "$graphify-root$_src_validation_scoring_scorecalculator_calc_efficiency", "label": "._calc_efficiency()", "file_type": "code", "source_file": "src/validation/scoring.py", "source_location": "L63", "_callable": true}, {"id": "$graphify-root$_src_validation_scoring_scorecalculator_calc_feasibility", "label": "._calc_feasibility()", "file_type": "code", "source_file": "src/validation/scoring.py", "source_location": "L79", "_callable": true}, {"id": "$graphify-root$_src_validation_scoring_scorecalculator_calc_purpose_fit", "label": "._calc_purpose_fit()", "file_type": "code", "source_file": "src/validation/scoring.py", "source_location": "L113", "_callable": true}, {"id": "$graphify-root$_src_validation_scoring_scorecalculator_calc_flow", "label": "._calc_flow()", "file_type": "code", "source_file": "src/validation/scoring.py", "source_location": "L132", "_callable": true}, {"id": "$graphify-root$_src_validation_scoring_scorecalculator_calc_area_intensity", "label": "._calc_area_intensity()", "file_type": "code", "source_file": "src/validation/scoring.py", "source_location": "L169", "_callable": true}, {"id": "$graphify-root$_src_validation_scoring_rationale_21", "label": "5\uac1c \uc9c0\ud45c \u2192 Final Score (0~100) \uacc4\uc0b0\uae30. External I/O \uc5c6\uc74c.", "file_type": "rationale", "source_file": "src/validation/scoring.py", "source_location": "L21"}, {"id": "$graphify-root$_src_validation_scoring_rationale_30", "label": "5\uac1c \uc9c0\ud45c \uacc4\uc0b0 + Final Score (0~100) \ubc18\ud658. hard_fails \uc788\uc73c\uba74 Final Score \u2264 59. \ubc18\ud658:\u2026", "file_type": "rationale", "source_file": "src/validation/scoring.py", "source_location": "L30"}, {"id": "$graphify-root$_src_validation_scoring_rationale_60", "label": "warning \ubaa8\ub4c8\uc758 \uacf5\uc720 \uad6c\ud604\uc5d0 \uc704\uc784.", "file_type": "rationale", "source_file": "src/validation/scoring.py", "source_location": "L60"}, {"id": "$graphify-root$_src_validation_scoring_rationale_68", "label": "Efficiency = nn_heuristic_km / actual_total_km, clamped to [0, 1].", "file_type": "rationale", "source_file": "src/validation/scoring.py", "source_location": "L68"}, {"id": "$graphify-root$_src_validation_scoring_rationale_87", "label": "Feasibility = hard\u00d70.5 + temporal\u00d70.3 + human\u00d70.2. temporal \uc784\uacc4\uac12\uc740 party_type\ubcc4\u2026", "file_type": "rationale", "source_file": "src/validation/scoring.py", "source_location": "L87"}, {"id": "$graphify-root$_src_validation_scoring_rationale_114", "label": "1 - cosine_distance(intent_vector, activity_vector).", "file_type": "rationale", "source_file": "src/validation/scoring.py", "source_location": "L114"}, {"id": "$graphify-root$_src_validation_scoring_rationale_137", "label": "1 - (backtracking\u00d70.65 + revisit_area\u00d70.35). switch_ratio \uc81c\uac70: \uce74\ud14c\uace0\ub9ac \ub2e4\uc591\uc131\uc740 \ud328\ub110\ud2f0\uac00\u2026", "file_type": "rationale", "source_file": "src/validation/scoring.py", "source_location": "L137"}, {"id": "$graphify-root$_src_validation_scoring_rationale_170", "label": "1 - dominant_category_ratio. \ubd84\uc0b0\ub420\uc218\ub85d 1\uc5d0 \uac00\uae4c\uc6c0.", "file_type": "rationale", "source_file": "src/validation/scoring.py", "source_location": "L170"}], "edges": [{"source": "$graphify-root$_src_validation_scoring_py", "target": "src_data_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/validation/scoring.py", "source_location": "L4", "weight": 1.0}, {"source": "$graphify-root$_src_validation_scoring_py", "target": "src_data_party_config", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/validation/scoring.py", "source_location": "L5", "weight": 1.0}, {"source": "$graphify-root$_src_validation_scoring_py", "target": "src_utils_geo", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/validation/scoring.py", "source_location": "L6", "weight": 1.0}, {"source": "$graphify-root$_src_validation_scoring_py", "target": "src_validation_warning", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/validation/scoring.py", "source_location": "L7", "weight": 1.0}, {"source": "$graphify-root$_src_validation_scoring_py", "target": "$graphify-root$_src_validation_scoring_scorecalculator", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/validation/scoring.py", "source_location": "L20", "weight": 1.0}, {"source": "$graphify-root$_src_validation_scoring_scorecalculator", "target": "$graphify-root$_src_validation_scoring_scorecalculator_compute", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/validation/scoring.py", "source_location": "L23", "weight": 1.0}, {"source": "$graphify-root$_src_validation_scoring_scorecalculator_compute", "target": "itineraryplan", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/validation/scoring.py", "source_location": "L23", "weight": 1.0}, {"source": "$graphify-root$_src_validation_scoring_scorecalculator_compute", "target": "poi", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/validation/scoring.py", "source_location": "L23", "weight": 1.0}, {"source": "$graphify-root$_src_validation_scoring_scorecalculator_compute", "target": "hardfail", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/validation/scoring.py", "source_location": "L23", "weight": 1.0}, {"source": "$graphify-root$_src_validation_scoring_scorecalculator_compute", "target": "scores", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/validation/scoring.py", "source_location": "L23", "weight": 1.0}, {"source": "$graphify-root$_src_validation_scoring_scorecalculator", "target": "$graphify-root$_src_validation_scoring_scorecalculator_cosine_distance", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/validation/scoring.py", "source_location": "L59", "weight": 1.0}, {"source": "$graphify-root$_src_validation_scoring_scorecalculator", "target": "$graphify-root$_src_validation_scoring_scorecalculator_calc_efficiency", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/validation/scoring.py", "source_location": "L63", "weight": 1.0}, {"source": "$graphify-root$_src_validation_scoring_scorecalculator_calc_efficiency", "target": "poi", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/validation/scoring.py", "source_location": "L63", "weight": 1.0}, {"source": "$graphify-root$_src_validation_scoring_scorecalculator", "target": "$graphify-root$_src_validation_scoring_scorecalculator_calc_feasibility", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/validation/scoring.py", "source_location": "L79", "weight": 1.0}, {"source": "$graphify-root$_src_validation_scoring_scorecalculator_calc_feasibility", "target": "itineraryplan", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/validation/scoring.py", "source_location": "L79", "weight": 1.0}, {"source": "$graphify-root$_src_validation_scoring_scorecalculator_calc_feasibility", "target": "poi", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/validation/scoring.py", "source_location": "L79", "weight": 1.0}, {"source": "$graphify-root$_src_validation_scoring_scorecalculator_calc_feasibility", "target": "hardfail", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/validation/scoring.py", "source_location": "L79", "weight": 1.0}, {"source": "$graphify-root$_src_validation_scoring_scorecalculator", "target": "$graphify-root$_src_validation_scoring_scorecalculator_calc_purpose_fit", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/validation/scoring.py", "source_location": "L113", "weight": 1.0}, {"source": "$graphify-root$_src_validation_scoring_scorecalculator_calc_purpose_fit", "target": "itineraryplan", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/validation/scoring.py", "source_location": "L113", "weight": 1.0}, {"source": "$graphify-root$_src_validation_scoring_scorecalculator_calc_purpose_fit", "target": "poi", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/validation/scoring.py", "source_location": "L113", "weight": 1.0}, {"source": "$graphify-root$_src_validation_scoring_scorecalculator", "target": "$graphify-root$_src_validation_scoring_scorecalculator_calc_flow", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/validation/scoring.py", "source_location": "L132", "weight": 1.0}, {"source": "$graphify-root$_src_validation_scoring_scorecalculator_calc_flow", "target": "poi", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/validation/scoring.py", "source_location": "L132", "weight": 1.0}, {"source": "$graphify-root$_src_validation_scoring_scorecalculator", "target": "$graphify-root$_src_validation_scoring_scorecalculator_calc_area_intensity", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/validation/scoring.py", "source_location": "L169", "weight": 1.0}, {"source": "$graphify-root$_src_validation_scoring_scorecalculator_calc_area_intensity", "target": "poi", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/validation/scoring.py", "source_location": "L169", "weight": 1.0}, {"source": "$graphify-root$_src_validation_scoring_scorecalculator_compute", "target": "$graphify-root$_src_validation_scoring_scorecalculator_calc_efficiency", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/validation/scoring.py", "source_location": "L37", "weight": 1.0}, {"source": "$graphify-root$_src_validation_scoring_scorecalculator_compute", "target": "$graphify-root$_src_validation_scoring_scorecalculator_calc_feasibility", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/validation/scoring.py", "source_location": "L38", "weight": 1.0}, {"source": "$graphify-root$_src_validation_scoring_scorecalculator_compute", "target": "$graphify-root$_src_validation_scoring_scorecalculator_calc_purpose_fit", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/validation/scoring.py", "source_location": "L39", "weight": 1.0}, {"source": "$graphify-root$_src_validation_scoring_scorecalculator_compute", "target": "$graphify-root$_src_validation_scoring_scorecalculator_calc_flow", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/validation/scoring.py", "source_location": "L40", "weight": 1.0}, {"source": "$graphify-root$_src_validation_scoring_scorecalculator_compute", "target": "$graphify-root$_src_validation_scoring_scorecalculator_calc_area_intensity", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/validation/scoring.py", "source_location": "L41", "weight": 1.0}, {"source": "$graphify-root$_src_validation_scoring_scorecalculator_compute", "target": "scores", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/validation/scoring.py", "source_location": "L43", "weight": 1.0}, {"source": "$graphify-root$_src_validation_scoring_scorecalculator_calc_purpose_fit", "target": "$graphify-root$_src_validation_scoring_scorecalculator_cosine_distance", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/validation/scoring.py", "source_location": "L130", "weight": 1.0}, {"source": "$graphify-root$_src_validation_scoring_rationale_21", "target": "$graphify-root$_src_validation_scoring_scorecalculator", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/validation/scoring.py", "source_location": "L21", "weight": 1.0}, {"source": "$graphify-root$_src_validation_scoring_rationale_30", "target": "$graphify-root$_src_validation_scoring_scorecalculator_compute", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/validation/scoring.py", "source_location": "L30", "weight": 1.0}, {"source": "$graphify-root$_src_validation_scoring_rationale_60", "target": "$graphify-root$_src_validation_scoring_scorecalculator_cosine_distance", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/validation/scoring.py", "source_location": "L60", "weight": 1.0}, {"source": "$graphify-root$_src_validation_scoring_rationale_68", "target": "$graphify-root$_src_validation_scoring_scorecalculator_calc_efficiency", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/validation/scoring.py", "source_location": "L68", "weight": 1.0}, {"source": "$graphify-root$_src_validation_scoring_rationale_87", "target": "$graphify-root$_src_validation_scoring_scorecalculator_calc_feasibility", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/validation/scoring.py", "source_location": "L87", "weight": 1.0}, {"source": "$graphify-root$_src_validation_scoring_rationale_114", "target": "$graphify-root$_src_validation_scoring_scorecalculator_calc_purpose_fit", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/validation/scoring.py", "source_location": "L114", "weight": 1.0}, {"source": "$graphify-root$_src_validation_scoring_rationale_137", "target": "$graphify-root$_src_validation_scoring_scorecalculator_calc_flow", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/validation/scoring.py", "source_location": "L137", "weight": 1.0}, {"source": "$graphify-root$_src_validation_scoring_rationale_170", "target": "$graphify-root$_src_validation_scoring_scorecalculator_calc_area_intensity", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/validation/scoring.py", "source_location": "L170", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_src_validation_scoring_scorecalculator_compute", "callee": "build_dist_cache", "is_member_call": false, "source_file": "src/validation/scoring.py", "source_location": "L35", "receiver": null}, {"caller_nid": "$graphify-root$_src_validation_scoring_scorecalculator_compute", "callee": "items", "is_member_call": true, "source_file": "src/validation/scoring.py", "source_location": "L51", "receiver": "WEIGHTS"}, {"caller_nid": "$graphify-root$_src_validation_scoring_scorecalculator_compute", "callee": "HARD_FAIL_SCORE_CAP", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "src/validation/scoring.py", "source_location": "L54"}, {"caller_nid": "$graphify-root$_src_validation_scoring_scorecalculator_calc_efficiency", "callee": "build_dist_cache", "is_member_call": false, "source_file": "src/validation/scoring.py", "source_location": "L72", "receiver": null}, {"caller_nid": "$graphify-root$_src_validation_scoring_scorecalculator_calc_efficiency", "callee": "get", "is_member_call": true, "source_file": "src/validation/scoring.py", "source_location": "L73", "receiver": "dist_cache"}, {"caller_nid": "$graphify-root$_src_validation_scoring_scorecalculator_calc_efficiency", "callee": "nn_heuristic_km", "is_member_call": false, "source_file": "src/validation/scoring.py", "source_location": "L76", "receiver": null}, {"caller_nid": "$graphify-root$_src_validation_scoring_scorecalculator_calc_feasibility", "callee": "build_dist_cache", "is_member_call": false, "source_file": "src/validation/scoring.py", "source_location": "L92", "receiver": null}, {"caller_nid": "$graphify-root$_src_validation_scoring_scorecalculator_calc_feasibility", "callee": "get_party_profile", "is_member_call": false, "source_file": "src/validation/scoring.py", "source_location": "L95", "receiver": null}, {"caller_nid": "$graphify-root$_src_validation_scoring_scorecalculator_calc_feasibility", "callee": "get_travel_min", "is_member_call": false, "source_file": "src/validation/scoring.py", "source_location": "L101", "receiver": null}, {"caller_nid": "$graphify-root$_src_validation_scoring_scorecalculator_calc_feasibility", "callee": "get", "is_member_call": true, "source_file": "src/validation/scoring.py", "source_location": "L108", "receiver": "dist_cache"}, {"caller_nid": "$graphify-root$_src_validation_scoring_scorecalculator_calc_purpose_fit", "callee": "get", "is_member_call": true, "source_file": "src/validation/scoring.py", "source_location": "L117", "receiver": "INTENT_VECTORS"}, {"caller_nid": "$graphify-root$_src_validation_scoring_scorecalculator_calc_purpose_fit", "callee": "get", "is_member_call": true, "source_file": "src/validation/scoring.py", "source_location": "L128", "receiver": "cat_count"}, {"caller_nid": "$graphify-root$_src_validation_scoring_scorecalculator_calc_purpose_fit", "callee": "items", "is_member_call": true, "source_file": "src/validation/scoring.py", "source_location": "L129", "receiver": "cat_count"}, {"caller_nid": "$graphify-root$_src_validation_scoring_scorecalculator_calc_flow", "callee": "build_dist_cache", "is_member_call": false, "source_file": "src/validation/scoring.py", "source_location": "L146", "receiver": null}, {"caller_nid": "$graphify-root$_src_validation_scoring_scorecalculator_calc_flow", "callee": "get", "is_member_call": true, "source_file": "src/validation/scoring.py", "source_location": "L148", "receiver": "dist_cache"}, {"caller_nid": "$graphify-root$_src_validation_scoring_scorecalculator_calc_flow", "callee": "nn_heuristic_km", "is_member_call": false, "source_file": "src/validation/scoring.py", "source_location": "L149", "receiver": null}, {"caller_nid": "$graphify-root$_src_validation_scoring_scorecalculator_calc_area_intensity", "callee": "get", "is_member_call": true, "source_file": "src/validation/scoring.py", "source_location": "L176", "receiver": "cat_counts"}, {"caller_nid": "$graphify-root$_src_validation_scoring_scorecalculator_calc_area_intensity", "callee": "values", "is_member_call": true, "source_file": "src/validation/scoring.py", "source_location": "L177", "receiver": "cat_counts"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/86e9427e650fb2a467fb8b65ea37600d642a8d96f69d00b481a25699ae861c25.json b/graphify-out/cache/ast/v0.9.31/86e9427e650fb2a467fb8b65ea37600d642a8d96f69d00b481a25699ae861c25.json new file mode 100644 index 0000000..94ade4f --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/86e9427e650fb2a467fb8b65ea37600d642a8d96f69d00b481a25699ae861c25.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_gun_scripts_curated_itineraries_py", "label": "curated_itineraries.py", "file_type": "code", "source_file": "gun/scripts/curated_itineraries.py", "source_location": "L1"}, {"id": "$graphify-root$_gun_scripts_curated_itineraries_make_workbook", "label": "make_workbook()", "file_type": "code", "source_file": "gun/scripts/curated_itineraries.py", "source_location": "L572", "_callable": true}, {"id": "workbook", "label": "Workbook", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/gun/scripts/curated_itineraries.py"}, {"id": "$graphify-root$_gun_scripts_curated_itineraries_main", "label": "main()", "file_type": "code", "source_file": "gun/scripts/curated_itineraries.py", "source_location": "L658", "_callable": true}, {"id": "$graphify-root$_gun_scripts_curated_itineraries_rationale_1", "label": "\ud050\ub808\uc774\uc158 \ucd94\ucc9c \uc77c\uc815 \uc0dd\uc131\uae30. \ud55c\uad6d \uc8fc\uc694 \uad00\uad11\uc9c0 \uae30\ubc18 \uc77c\ubc18 \uc9c0\uc2dd + \ud55c\uad6d\uad00\uad11\uacf5\uc0ac \ucd94\ucc9c \ucf54\uc2a4 \ud328\ud134\uc73c\ub85c 30~40\uac1c \ucd94\ucc9c \uc77c\uc815\uc744\u2026", "file_type": "rationale", "source_file": "gun/scripts/curated_itineraries.py", "source_location": "L1"}], "edges": [{"source": "$graphify-root$_gun_scripts_curated_itineraries_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "gun/scripts/curated_itineraries.py", "source_location": "L20", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_curated_itineraries_py", "target": "openpyxl", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "gun/scripts/curated_itineraries.py", "source_location": "L22", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_curated_itineraries_py", "target": "openpyxl_styles", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "gun/scripts/curated_itineraries.py", "source_location": "L23", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_curated_itineraries_py", "target": "openpyxl_utils", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "gun/scripts/curated_itineraries.py", "source_location": "L24", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_curated_itineraries_py", "target": "openpyxl_worksheet_datavalidation", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "gun/scripts/curated_itineraries.py", "source_location": "L25", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_curated_itineraries_py", "target": "$graphify-root$_gun_scripts_curated_itineraries_make_workbook", "relation": "contains", "confidence": "EXTRACTED", "source_file": "gun/scripts/curated_itineraries.py", "source_location": "L572", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_curated_itineraries_make_workbook", "target": "workbook", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "gun/scripts/curated_itineraries.py", "source_location": "L572", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_curated_itineraries_py", "target": "$graphify-root$_gun_scripts_curated_itineraries_main", "relation": "contains", "confidence": "EXTRACTED", "source_file": "gun/scripts/curated_itineraries.py", "source_location": "L658", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_curated_itineraries_make_workbook", "target": "workbook", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "gun/scripts/curated_itineraries.py", "source_location": "L573", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_curated_itineraries_main", "target": "$graphify-root$_gun_scripts_curated_itineraries_make_workbook", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "gun/scripts/curated_itineraries.py", "source_location": "L659", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_curated_itineraries_rationale_1", "target": "$graphify-root$_gun_scripts_curated_itineraries_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "gun/scripts/curated_itineraries.py", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_gun_scripts_curated_itineraries_make_workbook", "callee": "PatternFill", "is_member_call": false, "source_file": "gun/scripts/curated_itineraries.py", "source_location": "L578", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_curated_itineraries_make_workbook", "callee": "COLS", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/curated_itineraries.py", "source_location": "L580"}, {"caller_nid": "$graphify-root$_gun_scripts_curated_itineraries_make_workbook", "callee": "cell", "is_member_call": true, "source_file": "gun/scripts/curated_itineraries.py", "source_location": "L581", "receiver": "ws"}, {"caller_nid": "$graphify-root$_gun_scripts_curated_itineraries_make_workbook", "callee": "Alignment", "is_member_call": false, "source_file": "gun/scripts/curated_itineraries.py", "source_location": "L584", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_curated_itineraries_make_workbook", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/curated_itineraries.py", "source_location": "L592", "receiver": "SOURCE_MAP"}, {"caller_nid": "$graphify-root$_gun_scripts_curated_itineraries_make_workbook", "callee": "strptime", "is_member_call": true, "source_file": "gun/scripts/curated_itineraries.py", "source_location": "L597", "receiver": "datetime"}, {"caller_nid": "$graphify-root$_gun_scripts_curated_itineraries_make_workbook", "callee": "timedelta", "is_member_call": false, "source_file": "gun/scripts/curated_itineraries.py", "source_location": "L597", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_curated_itineraries_make_workbook", "callee": "strftime", "is_member_call": true, "source_file": "gun/scripts/curated_itineraries.py", "source_location": "L598", "receiver": "date_obj"}, {"caller_nid": "$graphify-root$_gun_scripts_curated_itineraries_make_workbook", "callee": "cell", "is_member_call": true, "source_file": "gun/scripts/curated_itineraries.py", "source_location": "L602", "receiver": "ws"}, {"caller_nid": "$graphify-root$_gun_scripts_curated_itineraries_make_workbook", "callee": "get_column_letter", "is_member_call": false, "source_file": "gun/scripts/curated_itineraries.py", "source_location": "L608", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_curated_itineraries_make_workbook", "callee": "DataValidation", "is_member_call": false, "source_file": "gun/scripts/curated_itineraries.py", "source_location": "L611", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_curated_itineraries_make_workbook", "callee": "join", "is_member_call": true, "source_file": "gun/scripts/curated_itineraries.py", "source_location": "L612", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_curated_itineraries_make_workbook", "callee": "SIDO_OPTIONS", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/curated_itineraries.py", "source_location": "L612"}, {"caller_nid": "$graphify-root$_gun_scripts_curated_itineraries_make_workbook", "callee": "add", "is_member_call": true, "source_file": "gun/scripts/curated_itineraries.py", "source_location": "L613", "receiver": "dv_sido"}, {"caller_nid": "$graphify-root$_gun_scripts_curated_itineraries_make_workbook", "callee": "add_data_validation", "is_member_call": true, "source_file": "gun/scripts/curated_itineraries.py", "source_location": "L614", "receiver": "ws"}, {"caller_nid": "$graphify-root$_gun_scripts_curated_itineraries_make_workbook", "callee": "DataValidation", "is_member_call": false, "source_file": "gun/scripts/curated_itineraries.py", "source_location": "L615", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_curated_itineraries_make_workbook", "callee": "join", "is_member_call": true, "source_file": "gun/scripts/curated_itineraries.py", "source_location": "L616", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_curated_itineraries_make_workbook", "callee": "PERIOD_OPTIONS", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/curated_itineraries.py", "source_location": "L616"}, {"caller_nid": "$graphify-root$_gun_scripts_curated_itineraries_make_workbook", "callee": "add", "is_member_call": true, "source_file": "gun/scripts/curated_itineraries.py", "source_location": "L617", "receiver": "dv_period"}, {"caller_nid": "$graphify-root$_gun_scripts_curated_itineraries_make_workbook", "callee": "add_data_validation", "is_member_call": true, "source_file": "gun/scripts/curated_itineraries.py", "source_location": "L618", "receiver": "ws"}, {"caller_nid": "$graphify-root$_gun_scripts_curated_itineraries_make_workbook", "callee": "DataValidation", "is_member_call": false, "source_file": "gun/scripts/curated_itineraries.py", "source_location": "L619", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_curated_itineraries_make_workbook", "callee": "join", "is_member_call": true, "source_file": "gun/scripts/curated_itineraries.py", "source_location": "L620", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_curated_itineraries_make_workbook", "callee": "CATEGORY_HINTS", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/curated_itineraries.py", "source_location": "L620"}, {"caller_nid": "$graphify-root$_gun_scripts_curated_itineraries_make_workbook", "callee": "add", "is_member_call": true, "source_file": "gun/scripts/curated_itineraries.py", "source_location": "L621", "receiver": "dv_cat"}, {"caller_nid": "$graphify-root$_gun_scripts_curated_itineraries_make_workbook", "callee": "add_data_validation", "is_member_call": true, "source_file": "gun/scripts/curated_itineraries.py", "source_location": "L622", "receiver": "ws"}, {"caller_nid": "$graphify-root$_gun_scripts_curated_itineraries_make_workbook", "callee": "create_sheet", "is_member_call": true, "source_file": "gun/scripts/curated_itineraries.py", "source_location": "L627", "receiver": "wb"}, {"caller_nid": "$graphify-root$_gun_scripts_curated_itineraries_make_workbook", "callee": "cell", "is_member_call": true, "source_file": "gun/scripts/curated_itineraries.py", "source_location": "L649", "receiver": "ws_guide"}, {"caller_nid": "$graphify-root$_gun_scripts_curated_itineraries_make_workbook", "callee": "COLS", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/curated_itineraries.py", "source_location": "L650"}, {"caller_nid": "$graphify-root$_gun_scripts_curated_itineraries_make_workbook", "callee": "cell", "is_member_call": true, "source_file": "gun/scripts/curated_itineraries.py", "source_location": "L651", "receiver": "ws_guide"}, {"caller_nid": "$graphify-root$_gun_scripts_curated_itineraries_main", "callee": "save", "is_member_call": true, "source_file": "gun/scripts/curated_itineraries.py", "source_location": "L660", "receiver": "wb"}, {"caller_nid": "$graphify-root$_gun_scripts_curated_itineraries_main", "callee": "OUTPUT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/curated_itineraries.py", "source_location": "L660"}, {"caller_nid": "$graphify-root$_gun_scripts_curated_itineraries_main", "callee": "ITINERARIES", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/curated_itineraries.py", "source_location": "L661"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/8b3032d9dea8254432ec455666d0463fd63eb4303321b497da5f465c547305d3.json b/graphify-out/cache/ast/v0.9.31/8b3032d9dea8254432ec455666d0463fd63eb4303321b497da5f465c547305d3.json new file mode 100644 index 0000000..c5315f3 --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/8b3032d9dea8254432ec455666d0463fd63eb4303321b497da5f465c547305d3.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_src_validation_hard_fail_py", "label": "hard_fail.py", "file_type": "code", "source_file": "src/validation/hard_fail.py", "source_location": "L1"}, {"id": "$graphify-root$_src_validation_hard_fail_hardfaildetector", "label": "HardFailDetector", "file_type": "code", "source_file": "src/validation/hard_fail.py", "source_location": "L16", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_src_validation_hard_fail_hardfaildetector_detect", "label": ".detect()", "file_type": "code", "source_file": "src/validation/hard_fail.py", "source_location": "L24", "_callable": true}, {"id": "itineraryplan", "label": "ItineraryPlan", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/validation/hard_fail.py"}, {"id": "poi", "label": "POI", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/validation/hard_fail.py"}, {"id": "hardfail", "label": "HardFail", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/validation/hard_fail.py"}, {"id": "$graphify-root$_src_validation_hard_fail_hardfaildetector_check_operating_hours", "label": "._check_operating_hours()", "file_type": "code", "source_file": "src/validation/hard_fail.py", "source_location": "L48", "_callable": true}, {"id": "$graphify-root$_src_validation_hard_fail_hardfaildetector_check_travel_impossible", "label": "._check_travel_impossible()", "file_type": "code", "source_file": "src/validation/hard_fail.py", "source_location": "L110", "_callable": true}, {"id": "$graphify-root$_src_validation_hard_fail_hardfaildetector_check_schedule_infeasible", "label": "._check_schedule_infeasible()", "file_type": "code", "source_file": "src/validation/hard_fail.py", "source_location": "L157", "_callable": true}, {"id": "$graphify-root$_src_validation_hard_fail_hardfaildetector_time_to_min", "label": "._time_to_min()", "file_type": "code", "source_file": "src/validation/hard_fail.py", "source_location": "L188", "_callable": true}, {"id": "$graphify-root$_src_validation_hard_fail_hardfaildetector_min_to_time", "label": "._min_to_time()", "file_type": "code", "source_file": "src/validation/hard_fail.py", "source_location": "L193", "_callable": true}, {"id": "$graphify-root$_src_validation_hard_fail_rationale_1", "label": "Hard Fail \ud0d0\uc9c0\uae30 (\uc6b4\uc601\uc2dc\uac04 \ucda9\ub3cc\u00b7\uc774\ub3d9 \ubd88\uac00\u00b7\uc77c\uc815 \uc2dc\uac04 \ucd08\uacfc).", "file_type": "rationale", "source_file": "src/validation/hard_fail.py", "source_location": "L1"}, {"id": "$graphify-root$_src_validation_hard_fail_rationale_17", "label": "\uc5ec\ud589 \uc77c\uc815\uc758 Hard Fail \uc870\uac74\uc744 \ud0d0\uc9c0\ud55c\ub2e4. External I/O \uc5c6\uc74c. matrix: dict[int, dict[int, dict]]\u2026", "file_type": "rationale", "source_file": "src/validation/hard_fail.py", "source_location": "L17"}, {"id": "$graphify-root$_src_validation_hard_fail_rationale_33", "label": "Hard Fail \ubaa9\ub85d \ubc18\ud658. \uc5c6\uc73c\uba74 \ube48 \ub9ac\uc2a4\ud2b8.", "file_type": "rationale", "source_file": "src/validation/hard_fail.py", "source_location": "L33"}, {"id": "$graphify-root$_src_validation_hard_fail_rationale_56", "label": "\uac01 POI \ub3c4\ucc29 \uc608\uc0c1 \uc2dc\uac04\uc774 \uc6b4\uc601\uc2dc\uac04 \ubc16\uc774\uba74 Hard Fail.", "file_type": "rationale", "source_file": "src/validation/hard_fail.py", "source_location": "L56"}, {"id": "$graphify-root$_src_validation_hard_fail_rationale_118", "label": "\uc774\ub3d9\uc2dc\uac04\uc774 \uc774\uc6a9 \uac00\ub2a5\ud55c \uc2dc\uac04 \ucc3d\uc744 \ucd08\uacfc\ud558\uba74 Hard Fail.", "file_type": "rationale", "source_file": "src/validation/hard_fail.py", "source_location": "L118"}, {"id": "$graphify-root$_src_validation_hard_fail_rationale_164", "label": "\uc2e4\uc81c POI \ub4e4\uc758 \ucd1d \uccb4\ub958+\uc774\ub3d9 \uc2dc\uac04\uc774 24\uc2dc\uac04 \ucd08\uacfc \uc2dc Hard Fail.", "file_type": "rationale", "source_file": "src/validation/hard_fail.py", "source_location": "L164"}], "edges": [{"source": "$graphify-root$_src_validation_hard_fail_py", "target": "src_data_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/validation/hard_fail.py", "source_location": "L4", "weight": 1.0}, {"source": "$graphify-root$_src_validation_hard_fail_py", "target": "src_utils_geo", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/validation/hard_fail.py", "source_location": "L5", "weight": 1.0}, {"source": "$graphify-root$_src_validation_hard_fail_py", "target": "$graphify-root$_src_validation_hard_fail_hardfaildetector", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/validation/hard_fail.py", "source_location": "L16", "weight": 1.0}, {"source": "$graphify-root$_src_validation_hard_fail_hardfaildetector", "target": "$graphify-root$_src_validation_hard_fail_hardfaildetector_detect", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/validation/hard_fail.py", "source_location": "L24", "weight": 1.0}, {"source": "$graphify-root$_src_validation_hard_fail_hardfaildetector_detect", "target": "itineraryplan", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/validation/hard_fail.py", "source_location": "L24", "weight": 1.0}, {"source": "$graphify-root$_src_validation_hard_fail_hardfaildetector_detect", "target": "poi", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/validation/hard_fail.py", "source_location": "L24", "weight": 1.0}, {"source": "$graphify-root$_src_validation_hard_fail_hardfaildetector_detect", "target": "poi", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/validation/hard_fail.py", "source_location": "L24", "weight": 1.0}, {"source": "$graphify-root$_src_validation_hard_fail_hardfaildetector_detect", "target": "hardfail", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/validation/hard_fail.py", "source_location": "L24", "weight": 1.0}, {"source": "$graphify-root$_src_validation_hard_fail_hardfaildetector", "target": "$graphify-root$_src_validation_hard_fail_hardfaildetector_check_operating_hours", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/validation/hard_fail.py", "source_location": "L48", "weight": 1.0}, {"source": "$graphify-root$_src_validation_hard_fail_hardfaildetector_check_operating_hours", "target": "poi", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/validation/hard_fail.py", "source_location": "L48", "weight": 1.0}, {"source": "$graphify-root$_src_validation_hard_fail_hardfaildetector_check_operating_hours", "target": "hardfail", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/validation/hard_fail.py", "source_location": "L48", "weight": 1.0}, {"source": "$graphify-root$_src_validation_hard_fail_hardfaildetector", "target": "$graphify-root$_src_validation_hard_fail_hardfaildetector_check_travel_impossible", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/validation/hard_fail.py", "source_location": "L110", "weight": 1.0}, {"source": "$graphify-root$_src_validation_hard_fail_hardfaildetector_check_travel_impossible", "target": "poi", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/validation/hard_fail.py", "source_location": "L110", "weight": 1.0}, {"source": "$graphify-root$_src_validation_hard_fail_hardfaildetector_check_travel_impossible", "target": "hardfail", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/validation/hard_fail.py", "source_location": "L110", "weight": 1.0}, {"source": "$graphify-root$_src_validation_hard_fail_hardfaildetector", "target": "$graphify-root$_src_validation_hard_fail_hardfaildetector_check_schedule_infeasible", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/validation/hard_fail.py", "source_location": "L157", "weight": 1.0}, {"source": "$graphify-root$_src_validation_hard_fail_hardfaildetector_check_schedule_infeasible", "target": "poi", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/validation/hard_fail.py", "source_location": "L157", "weight": 1.0}, {"source": "$graphify-root$_src_validation_hard_fail_hardfaildetector_check_schedule_infeasible", "target": "hardfail", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/validation/hard_fail.py", "source_location": "L157", "weight": 1.0}, {"source": "$graphify-root$_src_validation_hard_fail_hardfaildetector", "target": "$graphify-root$_src_validation_hard_fail_hardfaildetector_time_to_min", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/validation/hard_fail.py", "source_location": "L188", "weight": 1.0}, {"source": "$graphify-root$_src_validation_hard_fail_hardfaildetector", "target": "$graphify-root$_src_validation_hard_fail_hardfaildetector_min_to_time", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/validation/hard_fail.py", "source_location": "L193", "weight": 1.0}, {"source": "$graphify-root$_src_validation_hard_fail_hardfaildetector_detect", "target": "$graphify-root$_src_validation_hard_fail_hardfaildetector_check_operating_hours", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/validation/hard_fail.py", "source_location": "L40", "weight": 1.0}, {"source": "$graphify-root$_src_validation_hard_fail_hardfaildetector_detect", "target": "$graphify-root$_src_validation_hard_fail_hardfaildetector_check_travel_impossible", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/validation/hard_fail.py", "source_location": "L41", "weight": 1.0}, {"source": "$graphify-root$_src_validation_hard_fail_hardfaildetector_detect", "target": "$graphify-root$_src_validation_hard_fail_hardfaildetector_check_schedule_infeasible", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/validation/hard_fail.py", "source_location": "L42", "weight": 1.0}, {"source": "$graphify-root$_src_validation_hard_fail_hardfaildetector_check_operating_hours", "target": "$graphify-root$_src_validation_hard_fail_hardfaildetector_time_to_min", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/validation/hard_fail.py", "source_location": "L66", "weight": 1.0}, {"source": "$graphify-root$_src_validation_hard_fail_hardfaildetector_check_operating_hours", "target": "hardfail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/validation/hard_fail.py", "source_location": "L81", "weight": 1.0}, {"source": "$graphify-root$_src_validation_hard_fail_hardfaildetector_check_operating_hours", "target": "$graphify-root$_src_validation_hard_fail_hardfaildetector_min_to_time", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/validation/hard_fail.py", "source_location": "L84", "weight": 1.0}, {"source": "$graphify-root$_src_validation_hard_fail_hardfaildetector_check_travel_impossible", "target": "$graphify-root$_src_validation_hard_fail_hardfaildetector_time_to_min", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/validation/hard_fail.py", "source_location": "L123", "weight": 1.0}, {"source": "$graphify-root$_src_validation_hard_fail_hardfaildetector_check_travel_impossible", "target": "hardfail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/validation/hard_fail.py", "source_location": "L137", "weight": 1.0}, {"source": "$graphify-root$_src_validation_hard_fail_hardfaildetector_check_travel_impossible", "target": "$graphify-root$_src_validation_hard_fail_hardfaildetector_min_to_time", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/validation/hard_fail.py", "source_location": "L145", "weight": 1.0}, {"source": "$graphify-root$_src_validation_hard_fail_hardfaildetector_check_schedule_infeasible", "target": "hardfail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/validation/hard_fail.py", "source_location": "L173", "weight": 1.0}, {"source": "$graphify-root$_src_validation_hard_fail_rationale_1", "target": "$graphify-root$_src_validation_hard_fail_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/validation/hard_fail.py", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_src_validation_hard_fail_rationale_17", "target": "$graphify-root$_src_validation_hard_fail_hardfaildetector", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/validation/hard_fail.py", "source_location": "L17", "weight": 1.0}, {"source": "$graphify-root$_src_validation_hard_fail_rationale_33", "target": "$graphify-root$_src_validation_hard_fail_hardfaildetector_detect", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/validation/hard_fail.py", "source_location": "L33", "weight": 1.0}, {"source": "$graphify-root$_src_validation_hard_fail_rationale_56", "target": "$graphify-root$_src_validation_hard_fail_hardfaildetector_check_operating_hours", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/validation/hard_fail.py", "source_location": "L56", "weight": 1.0}, {"source": "$graphify-root$_src_validation_hard_fail_rationale_118", "target": "$graphify-root$_src_validation_hard_fail_hardfaildetector_check_travel_impossible", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/validation/hard_fail.py", "source_location": "L118", "weight": 1.0}, {"source": "$graphify-root$_src_validation_hard_fail_rationale_164", "target": "$graphify-root$_src_validation_hard_fail_hardfaildetector_check_schedule_infeasible", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/validation/hard_fail.py", "source_location": "L164", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_src_validation_hard_fail_hardfaildetector_detect", "callee": "build_dist_cache", "is_member_call": false, "source_file": "src/validation/hard_fail.py", "source_location": "L38", "receiver": null}, {"caller_nid": "$graphify-root$_src_validation_hard_fail_hardfaildetector_detect", "callee": "extend", "is_member_call": true, "source_file": "src/validation/hard_fail.py", "source_location": "L40", "receiver": "fails"}, {"caller_nid": "$graphify-root$_src_validation_hard_fail_hardfaildetector_detect", "callee": "extend", "is_member_call": true, "source_file": "src/validation/hard_fail.py", "source_location": "L41", "receiver": "fails"}, {"caller_nid": "$graphify-root$_src_validation_hard_fail_hardfaildetector_detect", "callee": "extend", "is_member_call": true, "source_file": "src/validation/hard_fail.py", "source_location": "L42", "receiver": "fails"}, {"caller_nid": "$graphify-root$_src_validation_hard_fail_hardfaildetector_check_operating_hours", "callee": "get_travel_min", "is_member_call": false, "source_file": "src/validation/hard_fail.py", "source_location": "L73", "receiver": null}, {"caller_nid": "$graphify-root$_src_validation_hard_fail_hardfaildetector_check_operating_hours", "callee": "hours_estimated", "is_member_call": false, "indirect": true, "context": "getattr", "source_file": "src/validation/hard_fail.py", "source_location": "L78"}, {"caller_nid": "$graphify-root$_src_validation_hard_fail_hardfaildetector_check_operating_hours", "callee": "append", "is_member_call": true, "source_file": "src/validation/hard_fail.py", "source_location": "L81", "receiver": "fails"}, {"caller_nid": "$graphify-root$_src_validation_hard_fail_hardfaildetector_check_operating_hours", "callee": "append", "is_member_call": true, "source_file": "src/validation/hard_fail.py", "source_location": "L93", "receiver": "fails"}, {"caller_nid": "$graphify-root$_src_validation_hard_fail_hardfaildetector_check_travel_impossible", "callee": "get_travel_min", "is_member_call": false, "source_file": "src/validation/hard_fail.py", "source_location": "L131", "receiver": null}, {"caller_nid": "$graphify-root$_src_validation_hard_fail_hardfaildetector_check_travel_impossible", "callee": "append", "is_member_call": true, "source_file": "src/validation/hard_fail.py", "source_location": "L137", "receiver": "fails"}, {"caller_nid": "$graphify-root$_src_validation_hard_fail_hardfaildetector_check_schedule_infeasible", "callee": "get_travel_min", "is_member_call": false, "source_file": "src/validation/hard_fail.py", "source_location": "L169", "receiver": null}, {"caller_nid": "$graphify-root$_src_validation_hard_fail_hardfaildetector_time_to_min", "callee": "int", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "src/validation/hard_fail.py", "source_location": "L189"}, {"caller_nid": "$graphify-root$_src_validation_hard_fail_hardfaildetector_time_to_min", "callee": "split", "is_member_call": true, "source_file": "src/validation/hard_fail.py", "source_location": "L189", "receiver": "hhmm"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/8bd45a30f857e7c8af8cfca512444e80df8ef9bdfd961b6a9769a622895022dc.json b/graphify-out/cache/ast/v0.9.31/8bd45a30f857e7c8af8cfca512444e80df8ef9bdfd961b6a9769a622895022dc.json new file mode 100644 index 0000000..75a0680 --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/8bd45a30f857e7c8af8cfca512444e80df8ef9bdfd961b6a9769a622895022dc.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_tests_test_resolve_poi_py", "label": "test_resolve_poi.py", "file_type": "code", "source_file": "tests/test_resolve_poi.py", "source_location": "L1"}, {"id": "$graphify-root$_tests_test_resolve_poi_write_jeju_xlsx", "label": "_write_jeju_xlsx()", "file_type": "code", "source_file": "tests/test_resolve_poi.py", "source_location": "L19", "_callable": true}, {"id": "fixture", "label": "fixture", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/tests/test_resolve_poi.py"}, {"id": "$graphify-root$_tests_test_resolve_poi_jeju_xlsx_index", "label": "jeju_xlsx_index()", "file_type": "code", "source_file": "tests/test_resolve_poi.py", "source_location": "L29", "_callable": true}, {"id": "$graphify-root$_tests_test_resolve_poi_test_jeju_index_prefers_tourapi_hours_over_legacy_text", "label": "test_jeju_index_prefers_tourapi_hours_over_legacy_text()", "file_type": "code", "source_file": "tests/test_resolve_poi.py", "source_location": "L51", "_callable": true}, {"id": "$graphify-root$_tests_test_resolve_poi_test_jeju_index_sets_contentid_when_tourapi_matched", "label": "test_jeju_index_sets_contentid_when_tourapi_matched()", "file_type": "code", "source_file": "tests/test_resolve_poi.py", "source_location": "L56", "_callable": true}, {"id": "$graphify-root$_tests_test_resolve_poi_test_jeju_index_falls_back_to_legacy_hours_when_unmatched", "label": "test_jeju_index_falls_back_to_legacy_hours_when_unmatched()", "file_type": "code", "source_file": "tests/test_resolve_poi.py", "source_location": "L61", "_callable": true}, {"id": "$graphify-root$_tests_test_resolve_poi_test_jeju_index_sets_pet_friendly_flag_when_y", "label": "test_jeju_index_sets_pet_friendly_flag_when_y()", "file_type": "code", "source_file": "tests/test_resolve_poi.py", "source_location": "L67", "_callable": true}, {"id": "$graphify-root$_tests_test_resolve_poi_test_jeju_index_defaults_pet_friendly_false_when_blank", "label": "test_jeju_index_defaults_pet_friendly_false_when_blank()", "file_type": "code", "source_file": "tests/test_resolve_poi.py", "source_location": "L72", "_callable": true}, {"id": "$graphify-root$_tests_test_resolve_poi_test_resolve_poi_propagates_pet_friendly_flag", "label": "test_resolve_poi_propagates_pet_friendly_flag()", "file_type": "code", "source_file": "tests/test_resolve_poi.py", "source_location": "L77", "_callable": true}, {"id": "$graphify-root$_tests_test_resolve_poi_test_geocode_fallback_used_when_keyword_search_fails", "label": "test_geocode_fallback_used_when_keyword_search_fails()", "file_type": "code", "source_file": "tests/test_resolve_poi.py", "source_location": "L94", "_callable": true}, {"id": "$graphify-root$_tests_test_resolve_poi_test_seoul_fallback_when_geocode_also_fails", "label": "test_seoul_fallback_when_geocode_also_fails()", "file_type": "code", "source_file": "tests/test_resolve_poi.py", "source_location": "L110", "_callable": true}, {"id": "$graphify-root$_tests_test_resolve_poi_test_resolve_coords_endpoint_returns_poi_per_place", "label": "test_resolve_coords_endpoint_returns_poi_per_place()", "file_type": "code", "source_file": "tests/test_resolve_poi.py", "source_location": "L123", "_callable": true}, {"id": "$graphify-root$_tests_test_resolve_poi_rationale_1", "label": "_resolve_poi() \uc88c\ud45c \ud574\uc11d \ud3f4\ubc31 \uc21c\uc11c \ud14c\uc2a4\ud2b8 (\uce74\ud0c8\ub85c\uadf8 \u2192 csv \u2192 kakao \ud0a4\uc6cc\ub4dc \u2192 \uc9c0\uc624\ucf54\ub529 \u2192 \uc11c\uc6b8 \ud3f4\ubc31).", "file_type": "rationale", "source_file": "tests/test_resolve_poi.py", "source_location": "L1"}, {"id": "$graphify-root$_tests_test_resolve_poi_rationale_30", "label": "data/\uc81c\uc8fc\ud2b9\ubcc4\uc790\uce58\ub3c4_\ud1b5\ud569_TourAPI\ubcd1\ud569.xlsx \ub97c \uc784\uc2dc \ud30c\uc77c\ub85c \ub300\uccb4\ud574 _build_jeju_place_index()\ub97c \uaca9\ub9ac \uc2e4\ud589.", "file_type": "rationale", "source_file": "tests/test_resolve_poi.py", "source_location": "L30"}, {"id": "$graphify-root$_tests_test_resolve_poi_rationale_78", "label": "_resolve_poi()\uac00 place dict\uc758 pet_friendly \uc18d\uc131\uc744 POI\u00b7POIInfo\ub85c \uc804\ub2ec\ud55c\ub2e4.", "file_type": "rationale", "source_file": "tests/test_resolve_poi.py", "source_location": "L78"}, {"id": "$graphify-root$_tests_test_resolve_poi_rationale_95", "label": "\uce74\uce74\uc624 \ud0a4\uc6cc\ub4dc \uac80\uc0c9\uc774 \uc2e4\ud328\ud574\ub3c4 \uc8fc\uc18c\uac00 \uc788\uc73c\uba74 \uc9c0\uc624\ucf54\ub529\uc73c\ub85c \uc88c\ud45c\ub97c \ubcf4\uac15\ud55c\ub2e4.", "file_type": "rationale", "source_file": "tests/test_resolve_poi.py", "source_location": "L95"}, {"id": "$graphify-root$_tests_test_resolve_poi_rationale_111", "label": "\uc9c0\uc624\ucf54\ub529\uae4c\uc9c0 \uc2e4\ud328\ud558\uba74 \uae30\uc874\uacfc \ub3d9\uc77c\ud558\uac8c \uc11c\uc6b8 \ud3f4\ubc31\uc73c\ub85c \ub5a8\uc5b4\uc9c4\ub2e4.", "file_type": "rationale", "source_file": "tests/test_resolve_poi.py", "source_location": "L111"}, {"id": "$graphify-root$_tests_test_resolve_poi_rationale_124", "label": "POST /api/resolve-coords \u2014 Step2 \ube4c\ub354 \uc9c0\ub3c4\uc6a9 \uc88c\ud45c \uc870\ud68c (\uac80\uc99d \ud30c\uc774\ud504\ub77c\uc778 \uc5c6\uc774 \uc88c\ud45c\ub9cc).", "file_type": "rationale", "source_file": "tests/test_resolve_poi.py", "source_location": "L124"}], "edges": [{"source": "$graphify-root$_tests_test_resolve_poi_py", "target": "unittest_mock", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_resolve_poi.py", "source_location": "L4", "weight": 1.0}, {"source": "$graphify-root$_tests_test_resolve_poi_py", "target": "openpyxl", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_resolve_poi.py", "source_location": "L6", "weight": 1.0}, {"source": "$graphify-root$_tests_test_resolve_poi_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_resolve_poi.py", "source_location": "L7", "weight": 1.0}, {"source": "$graphify-root$_tests_test_resolve_poi_py", "target": "fastapi_testclient", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_resolve_poi.py", "source_location": "L8", "weight": 1.0}, {"source": "$graphify-root$_tests_test_resolve_poi_py", "target": "src_api", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_resolve_poi.py", "source_location": "L10", "weight": 1.0}, {"source": "$graphify-root$_tests_test_resolve_poi_py", "target": "src_api_main", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_resolve_poi.py", "source_location": "L11", "weight": 1.0}, {"source": "$graphify-root$_tests_test_resolve_poi_py", "target": "$graphify-root$_tests_test_resolve_poi_write_jeju_xlsx", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_resolve_poi.py", "source_location": "L19", "weight": 1.0}, {"source": "$graphify-root$_tests_test_resolve_poi_jeju_xlsx_index", "target": "fixture", "relation": "references", "confidence": "EXTRACTED", "source_file": "tests/test_resolve_poi.py", "source_location": "L28", "weight": 1.0, "context": "decorator"}, {"source": "$graphify-root$_tests_test_resolve_poi_py", "target": "$graphify-root$_tests_test_resolve_poi_jeju_xlsx_index", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_resolve_poi.py", "source_location": "L29", "weight": 1.0}, {"source": "$graphify-root$_tests_test_resolve_poi_py", "target": "$graphify-root$_tests_test_resolve_poi_test_jeju_index_prefers_tourapi_hours_over_legacy_text", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_resolve_poi.py", "source_location": "L51", "weight": 1.0}, {"source": "$graphify-root$_tests_test_resolve_poi_py", "target": "$graphify-root$_tests_test_resolve_poi_test_jeju_index_sets_contentid_when_tourapi_matched", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_resolve_poi.py", "source_location": "L56", "weight": 1.0}, {"source": "$graphify-root$_tests_test_resolve_poi_py", "target": "$graphify-root$_tests_test_resolve_poi_test_jeju_index_falls_back_to_legacy_hours_when_unmatched", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_resolve_poi.py", "source_location": "L61", "weight": 1.0}, {"source": "$graphify-root$_tests_test_resolve_poi_py", "target": "$graphify-root$_tests_test_resolve_poi_test_jeju_index_sets_pet_friendly_flag_when_y", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_resolve_poi.py", "source_location": "L67", "weight": 1.0}, {"source": "$graphify-root$_tests_test_resolve_poi_py", "target": "$graphify-root$_tests_test_resolve_poi_test_jeju_index_defaults_pet_friendly_false_when_blank", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_resolve_poi.py", "source_location": "L72", "weight": 1.0}, {"source": "$graphify-root$_tests_test_resolve_poi_py", "target": "$graphify-root$_tests_test_resolve_poi_test_resolve_poi_propagates_pet_friendly_flag", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_resolve_poi.py", "source_location": "L77", "weight": 1.0}, {"source": "$graphify-root$_tests_test_resolve_poi_py", "target": "$graphify-root$_tests_test_resolve_poi_test_geocode_fallback_used_when_keyword_search_fails", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_resolve_poi.py", "source_location": "L94", "weight": 1.0}, {"source": "$graphify-root$_tests_test_resolve_poi_py", "target": "$graphify-root$_tests_test_resolve_poi_test_seoul_fallback_when_geocode_also_fails", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_resolve_poi.py", "source_location": "L110", "weight": 1.0}, {"source": "$graphify-root$_tests_test_resolve_poi_py", "target": "$graphify-root$_tests_test_resolve_poi_test_resolve_coords_endpoint_returns_poi_per_place", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_resolve_poi.py", "source_location": "L123", "weight": 1.0}, {"source": "$graphify-root$_tests_test_resolve_poi_jeju_xlsx_index", "target": "$graphify-root$_tests_test_resolve_poi_write_jeju_xlsx", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_resolve_poi.py", "source_location": "L31", "weight": 1.0}, {"source": "$graphify-root$_tests_test_resolve_poi_rationale_1", "target": "$graphify-root$_tests_test_resolve_poi_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_resolve_poi.py", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_tests_test_resolve_poi_rationale_30", "target": "$graphify-root$_tests_test_resolve_poi_jeju_xlsx_index", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_resolve_poi.py", "source_location": "L30", "weight": 1.0}, {"source": "$graphify-root$_tests_test_resolve_poi_rationale_78", "target": "$graphify-root$_tests_test_resolve_poi_test_resolve_poi_propagates_pet_friendly_flag", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_resolve_poi.py", "source_location": "L78", "weight": 1.0}, {"source": "$graphify-root$_tests_test_resolve_poi_rationale_95", "target": "$graphify-root$_tests_test_resolve_poi_test_geocode_fallback_used_when_keyword_search_fails", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_resolve_poi.py", "source_location": "L95", "weight": 1.0}, {"source": "$graphify-root$_tests_test_resolve_poi_rationale_111", "target": "$graphify-root$_tests_test_resolve_poi_test_seoul_fallback_when_geocode_also_fails", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_resolve_poi.py", "source_location": "L111", "weight": 1.0}, {"source": "$graphify-root$_tests_test_resolve_poi_rationale_124", "target": "$graphify-root$_tests_test_resolve_poi_test_resolve_coords_endpoint_returns_poi_per_place", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_resolve_poi.py", "source_location": "L124", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_tests_test_resolve_poi_write_jeju_xlsx", "callee": "Workbook", "is_member_call": true, "source_file": "tests/test_resolve_poi.py", "source_location": "L20", "receiver": "openpyxl"}, {"caller_nid": "$graphify-root$_tests_test_resolve_poi_write_jeju_xlsx", "callee": "append", "is_member_call": true, "source_file": "tests/test_resolve_poi.py", "source_location": "L22", "receiver": "ws"}, {"caller_nid": "$graphify-root$_tests_test_resolve_poi_write_jeju_xlsx", "callee": "_XLSX_HEADER", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "tests/test_resolve_poi.py", "source_location": "L22"}, {"caller_nid": "$graphify-root$_tests_test_resolve_poi_write_jeju_xlsx", "callee": "append", "is_member_call": true, "source_file": "tests/test_resolve_poi.py", "source_location": "L24", "receiver": "ws"}, {"caller_nid": "$graphify-root$_tests_test_resolve_poi_write_jeju_xlsx", "callee": "get", "is_member_call": true, "source_file": "tests/test_resolve_poi.py", "source_location": "L24", "receiver": "row"}, {"caller_nid": "$graphify-root$_tests_test_resolve_poi_write_jeju_xlsx", "callee": "save", "is_member_call": true, "source_file": "tests/test_resolve_poi.py", "source_location": "L25", "receiver": "wb"}, {"caller_nid": "$graphify-root$_tests_test_resolve_poi_jeju_xlsx_index", "callee": "router", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "tests/test_resolve_poi.py", "source_location": "L47"}, {"caller_nid": "$graphify-root$_tests_test_resolve_poi_jeju_xlsx_index", "callee": "_build_jeju_place_index", "is_member_call": true, "source_file": "tests/test_resolve_poi.py", "source_location": "L48", "receiver": "router"}, {"caller_nid": "$graphify-root$_tests_test_resolve_poi_test_jeju_index_prefers_tourapi_hours_over_legacy_text", "callee": "_normalize", "is_member_call": true, "source_file": "tests/test_resolve_poi.py", "source_location": "L52", "receiver": "router"}, {"caller_nid": "$graphify-root$_tests_test_resolve_poi_test_jeju_index_sets_contentid_when_tourapi_matched", "callee": "_normalize", "is_member_call": true, "source_file": "tests/test_resolve_poi.py", "source_location": "L57", "receiver": "router"}, {"caller_nid": "$graphify-root$_tests_test_resolve_poi_test_jeju_index_falls_back_to_legacy_hours_when_unmatched", "callee": "_normalize", "is_member_call": true, "source_file": "tests/test_resolve_poi.py", "source_location": "L62", "receiver": "router"}, {"caller_nid": "$graphify-root$_tests_test_resolve_poi_test_jeju_index_sets_pet_friendly_flag_when_y", "callee": "_normalize", "is_member_call": true, "source_file": "tests/test_resolve_poi.py", "source_location": "L68", "receiver": "router"}, {"caller_nid": "$graphify-root$_tests_test_resolve_poi_test_jeju_index_defaults_pet_friendly_false_when_blank", "callee": "_normalize", "is_member_call": true, "source_file": "tests/test_resolve_poi.py", "source_location": "L73", "receiver": "router"}, {"caller_nid": "$graphify-root$_tests_test_resolve_poi_test_jeju_index_defaults_pet_friendly_false_when_blank", "callee": "get", "is_member_call": true, "source_file": "tests/test_resolve_poi.py", "source_location": "L74", "receiver": "entry"}, {"caller_nid": "$graphify-root$_tests_test_resolve_poi_test_resolve_poi_propagates_pet_friendly_flag", "callee": "setitem", "is_member_call": true, "source_file": "tests/test_resolve_poi.py", "source_location": "L79", "receiver": "monkeypatch"}, {"caller_nid": "$graphify-root$_tests_test_resolve_poi_test_resolve_poi_propagates_pet_friendly_flag", "callee": "_normalize", "is_member_call": true, "source_file": "tests/test_resolve_poi.py", "source_location": "L81", "receiver": "router"}, {"caller_nid": "$graphify-root$_tests_test_resolve_poi_test_resolve_poi_propagates_pet_friendly_flag", "callee": "_resolve_poi", "is_member_call": true, "source_file": "tests/test_resolve_poi.py", "source_location": "L89", "receiver": "router"}, {"caller_nid": "$graphify-root$_tests_test_resolve_poi_test_geocode_fallback_used_when_keyword_search_fails", "callee": "object", "is_member_call": true, "source_file": "tests/test_resolve_poi.py", "source_location": "L97", "receiver": "patch"}, {"caller_nid": "$graphify-root$_tests_test_resolve_poi_test_geocode_fallback_used_when_keyword_search_fails", "callee": "object", "is_member_call": true, "source_file": "tests/test_resolve_poi.py", "source_location": "L98", "receiver": "patch"}, {"caller_nid": "$graphify-root$_tests_test_resolve_poi_test_geocode_fallback_used_when_keyword_search_fails", "callee": "_resolve_poi", "is_member_call": true, "source_file": "tests/test_resolve_poi.py", "source_location": "L100", "receiver": "router"}, {"caller_nid": "$graphify-root$_tests_test_resolve_poi_test_seoul_fallback_when_geocode_also_fails", "callee": "object", "is_member_call": true, "source_file": "tests/test_resolve_poi.py", "source_location": "L113", "receiver": "patch"}, {"caller_nid": "$graphify-root$_tests_test_resolve_poi_test_seoul_fallback_when_geocode_also_fails", "callee": "object", "is_member_call": true, "source_file": "tests/test_resolve_poi.py", "source_location": "L114", "receiver": "patch"}, {"caller_nid": "$graphify-root$_tests_test_resolve_poi_test_seoul_fallback_when_geocode_also_fails", "callee": "_resolve_poi", "is_member_call": true, "source_file": "tests/test_resolve_poi.py", "source_location": "L116", "receiver": "router"}, {"caller_nid": "$graphify-root$_tests_test_resolve_poi_test_resolve_coords_endpoint_returns_poi_per_place", "callee": "TestClient", "is_member_call": false, "source_file": "tests/test_resolve_poi.py", "source_location": "L125", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_resolve_poi_test_resolve_coords_endpoint_returns_poi_per_place", "callee": "app", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "tests/test_resolve_poi.py", "source_location": "L125"}, {"caller_nid": "$graphify-root$_tests_test_resolve_poi_test_resolve_coords_endpoint_returns_poi_per_place", "callee": "object", "is_member_call": true, "source_file": "tests/test_resolve_poi.py", "source_location": "L127", "receiver": "patch"}, {"caller_nid": "$graphify-root$_tests_test_resolve_poi_test_resolve_coords_endpoint_returns_poi_per_place", "callee": "object", "is_member_call": true, "source_file": "tests/test_resolve_poi.py", "source_location": "L128", "receiver": "patch"}, {"caller_nid": "$graphify-root$_tests_test_resolve_poi_test_resolve_coords_endpoint_returns_poi_per_place", "callee": "post", "is_member_call": true, "source_file": "tests/test_resolve_poi.py", "source_location": "L130", "receiver": "client"}, {"caller_nid": "$graphify-root$_tests_test_resolve_poi_test_resolve_coords_endpoint_returns_poi_per_place", "callee": "json", "is_member_call": true, "source_file": "tests/test_resolve_poi.py", "source_location": "L136", "receiver": "res"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/8c0bf46d9ea062ee35d3676e1e9130054bdf1a47a46b44385e691c603e8f1954.json b/graphify-out/cache/ast/v0.9.31/8c0bf46d9ea062ee35d3676e1e9130054bdf1a47a46b44385e691c603e8f1954.json new file mode 100644 index 0000000..faf1954 --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/8c0bf46d9ea062ee35d3676e1e9130054bdf1a47a46b44385e691c603e8f1954.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_gun_scripts_build_hours_db_py", "label": "build_hours_db.py", "file_type": "code", "source_file": "gun/scripts/build_hours_db.py", "source_location": "L1"}, {"id": "$graphify-root$_gun_scripts_build_hours_db_match_sub_category", "label": "match_sub_category()", "file_type": "code", "source_file": "gun/scripts/build_hours_db.py", "source_location": "L403", "_callable": true}, {"id": "$graphify-root$_gun_scripts_build_hours_db_confidence", "label": "confidence()", "file_type": "code", "source_file": "gun/scripts/build_hours_db.py", "source_location": "L428", "_callable": true}, {"id": "$graphify-root$_gun_scripts_build_hours_db_build_place_hours_xlsx", "label": "build_place_hours_xlsx()", "file_type": "code", "source_file": "gun/scripts/build_hours_db.py", "source_location": "L442", "_callable": true}, {"id": "counter", "label": "Counter", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/gun/scripts/build_hours_db.py"}, {"id": "$graphify-root$_gun_scripts_build_hours_db_build_category_std_xlsx", "label": "build_category_std_xlsx()", "file_type": "code", "source_file": "gun/scripts/build_hours_db.py", "source_location": "L543", "_callable": true}, {"id": "$graphify-root$_gun_scripts_build_hours_db_build_hours_db_py", "label": "build_hours_db_py()", "file_type": "code", "source_file": "gun/scripts/build_hours_db.py", "source_location": "L605", "_callable": true}, {"id": "$graphify-root$_gun_scripts_build_hours_db_main", "label": "main()", "file_type": "code", "source_file": "gun/scripts/build_hours_db.py", "source_location": "L700", "_callable": true}, {"id": "$graphify-root$_gun_scripts_build_hours_db_rationale_1", "label": "322\uac1c \uc7a5\uc18c \uc6b4\uc601\uc2dc\uac04 baseline + \uce74\ud14c\uace0\ub9ac \ud45c\uc900\uac12 \uc138\ud305. \uc0b0\ucd9c\ubb3c: 1. gun/data/place_hours_322.xlsx \u2014\u2026", "file_type": "rationale", "source_file": "gun/scripts/build_hours_db.py", "source_location": "L1"}, {"id": "$graphify-root$_gun_scripts_build_hours_db_rationale_404", "label": "\uc774\ub984 + \uce74\ud14c\uace0\ub9ac\ud78c\ud2b8\ub85c sub_category \uacb0\uc815.", "file_type": "rationale", "source_file": "gun/scripts/build_hours_db.py", "source_location": "L404"}, {"id": "$graphify-root$_gun_scripts_build_hours_db_rationale_429", "label": "\ub9e4\uce6d \ud655\uc2e0\ub3c4 \u2014 \ud6c4\uc18d \uac80\uc0c9 \uc6b0\uc120\uc21c\uc704 \uacb0\uc815.", "file_type": "rationale", "source_file": "gun/scripts/build_hours_db.py", "source_location": "L429"}], "edges": [{"source": "$graphify-root$_gun_scripts_build_hours_db_py", "target": "re", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_hours_db.py", "source_location": "L17", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_hours_db_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_hours_db.py", "source_location": "L18", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_hours_db_py", "target": "collections", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_hours_db.py", "source_location": "L19", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_hours_db_py", "target": "openpyxl", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_hours_db.py", "source_location": "L21", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_hours_db_py", "target": "openpyxl_styles", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_hours_db.py", "source_location": "L22", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_hours_db_py", "target": "openpyxl_utils", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_hours_db.py", "source_location": "L23", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_hours_db_py", "target": "$graphify-root$_gun_scripts_build_hours_db_match_sub_category", "relation": "contains", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_hours_db.py", "source_location": "L403", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_hours_db_py", "target": "$graphify-root$_gun_scripts_build_hours_db_confidence", "relation": "contains", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_hours_db.py", "source_location": "L428", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_hours_db_py", "target": "$graphify-root$_gun_scripts_build_hours_db_build_place_hours_xlsx", "relation": "contains", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_hours_db.py", "source_location": "L442", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_hours_db_build_place_hours_xlsx", "target": "counter", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_hours_db.py", "source_location": "L442", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_hours_db_py", "target": "$graphify-root$_gun_scripts_build_hours_db_build_category_std_xlsx", "relation": "contains", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_hours_db.py", "source_location": "L543", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_hours_db_build_category_std_xlsx", "target": "counter", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_hours_db.py", "source_location": "L543", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_hours_db_py", "target": "$graphify-root$_gun_scripts_build_hours_db_build_hours_db_py", "relation": "contains", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_hours_db.py", "source_location": "L605", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_hours_db_py", "target": "$graphify-root$_gun_scripts_build_hours_db_main", "relation": "contains", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_hours_db.py", "source_location": "L700", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_hours_db_build_place_hours_xlsx", "target": "counter", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_hours_db.py", "source_location": "L456", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_hours_db_build_place_hours_xlsx", "target": "$graphify-root$_gun_scripts_build_hours_db_match_sub_category", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_hours_db.py", "source_location": "L459", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_hours_db_build_place_hours_xlsx", "target": "$graphify-root$_gun_scripts_build_hours_db_confidence", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_hours_db.py", "source_location": "L474", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_hours_db_main", "target": "$graphify-root$_gun_scripts_build_hours_db_build_place_hours_xlsx", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_hours_db.py", "source_location": "L701", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_hours_db_main", "target": "$graphify-root$_gun_scripts_build_hours_db_build_category_std_xlsx", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_hours_db.py", "source_location": "L702", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_hours_db_main", "target": "$graphify-root$_gun_scripts_build_hours_db_build_hours_db_py", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_hours_db.py", "source_location": "L703", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_hours_db_rationale_1", "target": "$graphify-root$_gun_scripts_build_hours_db_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_hours_db.py", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_hours_db_rationale_404", "target": "$graphify-root$_gun_scripts_build_hours_db_match_sub_category", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_hours_db.py", "source_location": "L404", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_hours_db_rationale_429", "target": "$graphify-root$_gun_scripts_build_hours_db_confidence", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_hours_db.py", "source_location": "L429", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_gun_scripts_build_hours_db_match_sub_category", "callee": "replace", "is_member_call": true, "source_file": "gun/scripts/build_hours_db.py", "source_location": "L405", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_build_hours_db_match_sub_category", "callee": "search", "is_member_call": true, "source_file": "gun/scripts/build_hours_db.py", "source_location": "L407", "receiver": "re"}, {"caller_nid": "$graphify-root$_gun_scripts_build_hours_db_match_sub_category", "callee": "strip", "is_member_call": true, "source_file": "gun/scripts/build_hours_db.py", "source_location": "L411", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_build_hours_db_confidence", "callee": "replace", "is_member_call": true, "source_file": "gun/scripts/build_hours_db.py", "source_location": "L433", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_build_hours_db_build_place_hours_xlsx", "callee": "load_workbook", "is_member_call": false, "source_file": "gun/scripts/build_hours_db.py", "source_location": "L443", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_build_hours_db_build_place_hours_xlsx", "callee": "INPUT_XLSX", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/build_hours_db.py", "source_location": "L443"}, {"caller_nid": "$graphify-root$_gun_scripts_build_hours_db_build_place_hours_xlsx", "callee": "iter_rows", "is_member_call": true, "source_file": "gun/scripts/build_hours_db.py", "source_location": "L448", "receiver": "ws_in"}, {"caller_nid": "$graphify-root$_gun_scripts_build_hours_db_build_place_hours_xlsx", "callee": "strip", "is_member_call": true, "source_file": "gun/scripts/build_hours_db.py", "source_location": "L452", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_build_hours_db_build_place_hours_xlsx", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/build_hours_db.py", "source_location": "L452", "receiver": "rec"}, {"caller_nid": "$graphify-root$_gun_scripts_build_hours_db_build_place_hours_xlsx", "callee": "append", "is_member_call": true, "source_file": "gun/scripts/build_hours_db.py", "source_location": "L454", "receiver": "rows"}, {"caller_nid": "$graphify-root$_gun_scripts_build_hours_db_build_place_hours_xlsx", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/build_hours_db.py", "source_location": "L459", "receiver": "rec"}, {"caller_nid": "$graphify-root$_gun_scripts_build_hours_db_build_place_hours_xlsx", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/build_hours_db.py", "source_location": "L459", "receiver": "rec"}, {"caller_nid": "$graphify-root$_gun_scripts_build_hours_db_build_place_hours_xlsx", "callee": "join", "is_member_call": true, "source_file": "gun/scripts/build_hours_db.py", "source_location": "L463", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_build_hours_db_build_place_hours_xlsx", "callee": "append", "is_member_call": true, "source_file": "gun/scripts/build_hours_db.py", "source_location": "L465", "receiver": "enriched"}, {"caller_nid": "$graphify-root$_gun_scripts_build_hours_db_build_place_hours_xlsx", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/build_hours_db.py", "source_location": "L474", "receiver": "rec"}, {"caller_nid": "$graphify-root$_gun_scripts_build_hours_db_build_place_hours_xlsx", "callee": "Workbook", "is_member_call": false, "source_file": "gun/scripts/build_hours_db.py", "source_location": "L480", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_build_hours_db_build_place_hours_xlsx", "callee": "PatternFill", "is_member_call": false, "source_file": "gun/scripts/build_hours_db.py", "source_location": "L503", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_build_hours_db_build_place_hours_xlsx", "callee": "Side", "is_member_call": false, "source_file": "gun/scripts/build_hours_db.py", "source_location": "L506", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_build_hours_db_build_place_hours_xlsx", "callee": "Border", "is_member_call": false, "source_file": "gun/scripts/build_hours_db.py", "source_location": "L507", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_build_hours_db_build_place_hours_xlsx", "callee": "PatternFill", "is_member_call": false, "source_file": "gun/scripts/build_hours_db.py", "source_location": "L509", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_build_hours_db_build_place_hours_xlsx", "callee": "PatternFill", "is_member_call": false, "source_file": "gun/scripts/build_hours_db.py", "source_location": "L510", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_build_hours_db_build_place_hours_xlsx", "callee": "cell", "is_member_call": true, "source_file": "gun/scripts/build_hours_db.py", "source_location": "L513", "receiver": "ws"}, {"caller_nid": "$graphify-root$_gun_scripts_build_hours_db_build_place_hours_xlsx", "callee": "Alignment", "is_member_call": false, "source_file": "gun/scripts/build_hours_db.py", "source_location": "L516", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_build_hours_db_build_place_hours_xlsx", "callee": "get_column_letter", "is_member_call": false, "source_file": "gun/scripts/build_hours_db.py", "source_location": "L518", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_build_hours_db_build_place_hours_xlsx", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/build_hours_db.py", "source_location": "L522", "receiver": "rec"}, {"caller_nid": "$graphify-root$_gun_scripts_build_hours_db_build_place_hours_xlsx", "callee": "cell", "is_member_call": true, "source_file": "gun/scripts/build_hours_db.py", "source_location": "L523", "receiver": "ws"}, {"caller_nid": "$graphify-root$_gun_scripts_build_hours_db_build_place_hours_xlsx", "callee": "Alignment", "is_member_call": false, "source_file": "gun/scripts/build_hours_db.py", "source_location": "L526", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_build_hours_db_build_place_hours_xlsx", "callee": "save", "is_member_call": true, "source_file": "gun/scripts/build_hours_db.py", "source_location": "L535", "receiver": "wb"}, {"caller_nid": "$graphify-root$_gun_scripts_build_hours_db_build_place_hours_xlsx", "callee": "OUT_PLACE", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/build_hours_db.py", "source_location": "L535"}, {"caller_nid": "$graphify-root$_gun_scripts_build_hours_db_build_place_hours_xlsx", "callee": "relative_to", "is_member_call": true, "source_file": "gun/scripts/build_hours_db.py", "source_location": "L536", "receiver": "OUT_PLACE"}, {"caller_nid": "$graphify-root$_gun_scripts_build_hours_db_build_place_hours_xlsx", "callee": "ROOT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/build_hours_db.py", "source_location": "L536"}, {"caller_nid": "$graphify-root$_gun_scripts_build_hours_db_build_category_std_xlsx", "callee": "Workbook", "is_member_call": false, "source_file": "gun/scripts/build_hours_db.py", "source_location": "L544", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_build_hours_db_build_category_std_xlsx", "callee": "PatternFill", "is_member_call": false, "source_file": "gun/scripts/build_hours_db.py", "source_location": "L560", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_build_hours_db_build_category_std_xlsx", "callee": "Side", "is_member_call": false, "source_file": "gun/scripts/build_hours_db.py", "source_location": "L563", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_build_hours_db_build_category_std_xlsx", "callee": "Border", "is_member_call": false, "source_file": "gun/scripts/build_hours_db.py", "source_location": "L564", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_build_hours_db_build_category_std_xlsx", "callee": "cell", "is_member_call": true, "source_file": "gun/scripts/build_hours_db.py", "source_location": "L567", "receiver": "ws"}, {"caller_nid": "$graphify-root$_gun_scripts_build_hours_db_build_category_std_xlsx", "callee": "Alignment", "is_member_call": false, "source_file": "gun/scripts/build_hours_db.py", "source_location": "L570", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_build_hours_db_build_category_std_xlsx", "callee": "get_column_letter", "is_member_call": false, "source_file": "gun/scripts/build_hours_db.py", "source_location": "L572", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_build_hours_db_build_category_std_xlsx", "callee": "items", "is_member_call": true, "source_file": "gun/scripts/build_hours_db.py", "source_location": "L575", "receiver": "SUB_CATEGORIES"}, {"caller_nid": "$graphify-root$_gun_scripts_build_hours_db_build_category_std_xlsx", "callee": "join", "is_member_call": true, "source_file": "gun/scripts/build_hours_db.py", "source_location": "L576", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_build_hours_db_build_category_std_xlsx", "callee": "join", "is_member_call": true, "source_file": "gun/scripts/build_hours_db.py", "source_location": "L577", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_build_hours_db_build_category_std_xlsx", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/build_hours_db.py", "source_location": "L581", "receiver": "sub_counter"}, {"caller_nid": "$graphify-root$_gun_scripts_build_hours_db_build_category_std_xlsx", "callee": "cell", "is_member_call": true, "source_file": "gun/scripts/build_hours_db.py", "source_location": "L584", "receiver": "ws"}, {"caller_nid": "$graphify-root$_gun_scripts_build_hours_db_build_category_std_xlsx", "callee": "Alignment", "is_member_call": false, "source_file": "gun/scripts/build_hours_db.py", "source_location": "L587", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_build_hours_db_build_category_std_xlsx", "callee": "cell", "is_member_call": true, "source_file": "gun/scripts/build_hours_db.py", "source_location": "L595", "receiver": "ws"}, {"caller_nid": "$graphify-root$_gun_scripts_build_hours_db_build_category_std_xlsx", "callee": "cell", "is_member_call": true, "source_file": "gun/scripts/build_hours_db.py", "source_location": "L596", "receiver": "ws"}, {"caller_nid": "$graphify-root$_gun_scripts_build_hours_db_build_category_std_xlsx", "callee": "save", "is_member_call": true, "source_file": "gun/scripts/build_hours_db.py", "source_location": "L598", "receiver": "wb"}, {"caller_nid": "$graphify-root$_gun_scripts_build_hours_db_build_category_std_xlsx", "callee": "OUT_STD", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/build_hours_db.py", "source_location": "L598"}, {"caller_nid": "$graphify-root$_gun_scripts_build_hours_db_build_category_std_xlsx", "callee": "relative_to", "is_member_call": true, "source_file": "gun/scripts/build_hours_db.py", "source_location": "L599", "receiver": "OUT_STD"}, {"caller_nid": "$graphify-root$_gun_scripts_build_hours_db_build_category_std_xlsx", "callee": "ROOT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/build_hours_db.py", "source_location": "L599"}, {"caller_nid": "$graphify-root$_gun_scripts_build_hours_db_build_category_std_xlsx", "callee": "SUB_CATEGORIES", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/build_hours_db.py", "source_location": "L599"}, {"caller_nid": "$graphify-root$_gun_scripts_build_hours_db_build_hours_db_py", "callee": "mkdir", "is_member_call": true, "source_file": "gun/scripts/build_hours_db.py", "source_location": "L606", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_build_hours_db_build_hours_db_py", "callee": "items", "is_member_call": true, "source_file": "gun/scripts/build_hours_db.py", "source_location": "L609", "receiver": "SUB_CATEGORIES"}, {"caller_nid": "$graphify-root$_gun_scripts_build_hours_db_build_hours_db_py", "callee": "append", "is_member_call": true, "source_file": "gun/scripts/build_hours_db.py", "source_location": "L610", "receiver": "items_src"}, {"caller_nid": "$graphify-root$_gun_scripts_build_hours_db_build_hours_db_py", "callee": "join", "is_member_call": true, "source_file": "gun/scripts/build_hours_db.py", "source_location": "L618", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_build_hours_db_build_hours_db_py", "callee": "join", "is_member_call": true, "source_file": "gun/scripts/build_hours_db.py", "source_location": "L644", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_build_hours_db_build_hours_db_py", "callee": "chr", "is_member_call": false, "source_file": "gun/scripts/build_hours_db.py", "source_location": "L644", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_build_hours_db_build_hours_db_py", "callee": "write_text", "is_member_call": true, "source_file": "gun/scripts/build_hours_db.py", "source_location": "L695", "receiver": "OUT_PY"}, {"caller_nid": "$graphify-root$_gun_scripts_build_hours_db_build_hours_db_py", "callee": "relative_to", "is_member_call": true, "source_file": "gun/scripts/build_hours_db.py", "source_location": "L696", "receiver": "OUT_PY"}, {"caller_nid": "$graphify-root$_gun_scripts_build_hours_db_build_hours_db_py", "callee": "ROOT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/build_hours_db.py", "source_location": "L696"}, {"caller_nid": "$graphify-root$_gun_scripts_build_hours_db_build_hours_db_py", "callee": "SUB_CATEGORIES", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/build_hours_db.py", "source_location": "L696"}, {"caller_nid": "$graphify-root$_gun_scripts_build_hours_db_build_hours_db_py", "callee": "KEYWORD_RULES", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/build_hours_db.py", "source_location": "L696"}, {"caller_nid": "$graphify-root$_gun_scripts_build_hours_db_main", "callee": "most_common", "is_member_call": true, "source_file": "gun/scripts/build_hours_db.py", "source_location": "L707", "receiver": "counter"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/8eda4ee5e0635eaecbd4bbed862043f08605b1ca7da57bf076a16dc7e03a163b.json b/graphify-out/cache/ast/v0.9.31/8eda4ee5e0635eaecbd4bbed862043f08605b1ca7da57bf076a16dc7e03a163b.json new file mode 100644 index 0000000..151ad23 --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/8eda4ee5e0635eaecbd4bbed862043f08605b1ca7da57bf076a16dc7e03a163b.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_src_scoring_travel_ratio_py", "label": "travel_ratio.py", "file_type": "code", "source_file": "src/scoring/travel_ratio.py", "source_location": "L1"}, {"id": "$graphify-root$_src_scoring_travel_ratio_dayratiometric", "label": "DayRatioMetric", "file_type": "code", "source_file": "src/scoring/travel_ratio.py", "source_location": "L28", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_src_scoring_travel_ratio_travelratioreport", "label": "TravelRatioReport", "file_type": "code", "source_file": "src/scoring/travel_ratio.py", "source_location": "L37", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_src_scoring_travel_ratio_compute_day_metric", "label": "_compute_day_metric()", "file_type": "code", "source_file": "src/scoring/travel_ratio.py", "source_location": "L45", "_callable": true}, {"id": "vrptwplace", "label": "VRPTWPlace", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/scoring/travel_ratio.py"}, {"id": "timematrix", "label": "TimeMatrix", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/scoring/travel_ratio.py"}, {"id": "$graphify-root$_src_scoring_travel_ratio_classify_ratio", "label": "_classify_ratio()", "file_type": "code", "source_file": "src/scoring/travel_ratio.py", "source_location": "L70", "_callable": true}, {"id": "$graphify-root$_src_scoring_travel_ratio_evaluate_travel_ratio", "label": "evaluate_travel_ratio()", "file_type": "code", "source_file": "src/scoring/travel_ratio.py", "source_location": "L81", "_callable": true}, {"id": "vrptwday", "label": "VRPTWDay", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/scoring/travel_ratio.py"}, {"id": "$graphify-root$_src_scoring_travel_ratio_rationale_1", "label": "\uc774\ub3d9 vs \uad00\uad11 \uc2dc\uac04 \ube44\uc728 \ud328\ub110\ud2f0 (\ubaa8\ub4c8 \u2464). \uacf5\uc2dd: travel_ratio = travel_sec / (travel_sec +\u2026", "file_type": "rationale", "source_file": "src/scoring/travel_ratio.py", "source_location": "L1"}, {"id": "$graphify-root$_src_scoring_travel_ratio_rationale_50", "label": "\ud558\ub8e8 \uc77c\uc815\uc758 travel_sec, dwell_sec, ratio \uacc4\uc0b0.", "file_type": "rationale", "source_file": "src/scoring/travel_ratio.py", "source_location": "L50"}, {"id": "$graphify-root$_src_scoring_travel_ratio_rationale_71", "label": "\ube44\uc728 \u2192 (\ud328\ub110\ud2f0, risk_label) \ubc18\ud658.", "file_type": "rationale", "source_file": "src/scoring/travel_ratio.py", "source_location": "L71"}, {"id": "$graphify-root$_src_scoring_travel_ratio_rationale_85", "label": "\uc804\uccb4 \uc77c\uc815\uc758 \uc77c\uc790\ubcc4 travel_ratio + \ud328\ub110\ud2f0 \uc0b0\ucd9c.", "file_type": "rationale", "source_file": "src/scoring/travel_ratio.py", "source_location": "L85"}], "edges": [{"source": "$graphify-root$_src_scoring_travel_ratio_py", "target": "dataclasses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/scoring/travel_ratio.py", "source_location": "L10", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_travel_ratio_py", "target": "src_data_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/scoring/travel_ratio.py", "source_location": "L12", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_travel_ratio_py", "target": "src_validation_vrptw_engine", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/scoring/travel_ratio.py", "source_location": "L13", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_travel_ratio_py", "target": "$graphify-root$_src_scoring_travel_ratio_dayratiometric", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/scoring/travel_ratio.py", "source_location": "L28", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_travel_ratio_py", "target": "$graphify-root$_src_scoring_travel_ratio_travelratioreport", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/scoring/travel_ratio.py", "source_location": "L37", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_travel_ratio_py", "target": "$graphify-root$_src_scoring_travel_ratio_compute_day_metric", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/scoring/travel_ratio.py", "source_location": "L45", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_travel_ratio_compute_day_metric", "target": "vrptwplace", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/scoring/travel_ratio.py", "source_location": "L45", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_travel_ratio_compute_day_metric", "target": "timematrix", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/scoring/travel_ratio.py", "source_location": "L45", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_travel_ratio_compute_day_metric", "target": "$graphify-root$_src_scoring_travel_ratio_dayratiometric", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "src/scoring/travel_ratio.py", "source_location": "L45", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_travel_ratio_py", "target": "$graphify-root$_src_scoring_travel_ratio_classify_ratio", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/scoring/travel_ratio.py", "source_location": "L70", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_travel_ratio_py", "target": "$graphify-root$_src_scoring_travel_ratio_evaluate_travel_ratio", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/scoring/travel_ratio.py", "source_location": "L81", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_travel_ratio_evaluate_travel_ratio", "target": "vrptwday", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/scoring/travel_ratio.py", "source_location": "L81", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_travel_ratio_evaluate_travel_ratio", "target": "timematrix", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/scoring/travel_ratio.py", "source_location": "L81", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_travel_ratio_evaluate_travel_ratio", "target": "$graphify-root$_src_scoring_travel_ratio_travelratioreport", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "src/scoring/travel_ratio.py", "source_location": "L81", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_travel_ratio_compute_day_metric", "target": "$graphify-root$_src_scoring_travel_ratio_dayratiometric", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/scoring/travel_ratio.py", "source_location": "L62", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_travel_ratio_evaluate_travel_ratio", "target": "$graphify-root$_src_scoring_travel_ratio_compute_day_metric", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/scoring/travel_ratio.py", "source_location": "L95", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_travel_ratio_evaluate_travel_ratio", "target": "$graphify-root$_src_scoring_travel_ratio_classify_ratio", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/scoring/travel_ratio.py", "source_location": "L100", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_travel_ratio_evaluate_travel_ratio", "target": "$graphify-root$_src_scoring_travel_ratio_travelratioreport", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/scoring/travel_ratio.py", "source_location": "L121", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_travel_ratio_rationale_1", "target": "$graphify-root$_src_scoring_travel_ratio_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/scoring/travel_ratio.py", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_travel_ratio_rationale_50", "target": "$graphify-root$_src_scoring_travel_ratio_compute_day_metric", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/scoring/travel_ratio.py", "source_location": "L50", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_travel_ratio_rationale_71", "target": "$graphify-root$_src_scoring_travel_ratio_classify_ratio", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/scoring/travel_ratio.py", "source_location": "L71", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_travel_ratio_rationale_85", "target": "$graphify-root$_src_scoring_travel_ratio_evaluate_travel_ratio", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/scoring/travel_ratio.py", "source_location": "L85", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_src_scoring_travel_ratio_compute_day_metric", "callee": "get_travel_time", "is_member_call": true, "source_file": "src/scoring/travel_ratio.py", "source_location": "L58", "receiver": "matrix"}, {"caller_nid": "$graphify-root$_src_scoring_travel_ratio_classify_ratio", "callee": "PENALTY_CRIT", "is_member_call": false, "indirect": true, "context": "return", "source_file": "src/scoring/travel_ratio.py", "source_location": "L73"}, {"caller_nid": "$graphify-root$_src_scoring_travel_ratio_classify_ratio", "callee": "PENALTY_RISK", "is_member_call": false, "indirect": true, "context": "return", "source_file": "src/scoring/travel_ratio.py", "source_location": "L75"}, {"caller_nid": "$graphify-root$_src_scoring_travel_ratio_classify_ratio", "callee": "PENALTY_WARN", "is_member_call": false, "indirect": true, "context": "return", "source_file": "src/scoring/travel_ratio.py", "source_location": "L77"}, {"caller_nid": "$graphify-root$_src_scoring_travel_ratio_evaluate_travel_ratio", "callee": "HaversineMatrix", "is_member_call": false, "source_file": "src/scoring/travel_ratio.py", "source_location": "L86", "receiver": null}, {"caller_nid": "$graphify-root$_src_scoring_travel_ratio_evaluate_travel_ratio", "callee": "append", "is_member_call": true, "source_file": "src/scoring/travel_ratio.py", "source_location": "L96", "receiver": "per_day"}, {"caller_nid": "$graphify-root$_src_scoring_travel_ratio_evaluate_travel_ratio", "callee": "append", "is_member_call": true, "source_file": "src/scoring/travel_ratio.py", "source_location": "L105", "receiver": "deep_dive"}, {"caller_nid": "$graphify-root$_src_scoring_travel_ratio_evaluate_travel_ratio", "callee": "DeepDiveItem", "is_member_call": false, "source_file": "src/scoring/travel_ratio.py", "source_location": "L105", "receiver": null}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/94a5004c2d8e1e00fa7ae4f30103103917d240da2e7c76c342998dc36d2be81e.json b/graphify-out/cache/ast/v0.9.31/94a5004c2d8e1e00fa7ae4f30103103917d240da2e7c76c342998dc36d2be81e.json new file mode 100644 index 0000000..eb23f4a --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/94a5004c2d8e1e00fa7ae4f30103103917d240da2e7c76c342998dc36d2be81e.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_scripts_demo_live_e2e_py", "label": "demo_live_e2e.py", "file_type": "code", "source_file": "scripts/demo_live_e2e.py", "source_location": "L1"}, {"id": "$graphify-root$_scripts_demo_live_e2e_main", "label": "main()", "file_type": "code", "source_file": "scripts/demo_live_e2e.py", "source_location": "L27", "_callable": true}, {"id": "$graphify-root$_scripts_demo_live_e2e_rationale_1", "label": "\ub77c\uc774\ube0c E2E \ub370\ubaa8 \u2014 \uc2e4\uc81c Claude API + \uc2e4\uc81c Neo4j Aura\ub97c \ub3d9\uc2dc\uc5d0 \ud638\ucd9c\ud55c\ub2e4. mock \uc5c6\uc74c. .env\uc758\u2026", "file_type": "rationale", "source_file": "scripts/demo_live_e2e.py", "source_location": "L1"}], "edges": [{"source": "$graphify-root$_scripts_demo_live_e2e_py", "target": "sys", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/demo_live_e2e.py", "source_location": "L12", "weight": 1.0}, {"source": "$graphify-root$_scripts_demo_live_e2e_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/demo_live_e2e.py", "source_location": "L13", "weight": 1.0}, {"source": "$graphify-root$_scripts_demo_live_e2e_py", "target": "dotenv", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/demo_live_e2e.py", "source_location": "L15", "weight": 1.0}, {"source": "$graphify-root$_scripts_demo_live_e2e_py", "target": "src_data_graph_retriever", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/demo_live_e2e.py", "source_location": "L20", "weight": 1.0}, {"source": "$graphify-root$_scripts_demo_live_e2e_py", "target": "src_data_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/demo_live_e2e.py", "source_location": "L21", "weight": 1.0}, {"source": "$graphify-root$_scripts_demo_live_e2e_py", "target": "src_explain_explain_engine", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/demo_live_e2e.py", "source_location": "L22", "weight": 1.0}, {"source": "$graphify-root$_scripts_demo_live_e2e_py", "target": "$graphify-root$_scripts_demo_live_e2e_main", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/demo_live_e2e.py", "source_location": "L27", "weight": 1.0}, {"source": "$graphify-root$_scripts_demo_live_e2e_rationale_1", "target": "$graphify-root$_scripts_demo_live_e2e_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "scripts/demo_live_e2e.py", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_scripts_demo_live_e2e_main", "callee": "from_env", "is_member_call": true, "source_file": "scripts/demo_live_e2e.py", "source_location": "L28", "receiver": "GraphRetriever"}, {"caller_nid": "$graphify-root$_scripts_demo_live_e2e_main", "callee": "ExplainEngine", "is_member_call": false, "source_file": "scripts/demo_live_e2e.py", "source_location": "L29", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_demo_live_e2e_main", "callee": "is_available", "is_member_call": true, "source_file": "scripts/demo_live_e2e.py", "source_location": "L32", "receiver": "engine"}, {"caller_nid": "$graphify-root$_scripts_demo_live_e2e_main", "callee": "is_available", "is_member_call": true, "source_file": "scripts/demo_live_e2e.py", "source_location": "L34", "receiver": "engine"}, {"caller_nid": "$graphify-root$_scripts_demo_live_e2e_main", "callee": "search_places", "is_member_call": true, "source_file": "scripts/demo_live_e2e.py", "source_location": "L36", "receiver": "graph"}, {"caller_nid": "$graphify-root$_scripts_demo_live_e2e_main", "callee": "POI_NAME", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/demo_live_e2e.py", "source_location": "L36"}, {"caller_nid": "$graphify-root$_scripts_demo_live_e2e_main", "callee": "find_nearby", "is_member_call": true, "source_file": "scripts/demo_live_e2e.py", "source_location": "L39", "receiver": "graph"}, {"caller_nid": "$graphify-root$_scripts_demo_live_e2e_main", "callee": "ItineraryPlan", "is_member_call": false, "source_file": "scripts/demo_live_e2e.py", "source_location": "L44", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_demo_live_e2e_main", "callee": "DayPlan", "is_member_call": false, "source_file": "scripts/demo_live_e2e.py", "source_location": "L45", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_demo_live_e2e_main", "callee": "PlaceInput", "is_member_call": false, "source_file": "scripts/demo_live_e2e.py", "source_location": "L45", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_demo_live_e2e_main", "callee": "POI_NAME", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/demo_live_e2e.py", "source_location": "L45"}, {"caller_nid": "$graphify-root$_scripts_demo_live_e2e_main", "callee": "PlaceInput", "is_member_call": false, "source_file": "scripts/demo_live_e2e.py", "source_location": "L45", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_demo_live_e2e_main", "callee": "HardFail", "is_member_call": false, "source_file": "scripts/demo_live_e2e.py", "source_location": "L48", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_demo_live_e2e_main", "callee": "POI_NAME", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/demo_live_e2e.py", "source_location": "L53"}, {"caller_nid": "$graphify-root$_scripts_demo_live_e2e_main", "callee": "generate", "is_member_call": true, "source_file": "scripts/demo_live_e2e.py", "source_location": "L56", "receiver": "engine"}, {"caller_nid": "$graphify-root$_scripts_demo_live_e2e_main", "callee": "close", "is_member_call": true, "source_file": "scripts/demo_live_e2e.py", "source_location": "L74", "receiver": "graph"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/9766508e5a013c3d3cbb2602719391199e90af5720c9782a77ca71565aa346b1.json b/graphify-out/cache/ast/v0.9.31/9766508e5a013c3d3cbb2602719391199e90af5720c9782a77ca71565aa346b1.json new file mode 100644 index 0000000..968c3f9 --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/9766508e5a013c3d3cbb2602719391199e90af5720c9782a77ca71565aa346b1.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_tests_init_py", "label": "__init__.py", "file_type": "code", "source_file": "tests/__init__.py", "source_location": "L1"}], "edges": [], "raw_calls": []} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/9a1ec4ecf6809dfe35da7c584406986fe24ede1abff95ab5f0710044c3c5e94d.json b/graphify-out/cache/ast/v0.9.31/9a1ec4ecf6809dfe35da7c584406986fe24ede1abff95ab5f0710044c3c5e94d.json new file mode 100644 index 0000000..034b388 --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/9a1ec4ecf6809dfe35da7c584406986fe24ede1abff95ab5f0710044c3c5e94d.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_tests_test_theme_alignment_py", "label": "test_theme_alignment.py", "file_type": "code", "source_file": "tests/test_theme_alignment.py", "source_location": "L1"}, {"id": "fixture", "label": "fixture", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/tests/test_theme_alignment.py"}, {"id": "$graphify-root$_tests_test_theme_alignment_clear_cache", "label": "_clear_cache()", "file_type": "code", "source_file": "tests/test_theme_alignment.py", "source_location": "L22", "_callable": true}, {"id": "$graphify-root$_tests_test_theme_alignment_testnoapikey", "label": "TestNoApiKey", "file_type": "code", "source_file": "tests/test_theme_alignment.py", "source_location": "L29", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_tests_test_theme_alignment_testnoapikey_test_skip_returns_informational_only", "label": ".test_skip_returns_informational_only()", "file_type": "code", "source_file": "tests/test_theme_alignment.py", "source_location": "L30", "_callable": true}, {"id": "$graphify-root$_tests_test_theme_alignment_testclassifyscore", "label": "TestClassifyScore", "file_type": "code", "source_file": "tests/test_theme_alignment.py", "source_location": "L41", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_tests_test_theme_alignment_testclassifyscore_test_high_score_no_penalty", "label": ".test_high_score_no_penalty()", "file_type": "code", "source_file": "tests/test_theme_alignment.py", "source_location": "L42", "_callable": true}, {"id": "$graphify-root$_tests_test_theme_alignment_testclassifyscore_test_low_score_critical", "label": ".test_low_score_critical()", "file_type": "code", "source_file": "tests/test_theme_alignment.py", "source_location": "L47", "_callable": true}, {"id": "$graphify-root$_tests_test_theme_alignment_testparsellmresponse", "label": "TestParseLlmResponse", "file_type": "code", "source_file": "tests/test_theme_alignment.py", "source_location": "L53", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_tests_test_theme_alignment_testparsellmresponse_test_clean_json", "label": ".test_clean_json()", "file_type": "code", "source_file": "tests/test_theme_alignment.py", "source_location": "L54", "_callable": true}, {"id": "$graphify-root$_tests_test_theme_alignment_testparsellmresponse_test_score_clamped_to_1", "label": ".test_score_clamped_to_1()", "file_type": "code", "source_file": "tests/test_theme_alignment.py", "source_location": "L61", "_callable": true}, {"id": "$graphify-root$_tests_test_theme_alignment_testparsellmresponse_test_code_block_stripped", "label": ".test_code_block_stripped()", "file_type": "code", "source_file": "tests/test_theme_alignment.py", "source_location": "L66", "_callable": true}, {"id": "$graphify-root$_tests_test_theme_alignment_testevaluatewithmockclient", "label": "TestEvaluateWithMockClient", "file_type": "code", "source_file": "tests/test_theme_alignment.py", "source_location": "L72", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_tests_test_theme_alignment_testevaluatewithmockclient_test_high_alignment_no_penalty", "label": ".test_high_alignment_no_penalty()", "file_type": "code", "source_file": "tests/test_theme_alignment.py", "source_location": "L73", "_callable": true}, {"id": "$graphify-root$_tests_test_theme_alignment_testevaluatewithmockclient_test_low_alignment_critical", "label": ".test_low_alignment_critical()", "file_type": "code", "source_file": "tests/test_theme_alignment.py", "source_location": "L90", "_callable": true}, {"id": "$graphify-root$_tests_test_theme_alignment_testevaluatewithmockclient_test_cache_hit_skips_second_call", "label": ".test_cache_hit_skips_second_call()", "file_type": "code", "source_file": "tests/test_theme_alignment.py", "source_location": "L106", "_callable": true}, {"id": "$graphify-root$_tests_test_theme_alignment_testevaluatewithmockclient_test_llm_failure_returns_informational", "label": ".test_llm_failure_returns_informational()", "file_type": "code", "source_file": "tests/test_theme_alignment.py", "source_location": "L121", "_callable": true}, {"id": "$graphify-root$_tests_test_theme_alignment_rationale_1", "label": "Tests for src/scoring/theme_alignment.py \u2014 LLM mocking \ud544\uc218.", "file_type": "rationale", "source_file": "tests/test_theme_alignment.py", "source_location": "L1"}, {"id": "$graphify-root$_tests_test_theme_alignment_rationale_31", "label": "API \ud0a4 \uc5c6\uc73c\uba74 LLM \ud638\ucd9c \uc2a4\ud0b5 + \uc815\ubcf4\uc131 DeepDive.", "file_type": "rationale", "source_file": "tests/test_theme_alignment.py", "source_location": "L31"}, {"id": "$graphify-root$_tests_test_theme_alignment_rationale_91", "label": "LLM\uc774 0.3 \uc751\ub2f5 \u2192 CRITICAL \ud328\ub110\ud2f0.", "file_type": "rationale", "source_file": "tests/test_theme_alignment.py", "source_location": "L91"}, {"id": "$graphify-root$_tests_test_theme_alignment_rationale_107", "label": "\ub3d9\uc77c \uc785\ub825\uc73c\ub85c \ub450 \ubc88 \ud638\ucd9c \uc2dc LLM\uc740 1\ud68c\ub9cc \ud638\ucd9c.", "file_type": "rationale", "source_file": "tests/test_theme_alignment.py", "source_location": "L107"}, {"id": "$graphify-root$_tests_test_theme_alignment_rationale_122", "label": "LLM \ud638\ucd9c\uc774 \uc608\uc678 \ub358\uc9c0\uba74 \uc815\ubcf4\uc131 DeepDive\ub85c \ud3f4\ubc31.", "file_type": "rationale", "source_file": "tests/test_theme_alignment.py", "source_location": "L122"}], "edges": [{"source": "$graphify-root$_tests_test_theme_alignment_py", "target": "unittest_mock", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_theme_alignment.py", "source_location": "L4", "weight": 1.0}, {"source": "$graphify-root$_tests_test_theme_alignment_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_theme_alignment.py", "source_location": "L6", "weight": 1.0}, {"source": "$graphify-root$_tests_test_theme_alignment_py", "target": "src_data_theme_taxonomy", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_theme_alignment.py", "source_location": "L8", "weight": 1.0}, {"source": "$graphify-root$_tests_test_theme_alignment_py", "target": "src_scoring_theme_alignment", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_theme_alignment.py", "source_location": "L9", "weight": 1.0}, {"source": "$graphify-root$_tests_test_theme_alignment_clear_cache", "target": "fixture", "relation": "references", "confidence": "EXTRACTED", "source_file": "tests/test_theme_alignment.py", "source_location": "L21", "weight": 1.0, "context": "decorator"}, {"source": "$graphify-root$_tests_test_theme_alignment_py", "target": "$graphify-root$_tests_test_theme_alignment_clear_cache", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_theme_alignment.py", "source_location": "L22", "weight": 1.0}, {"source": "$graphify-root$_tests_test_theme_alignment_py", "target": "$graphify-root$_tests_test_theme_alignment_testnoapikey", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_theme_alignment.py", "source_location": "L29", "weight": 1.0}, {"source": "$graphify-root$_tests_test_theme_alignment_testnoapikey", "target": "$graphify-root$_tests_test_theme_alignment_testnoapikey_test_skip_returns_informational_only", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_theme_alignment.py", "source_location": "L30", "weight": 1.0}, {"source": "$graphify-root$_tests_test_theme_alignment_py", "target": "$graphify-root$_tests_test_theme_alignment_testclassifyscore", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_theme_alignment.py", "source_location": "L41", "weight": 1.0}, {"source": "$graphify-root$_tests_test_theme_alignment_testclassifyscore", "target": "$graphify-root$_tests_test_theme_alignment_testclassifyscore_test_high_score_no_penalty", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_theme_alignment.py", "source_location": "L42", "weight": 1.0}, {"source": "$graphify-root$_tests_test_theme_alignment_testclassifyscore", "target": "$graphify-root$_tests_test_theme_alignment_testclassifyscore_test_low_score_critical", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_theme_alignment.py", "source_location": "L47", "weight": 1.0}, {"source": "$graphify-root$_tests_test_theme_alignment_py", "target": "$graphify-root$_tests_test_theme_alignment_testparsellmresponse", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_theme_alignment.py", "source_location": "L53", "weight": 1.0}, {"source": "$graphify-root$_tests_test_theme_alignment_testparsellmresponse", "target": "$graphify-root$_tests_test_theme_alignment_testparsellmresponse_test_clean_json", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_theme_alignment.py", "source_location": "L54", "weight": 1.0}, {"source": "$graphify-root$_tests_test_theme_alignment_testparsellmresponse", "target": "$graphify-root$_tests_test_theme_alignment_testparsellmresponse_test_score_clamped_to_1", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_theme_alignment.py", "source_location": "L61", "weight": 1.0}, {"source": "$graphify-root$_tests_test_theme_alignment_testparsellmresponse", "target": "$graphify-root$_tests_test_theme_alignment_testparsellmresponse_test_code_block_stripped", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_theme_alignment.py", "source_location": "L66", "weight": 1.0}, {"source": "$graphify-root$_tests_test_theme_alignment_py", "target": "$graphify-root$_tests_test_theme_alignment_testevaluatewithmockclient", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_theme_alignment.py", "source_location": "L72", "weight": 1.0}, {"source": "$graphify-root$_tests_test_theme_alignment_testevaluatewithmockclient", "target": "$graphify-root$_tests_test_theme_alignment_testevaluatewithmockclient_test_high_alignment_no_penalty", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_theme_alignment.py", "source_location": "L73", "weight": 1.0}, {"source": "$graphify-root$_tests_test_theme_alignment_testevaluatewithmockclient", "target": "$graphify-root$_tests_test_theme_alignment_testevaluatewithmockclient_test_low_alignment_critical", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_theme_alignment.py", "source_location": "L90", "weight": 1.0}, {"source": "$graphify-root$_tests_test_theme_alignment_testevaluatewithmockclient", "target": "$graphify-root$_tests_test_theme_alignment_testevaluatewithmockclient_test_cache_hit_skips_second_call", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_theme_alignment.py", "source_location": "L106", "weight": 1.0}, {"source": "$graphify-root$_tests_test_theme_alignment_testevaluatewithmockclient", "target": "$graphify-root$_tests_test_theme_alignment_testevaluatewithmockclient_test_llm_failure_returns_informational", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_theme_alignment.py", "source_location": "L121", "weight": 1.0}, {"source": "$graphify-root$_tests_test_theme_alignment_rationale_1", "target": "$graphify-root$_tests_test_theme_alignment_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_theme_alignment.py", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_tests_test_theme_alignment_rationale_31", "target": "$graphify-root$_tests_test_theme_alignment_testnoapikey_test_skip_returns_informational_only", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_theme_alignment.py", "source_location": "L31", "weight": 1.0}, {"source": "$graphify-root$_tests_test_theme_alignment_rationale_91", "target": "$graphify-root$_tests_test_theme_alignment_testevaluatewithmockclient_test_low_alignment_critical", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_theme_alignment.py", "source_location": "L91", "weight": 1.0}, {"source": "$graphify-root$_tests_test_theme_alignment_rationale_107", "target": "$graphify-root$_tests_test_theme_alignment_testevaluatewithmockclient_test_cache_hit_skips_second_call", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_theme_alignment.py", "source_location": "L107", "weight": 1.0}, {"source": "$graphify-root$_tests_test_theme_alignment_rationale_122", "target": "$graphify-root$_tests_test_theme_alignment_testevaluatewithmockclient_test_llm_failure_returns_informational", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_theme_alignment.py", "source_location": "L122", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_tests_test_theme_alignment_clear_cache", "callee": "clear", "is_member_call": true, "source_file": "tests/test_theme_alignment.py", "source_location": "L24", "receiver": "_CACHE"}, {"caller_nid": "$graphify-root$_tests_test_theme_alignment_clear_cache", "callee": "clear", "is_member_call": true, "source_file": "tests/test_theme_alignment.py", "source_location": "L26", "receiver": "_CACHE"}, {"caller_nid": "$graphify-root$_tests_test_theme_alignment_testnoapikey_test_skip_returns_informational_only", "callee": "ThemeAlignmentJudge", "is_member_call": false, "source_file": "tests/test_theme_alignment.py", "source_location": "L32", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_theme_alignment_testnoapikey_test_skip_returns_informational_only", "callee": "UserPreferences", "is_member_call": false, "source_file": "tests/test_theme_alignment.py", "source_location": "L33", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_theme_alignment_testnoapikey_test_skip_returns_informational_only", "callee": "evaluate", "is_member_call": true, "source_file": "tests/test_theme_alignment.py", "source_location": "L34", "receiver": "judge"}, {"caller_nid": "$graphify-root$_tests_test_theme_alignment_testnoapikey_test_skip_returns_informational_only", "callee": "POIWithCategory", "is_member_call": false, "source_file": "tests/test_theme_alignment.py", "source_location": "L34", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_theme_alignment_testclassifyscore_test_high_score_no_penalty", "callee": "_classify_score", "is_member_call": false, "source_file": "tests/test_theme_alignment.py", "source_location": "L43", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_theme_alignment_testclassifyscore_test_low_score_critical", "callee": "_classify_score", "is_member_call": false, "source_file": "tests/test_theme_alignment.py", "source_location": "L48", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_theme_alignment_testparsellmresponse_test_clean_json", "callee": "_parse_llm_response", "is_member_call": false, "source_file": "tests/test_theme_alignment.py", "source_location": "L56", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_theme_alignment_testparsellmresponse_test_score_clamped_to_1", "callee": "_parse_llm_response", "is_member_call": false, "source_file": "tests/test_theme_alignment.py", "source_location": "L63", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_theme_alignment_testparsellmresponse_test_code_block_stripped", "callee": "_parse_llm_response", "is_member_call": false, "source_file": "tests/test_theme_alignment.py", "source_location": "L68", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_theme_alignment_testevaluatewithmockclient_test_high_alignment_no_penalty", "callee": "MagicMock", "is_member_call": false, "source_file": "tests/test_theme_alignment.py", "source_location": "L75", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_theme_alignment_testevaluatewithmockclient_test_high_alignment_no_penalty", "callee": "MagicMock", "is_member_call": false, "source_file": "tests/test_theme_alignment.py", "source_location": "L76", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_theme_alignment_testevaluatewithmockclient_test_high_alignment_no_penalty", "callee": "MagicMock", "is_member_call": false, "source_file": "tests/test_theme_alignment.py", "source_location": "L77", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_theme_alignment_testevaluatewithmockclient_test_high_alignment_no_penalty", "callee": "ThemeAlignmentJudge", "is_member_call": false, "source_file": "tests/test_theme_alignment.py", "source_location": "L80", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_theme_alignment_testevaluatewithmockclient_test_high_alignment_no_penalty", "callee": "UserPreferences", "is_member_call": false, "source_file": "tests/test_theme_alignment.py", "source_location": "L81", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_theme_alignment_testevaluatewithmockclient_test_high_alignment_no_penalty", "callee": "evaluate", "is_member_call": true, "source_file": "tests/test_theme_alignment.py", "source_location": "L82", "receiver": "judge"}, {"caller_nid": "$graphify-root$_tests_test_theme_alignment_testevaluatewithmockclient_test_high_alignment_no_penalty", "callee": "POIWithCategory", "is_member_call": false, "source_file": "tests/test_theme_alignment.py", "source_location": "L83", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_theme_alignment_testevaluatewithmockclient_test_low_alignment_critical", "callee": "MagicMock", "is_member_call": false, "source_file": "tests/test_theme_alignment.py", "source_location": "L92", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_theme_alignment_testevaluatewithmockclient_test_low_alignment_critical", "callee": "MagicMock", "is_member_call": false, "source_file": "tests/test_theme_alignment.py", "source_location": "L93", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_theme_alignment_testevaluatewithmockclient_test_low_alignment_critical", "callee": "MagicMock", "is_member_call": false, "source_file": "tests/test_theme_alignment.py", "source_location": "L94", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_theme_alignment_testevaluatewithmockclient_test_low_alignment_critical", "callee": "ThemeAlignmentJudge", "is_member_call": false, "source_file": "tests/test_theme_alignment.py", "source_location": "L97", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_theme_alignment_testevaluatewithmockclient_test_low_alignment_critical", "callee": "UserPreferences", "is_member_call": false, "source_file": "tests/test_theme_alignment.py", "source_location": "L98", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_theme_alignment_testevaluatewithmockclient_test_low_alignment_critical", "callee": "evaluate", "is_member_call": true, "source_file": "tests/test_theme_alignment.py", "source_location": "L99", "receiver": "judge"}, {"caller_nid": "$graphify-root$_tests_test_theme_alignment_testevaluatewithmockclient_test_low_alignment_critical", "callee": "POIWithCategory", "is_member_call": false, "source_file": "tests/test_theme_alignment.py", "source_location": "L100", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_theme_alignment_testevaluatewithmockclient_test_cache_hit_skips_second_call", "callee": "MagicMock", "is_member_call": false, "source_file": "tests/test_theme_alignment.py", "source_location": "L108", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_theme_alignment_testevaluatewithmockclient_test_cache_hit_skips_second_call", "callee": "MagicMock", "is_member_call": false, "source_file": "tests/test_theme_alignment.py", "source_location": "L109", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_theme_alignment_testevaluatewithmockclient_test_cache_hit_skips_second_call", "callee": "MagicMock", "is_member_call": false, "source_file": "tests/test_theme_alignment.py", "source_location": "L110", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_theme_alignment_testevaluatewithmockclient_test_cache_hit_skips_second_call", "callee": "ThemeAlignmentJudge", "is_member_call": false, "source_file": "tests/test_theme_alignment.py", "source_location": "L113", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_theme_alignment_testevaluatewithmockclient_test_cache_hit_skips_second_call", "callee": "UserPreferences", "is_member_call": false, "source_file": "tests/test_theme_alignment.py", "source_location": "L114", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_theme_alignment_testevaluatewithmockclient_test_cache_hit_skips_second_call", "callee": "POIWithCategory", "is_member_call": false, "source_file": "tests/test_theme_alignment.py", "source_location": "L115", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_theme_alignment_testevaluatewithmockclient_test_cache_hit_skips_second_call", "callee": "evaluate", "is_member_call": true, "source_file": "tests/test_theme_alignment.py", "source_location": "L117", "receiver": "judge"}, {"caller_nid": "$graphify-root$_tests_test_theme_alignment_testevaluatewithmockclient_test_cache_hit_skips_second_call", "callee": "evaluate", "is_member_call": true, "source_file": "tests/test_theme_alignment.py", "source_location": "L118", "receiver": "judge"}, {"caller_nid": "$graphify-root$_tests_test_theme_alignment_testevaluatewithmockclient_test_llm_failure_returns_informational", "callee": "MagicMock", "is_member_call": false, "source_file": "tests/test_theme_alignment.py", "source_location": "L123", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_theme_alignment_testevaluatewithmockclient_test_llm_failure_returns_informational", "callee": "RuntimeError", "is_member_call": false, "source_file": "tests/test_theme_alignment.py", "source_location": "L124", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_theme_alignment_testevaluatewithmockclient_test_llm_failure_returns_informational", "callee": "ThemeAlignmentJudge", "is_member_call": false, "source_file": "tests/test_theme_alignment.py", "source_location": "L126", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_theme_alignment_testevaluatewithmockclient_test_llm_failure_returns_informational", "callee": "UserPreferences", "is_member_call": false, "source_file": "tests/test_theme_alignment.py", "source_location": "L127", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_theme_alignment_testevaluatewithmockclient_test_llm_failure_returns_informational", "callee": "evaluate", "is_member_call": true, "source_file": "tests/test_theme_alignment.py", "source_location": "L128", "receiver": "judge"}, {"caller_nid": "$graphify-root$_tests_test_theme_alignment_testevaluatewithmockclient_test_llm_failure_returns_informational", "callee": "POIWithCategory", "is_member_call": false, "source_file": "tests/test_theme_alignment.py", "source_location": "L128", "receiver": null}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/a0678437010cb016ecdc5d16b9c9c58e237868b44f76a02cf7cfd015c033dd87.json b/graphify-out/cache/ast/v0.9.31/a0678437010cb016ecdc5d16b9c9c58e237868b44f76a02cf7cfd015c033dd87.json new file mode 100644 index 0000000..1c15ec3 --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/a0678437010cb016ecdc5d16b9c9c58e237868b44f76a02cf7cfd015c033dd87.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_tests_test_party_config_py", "label": "test_party_config.py", "file_type": "code", "source_file": "tests/test_party_config.py", "source_location": "L1"}, {"id": "$graphify-root$_tests_test_party_config_testpartyprofiles", "label": "TestPartyProfiles", "file_type": "code", "source_file": "tests/test_party_config.py", "source_location": "L9", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_tests_test_party_config_testpartyprofiles_test_all_types_defined", "label": ".test_all_types_defined()", "file_type": "code", "source_file": "tests/test_party_config.py", "source_location": "L10", "_callable": true}, {"id": "$graphify-root$_tests_test_party_config_testpartyprofiles_test_friends_speed_factor_one", "label": ".test_friends_speed_factor_one()", "file_type": "code", "source_file": "tests/test_party_config.py", "source_location": "L14", "_callable": true}, {"id": "$graphify-root$_tests_test_party_config_testpartyprofiles_test_baby_speed_factor_below_one", "label": ".test_baby_speed_factor_below_one()", "file_type": "code", "source_file": "tests/test_party_config.py", "source_location": "L17", "_callable": true}, {"id": "$graphify-root$_tests_test_party_config_testpartyprofiles_test_elderly_speed_factor_below_one", "label": ".test_elderly_speed_factor_below_one()", "file_type": "code", "source_file": "tests/test_party_config.py", "source_location": "L20", "_callable": true}, {"id": "$graphify-root$_tests_test_party_config_testpartyprofiles_test_baby_fatigue_hours_lower_than_friends", "label": ".test_baby_fatigue_hours_lower_than_friends()", "file_type": "code", "source_file": "tests/test_party_config.py", "source_location": "L23", "_callable": true}, {"id": "$graphify-root$_tests_test_party_config_testpartyprofiles_test_elderly_fatigue_hours_lower_than_friends", "label": ".test_elderly_fatigue_hours_lower_than_friends()", "file_type": "code", "source_file": "tests/test_party_config.py", "source_location": "L28", "_callable": true}, {"id": "$graphify-root$_tests_test_party_config_testpartyprofiles_test_family_fatigue_between_friends_and_baby", "label": ".test_family_fatigue_between_friends_and_baby()", "file_type": "code", "source_file": "tests/test_party_config.py", "source_location": "L33", "_callable": true}, {"id": "$graphify-root$_tests_test_party_config_testpartyprofiles_test_unknown_type_returns_default", "label": ".test_unknown_type_returns_default()", "file_type": "code", "source_file": "tests/test_party_config.py", "source_location": "L39", "_callable": true}, {"id": "$graphify-root$_tests_test_party_config_testpartyprofiles_test_profile_is_frozen", "label": ".test_profile_is_frozen()", "file_type": "code", "source_file": "tests/test_party_config.py", "source_location": "L44", "_callable": true}, {"id": "$graphify-root$_tests_test_party_config_testpartyprofilevalues", "label": "TestPartyProfileValues", "file_type": "code", "source_file": "tests/test_party_config.py", "source_location": "L50", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_tests_test_party_config_testpartyprofilevalues_test_friends_fatigue_12h", "label": ".test_friends_fatigue_12h()", "file_type": "code", "source_file": "tests/test_party_config.py", "source_location": "L51", "_callable": true}, {"id": "$graphify-root$_tests_test_party_config_testpartyprofilevalues_test_baby_fatigue_8h", "label": ".test_baby_fatigue_8h()", "file_type": "code", "source_file": "tests/test_party_config.py", "source_location": "L54", "_callable": true}, {"id": "$graphify-root$_tests_test_party_config_testpartyprofilevalues_test_elderly_fatigue_8h", "label": ".test_elderly_fatigue_8h()", "file_type": "code", "source_file": "tests/test_party_config.py", "source_location": "L57", "_callable": true}, {"id": "$graphify-root$_tests_test_party_config_testpartyprofilevalues_test_family_fatigue_10h", "label": ".test_family_fatigue_10h()", "file_type": "code", "source_file": "tests/test_party_config.py", "source_location": "L60", "_callable": true}, {"id": "$graphify-root$_tests_test_party_config_testpartyprofilevalues_test_baby_speed_factor_is_point_eight", "label": ".test_baby_speed_factor_is_point_eight()", "file_type": "code", "source_file": "tests/test_party_config.py", "source_location": "L63", "_callable": true}, {"id": "$graphify-root$_tests_test_party_config_testpartyprofilevalues_test_family_speed_factor_is_point_nine", "label": ".test_family_speed_factor_is_point_nine()", "file_type": "code", "source_file": "tests/test_party_config.py", "source_location": "L66", "_callable": true}, {"id": "$graphify-root$_tests_test_party_config_teststrainthresholdlogic", "label": "TestStrainThresholdLogic", "file_type": "code", "source_file": "tests/test_party_config.py", "source_location": "L70", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_tests_test_party_config_teststrainthresholdlogic_test_baby_threshold_lower_than_friends", "label": ".test_baby_threshold_lower_than_friends()", "file_type": "code", "source_file": "tests/test_party_config.py", "source_location": "L75", "_callable": true}, {"id": "$graphify-root$_tests_test_party_config_teststrainthresholdlogic_test_baby_threshold_is_24km", "label": ".test_baby_threshold_is_24km()", "file_type": "code", "source_file": "tests/test_party_config.py", "source_location": "L80", "_callable": true}, {"id": "$graphify-root$_tests_test_party_config_teststrainthresholdlogic_test_friends_threshold_unchanged", "label": ".test_friends_threshold_unchanged()", "file_type": "code", "source_file": "tests/test_party_config.py", "source_location": "L84", "_callable": true}, {"id": "$graphify-root$_tests_test_party_config_rationale_1", "label": "PartyProfile \uc218\ub7c9\ud654 \ub85c\uc9c1 \ud14c\uc2a4\ud2b8.", "file_type": "rationale", "source_file": "tests/test_party_config.py", "source_location": "L1"}, {"id": "$graphify-root$_tests_test_party_config_rationale_71", "label": "speed_factor\uac00 \uccb4\ub825 \ubd80\ub2f4 \uc784\uacc4\uc5d0 \uc62c\ubc14\ub974\uac8c \ubc18\uc601\ub418\ub294\uc9c0 \ud655\uc778.", "file_type": "rationale", "source_file": "tests/test_party_config.py", "source_location": "L71"}], "edges": [{"source": "$graphify-root$_tests_test_party_config_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_party_config.py", "source_location": "L4", "weight": 1.0}, {"source": "$graphify-root$_tests_test_party_config_py", "target": "src_data_party_config", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_party_config.py", "source_location": "L6", "weight": 1.0}, {"source": "$graphify-root$_tests_test_party_config_py", "target": "$graphify-root$_tests_test_party_config_testpartyprofiles", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_party_config.py", "source_location": "L9", "weight": 1.0}, {"source": "$graphify-root$_tests_test_party_config_testpartyprofiles", "target": "$graphify-root$_tests_test_party_config_testpartyprofiles_test_all_types_defined", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_party_config.py", "source_location": "L10", "weight": 1.0}, {"source": "$graphify-root$_tests_test_party_config_testpartyprofiles", "target": "$graphify-root$_tests_test_party_config_testpartyprofiles_test_friends_speed_factor_one", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_party_config.py", "source_location": "L14", "weight": 1.0}, {"source": "$graphify-root$_tests_test_party_config_testpartyprofiles", "target": "$graphify-root$_tests_test_party_config_testpartyprofiles_test_baby_speed_factor_below_one", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_party_config.py", "source_location": "L17", "weight": 1.0}, {"source": "$graphify-root$_tests_test_party_config_testpartyprofiles", "target": "$graphify-root$_tests_test_party_config_testpartyprofiles_test_elderly_speed_factor_below_one", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_party_config.py", "source_location": "L20", "weight": 1.0}, {"source": "$graphify-root$_tests_test_party_config_testpartyprofiles", "target": "$graphify-root$_tests_test_party_config_testpartyprofiles_test_baby_fatigue_hours_lower_than_friends", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_party_config.py", "source_location": "L23", "weight": 1.0}, {"source": "$graphify-root$_tests_test_party_config_testpartyprofiles", "target": "$graphify-root$_tests_test_party_config_testpartyprofiles_test_elderly_fatigue_hours_lower_than_friends", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_party_config.py", "source_location": "L28", "weight": 1.0}, {"source": "$graphify-root$_tests_test_party_config_testpartyprofiles", "target": "$graphify-root$_tests_test_party_config_testpartyprofiles_test_family_fatigue_between_friends_and_baby", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_party_config.py", "source_location": "L33", "weight": 1.0}, {"source": "$graphify-root$_tests_test_party_config_testpartyprofiles", "target": "$graphify-root$_tests_test_party_config_testpartyprofiles_test_unknown_type_returns_default", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_party_config.py", "source_location": "L39", "weight": 1.0}, {"source": "$graphify-root$_tests_test_party_config_testpartyprofiles", "target": "$graphify-root$_tests_test_party_config_testpartyprofiles_test_profile_is_frozen", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_party_config.py", "source_location": "L44", "weight": 1.0}, {"source": "$graphify-root$_tests_test_party_config_py", "target": "$graphify-root$_tests_test_party_config_testpartyprofilevalues", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_party_config.py", "source_location": "L50", "weight": 1.0}, {"source": "$graphify-root$_tests_test_party_config_testpartyprofilevalues", "target": "$graphify-root$_tests_test_party_config_testpartyprofilevalues_test_friends_fatigue_12h", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_party_config.py", "source_location": "L51", "weight": 1.0}, {"source": "$graphify-root$_tests_test_party_config_testpartyprofilevalues", "target": "$graphify-root$_tests_test_party_config_testpartyprofilevalues_test_baby_fatigue_8h", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_party_config.py", "source_location": "L54", "weight": 1.0}, {"source": "$graphify-root$_tests_test_party_config_testpartyprofilevalues", "target": "$graphify-root$_tests_test_party_config_testpartyprofilevalues_test_elderly_fatigue_8h", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_party_config.py", "source_location": "L57", "weight": 1.0}, {"source": "$graphify-root$_tests_test_party_config_testpartyprofilevalues", "target": "$graphify-root$_tests_test_party_config_testpartyprofilevalues_test_family_fatigue_10h", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_party_config.py", "source_location": "L60", "weight": 1.0}, {"source": "$graphify-root$_tests_test_party_config_testpartyprofilevalues", "target": "$graphify-root$_tests_test_party_config_testpartyprofilevalues_test_baby_speed_factor_is_point_eight", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_party_config.py", "source_location": "L63", "weight": 1.0}, {"source": "$graphify-root$_tests_test_party_config_testpartyprofilevalues", "target": "$graphify-root$_tests_test_party_config_testpartyprofilevalues_test_family_speed_factor_is_point_nine", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_party_config.py", "source_location": "L66", "weight": 1.0}, {"source": "$graphify-root$_tests_test_party_config_py", "target": "$graphify-root$_tests_test_party_config_teststrainthresholdlogic", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_party_config.py", "source_location": "L70", "weight": 1.0}, {"source": "$graphify-root$_tests_test_party_config_teststrainthresholdlogic", "target": "$graphify-root$_tests_test_party_config_teststrainthresholdlogic_test_baby_threshold_lower_than_friends", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_party_config.py", "source_location": "L75", "weight": 1.0}, {"source": "$graphify-root$_tests_test_party_config_teststrainthresholdlogic", "target": "$graphify-root$_tests_test_party_config_teststrainthresholdlogic_test_baby_threshold_is_24km", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_party_config.py", "source_location": "L80", "weight": 1.0}, {"source": "$graphify-root$_tests_test_party_config_teststrainthresholdlogic", "target": "$graphify-root$_tests_test_party_config_teststrainthresholdlogic_test_friends_threshold_unchanged", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_party_config.py", "source_location": "L84", "weight": 1.0}, {"source": "$graphify-root$_tests_test_party_config_rationale_1", "target": "$graphify-root$_tests_test_party_config_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_party_config.py", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_tests_test_party_config_rationale_71", "target": "$graphify-root$_tests_test_party_config_teststrainthresholdlogic", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_party_config.py", "source_location": "L71", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_tests_test_party_config_testpartyprofiles_test_friends_speed_factor_one", "callee": "get_party_profile", "is_member_call": false, "source_file": "tests/test_party_config.py", "source_location": "L15", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_party_config_testpartyprofiles_test_baby_speed_factor_below_one", "callee": "get_party_profile", "is_member_call": false, "source_file": "tests/test_party_config.py", "source_location": "L18", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_party_config_testpartyprofiles_test_elderly_speed_factor_below_one", "callee": "get_party_profile", "is_member_call": false, "source_file": "tests/test_party_config.py", "source_location": "L21", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_party_config_testpartyprofiles_test_baby_fatigue_hours_lower_than_friends", "callee": "get_party_profile", "is_member_call": false, "source_file": "tests/test_party_config.py", "source_location": "L24", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_party_config_testpartyprofiles_test_baby_fatigue_hours_lower_than_friends", "callee": "get_party_profile", "is_member_call": false, "source_file": "tests/test_party_config.py", "source_location": "L25", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_party_config_testpartyprofiles_test_elderly_fatigue_hours_lower_than_friends", "callee": "get_party_profile", "is_member_call": false, "source_file": "tests/test_party_config.py", "source_location": "L29", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_party_config_testpartyprofiles_test_elderly_fatigue_hours_lower_than_friends", "callee": "get_party_profile", "is_member_call": false, "source_file": "tests/test_party_config.py", "source_location": "L30", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_party_config_testpartyprofiles_test_family_fatigue_between_friends_and_baby", "callee": "get_party_profile", "is_member_call": false, "source_file": "tests/test_party_config.py", "source_location": "L34", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_party_config_testpartyprofiles_test_family_fatigue_between_friends_and_baby", "callee": "get_party_profile", "is_member_call": false, "source_file": "tests/test_party_config.py", "source_location": "L35", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_party_config_testpartyprofiles_test_family_fatigue_between_friends_and_baby", "callee": "get_party_profile", "is_member_call": false, "source_file": "tests/test_party_config.py", "source_location": "L36", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_party_config_testpartyprofiles_test_unknown_type_returns_default", "callee": "get_party_profile", "is_member_call": false, "source_file": "tests/test_party_config.py", "source_location": "L40", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_party_config_testpartyprofiles_test_unknown_type_returns_default", "callee": "get_party_profile", "is_member_call": false, "source_file": "tests/test_party_config.py", "source_location": "L41", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_party_config_testpartyprofiles_test_profile_is_frozen", "callee": "get_party_profile", "is_member_call": false, "source_file": "tests/test_party_config.py", "source_location": "L45", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_party_config_testpartyprofiles_test_profile_is_frozen", "callee": "raises", "is_member_call": true, "source_file": "tests/test_party_config.py", "source_location": "L46", "receiver": "pytest"}, {"caller_nid": "$graphify-root$_tests_test_party_config_testpartyprofiles_test_profile_is_frozen", "callee": "Exception", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "tests/test_party_config.py", "source_location": "L46"}, {"caller_nid": "$graphify-root$_tests_test_party_config_testpartyprofilevalues_test_friends_fatigue_12h", "callee": "get_party_profile", "is_member_call": false, "source_file": "tests/test_party_config.py", "source_location": "L52", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_party_config_testpartyprofilevalues_test_baby_fatigue_8h", "callee": "get_party_profile", "is_member_call": false, "source_file": "tests/test_party_config.py", "source_location": "L55", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_party_config_testpartyprofilevalues_test_elderly_fatigue_8h", "callee": "get_party_profile", "is_member_call": false, "source_file": "tests/test_party_config.py", "source_location": "L58", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_party_config_testpartyprofilevalues_test_family_fatigue_10h", "callee": "get_party_profile", "is_member_call": false, "source_file": "tests/test_party_config.py", "source_location": "L61", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_party_config_testpartyprofilevalues_test_baby_speed_factor_is_point_eight", "callee": "get_party_profile", "is_member_call": false, "source_file": "tests/test_party_config.py", "source_location": "L64", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_party_config_testpartyprofilevalues_test_baby_speed_factor_is_point_eight", "callee": "approx", "is_member_call": true, "source_file": "tests/test_party_config.py", "source_location": "L64", "receiver": "pytest"}, {"caller_nid": "$graphify-root$_tests_test_party_config_testpartyprofilevalues_test_family_speed_factor_is_point_nine", "callee": "get_party_profile", "is_member_call": false, "source_file": "tests/test_party_config.py", "source_location": "L67", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_party_config_testpartyprofilevalues_test_family_speed_factor_is_point_nine", "callee": "approx", "is_member_call": true, "source_file": "tests/test_party_config.py", "source_location": "L67", "receiver": "pytest"}, {"caller_nid": "$graphify-root$_tests_test_party_config_teststrainthresholdlogic_test_baby_threshold_lower_than_friends", "callee": "get_party_profile", "is_member_call": false, "source_file": "tests/test_party_config.py", "source_location": "L76", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_party_config_teststrainthresholdlogic_test_baby_threshold_lower_than_friends", "callee": "get_party_profile", "is_member_call": false, "source_file": "tests/test_party_config.py", "source_location": "L77", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_party_config_teststrainthresholdlogic_test_baby_threshold_is_24km", "callee": "get_party_profile", "is_member_call": false, "source_file": "tests/test_party_config.py", "source_location": "L81", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_party_config_teststrainthresholdlogic_test_baby_threshold_is_24km", "callee": "approx", "is_member_call": true, "source_file": "tests/test_party_config.py", "source_location": "L82", "receiver": "pytest"}, {"caller_nid": "$graphify-root$_tests_test_party_config_teststrainthresholdlogic_test_friends_threshold_unchanged", "callee": "get_party_profile", "is_member_call": false, "source_file": "tests/test_party_config.py", "source_location": "L85", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_party_config_teststrainthresholdlogic_test_friends_threshold_unchanged", "callee": "approx", "is_member_call": true, "source_file": "tests/test_party_config.py", "source_location": "L86", "receiver": "pytest"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/a192d8c1d4f0ddbdc8cfad73aa1fef23209222b51a27624e1176b9cf7e4b4f64.json b/graphify-out/cache/ast/v0.9.31/a192d8c1d4f0ddbdc8cfad73aa1fef23209222b51a27624e1176b9cf7e4b4f64.json new file mode 100644 index 0000000..5a22cf3 --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/a192d8c1d4f0ddbdc8cfad73aa1fef23209222b51a27624e1176b9cf7e4b4f64.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_tests_test_dwell_db_py", "label": "test_dwell_db.py", "file_type": "code", "source_file": "tests/test_dwell_db.py", "source_location": "L1"}, {"id": "$graphify-root$_tests_test_dwell_db_testmanualoverride", "label": "TestManualOverride", "file_type": "code", "source_file": "tests/test_dwell_db.py", "source_location": "L16", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_tests_test_dwell_db_testmanualoverride_test_\uacbd\ubcf5\uad81_returns_manual_source", "label": ".test_\uacbd\ubcf5\uad81_returns_manual_source()", "file_type": "code", "source_file": "tests/test_dwell_db.py", "source_location": "L17", "_callable": true}, {"id": "$graphify-root$_tests_test_dwell_db_testmanualoverride_test_normalization_handles_spaces", "label": ".test_normalization_handles_spaces()", "file_type": "code", "source_file": "tests/test_dwell_db.py", "source_location": "L23", "_callable": true}, {"id": "$graphify-root$_tests_test_dwell_db_testmanualoverride_test_n_seoul_tower_alias", "label": ".test_n_seoul_tower_alias()", "file_type": "code", "source_file": "tests/test_dwell_db.py", "source_location": "L28", "_callable": true}, {"id": "$graphify-root$_tests_test_dwell_db_testlclssystm3", "label": "TestLclsSystm3", "file_type": "code", "source_file": "tests/test_dwell_db.py", "source_location": "L35", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_tests_test_dwell_db_testlclssystm3_test_museum_code", "label": ".test_museum_code()", "file_type": "code", "source_file": "tests/test_dwell_db.py", "source_location": "L36", "_callable": true}, {"id": "$graphify-root$_tests_test_dwell_db_testlclssystm1fallback", "label": "TestLclsSystm1Fallback", "file_type": "code", "source_file": "tests/test_dwell_db.py", "source_location": "L43", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_tests_test_dwell_db_testlclssystm1fallback_test_lcls3_unknown_falls_back_to_lcls1", "label": ".test_lcls3_unknown_falls_back_to_lcls1()", "file_type": "code", "source_file": "tests/test_dwell_db.py", "source_location": "L44", "_callable": true}, {"id": "$graphify-root$_tests_test_dwell_db_testcontenttypefallback", "label": "TestContentTypeFallback", "file_type": "code", "source_file": "tests/test_dwell_db.py", "source_location": "L51", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_tests_test_dwell_db_testcontenttypefallback_test_content_type_used_when_no_lcls", "label": ".test_content_type_used_when_no_lcls()", "file_type": "code", "source_file": "tests/test_dwell_db.py", "source_location": "L52", "_callable": true}, {"id": "$graphify-root$_tests_test_dwell_db_testdefaultfallback", "label": "TestDefaultFallback", "file_type": "code", "source_file": "tests/test_dwell_db.py", "source_location": "L58", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_tests_test_dwell_db_testdefaultfallback_test_no_info_returns_default", "label": ".test_no_info_returns_default()", "file_type": "code", "source_file": "tests/test_dwell_db.py", "source_location": "L59", "_callable": true}, {"id": "$graphify-root$_tests_test_dwell_db_testistooshort", "label": "TestIsTooShort", "file_type": "code", "source_file": "tests/test_dwell_db.py", "source_location": "L65", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_tests_test_dwell_db_testistooshort_test_below_50pct_is_too_short", "label": ".test_below_50pct_is_too_short()", "file_type": "code", "source_file": "tests/test_dwell_db.py", "source_location": "L66", "_callable": true}, {"id": "$graphify-root$_tests_test_dwell_db_rationale_1", "label": "Tests for src/data/dwell_db.py \u2014 5\ub2e8\uacc4 \ud3f4\ubc31 \uac80\uc99d.", "file_type": "rationale", "source_file": "tests/test_dwell_db.py", "source_location": "L1"}], "edges": [{"source": "$graphify-root$_tests_test_dwell_db_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_dwell_db.py", "source_location": "L4", "weight": 1.0}, {"source": "$graphify-root$_tests_test_dwell_db_py", "target": "src_data_dwell_db", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_dwell_db.py", "source_location": "L6", "weight": 1.0}, {"source": "$graphify-root$_tests_test_dwell_db_py", "target": "$graphify-root$_tests_test_dwell_db_testmanualoverride", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_dwell_db.py", "source_location": "L16", "weight": 1.0}, {"source": "$graphify-root$_tests_test_dwell_db_testmanualoverride", "target": "$graphify-root$_tests_test_dwell_db_testmanualoverride_test_\uacbd\ubcf5\uad81_returns_manual_source", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_dwell_db.py", "source_location": "L17", "weight": 1.0}, {"source": "$graphify-root$_tests_test_dwell_db_testmanualoverride", "target": "$graphify-root$_tests_test_dwell_db_testmanualoverride_test_normalization_handles_spaces", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_dwell_db.py", "source_location": "L23", "weight": 1.0}, {"source": "$graphify-root$_tests_test_dwell_db_testmanualoverride", "target": "$graphify-root$_tests_test_dwell_db_testmanualoverride_test_n_seoul_tower_alias", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_dwell_db.py", "source_location": "L28", "weight": 1.0}, {"source": "$graphify-root$_tests_test_dwell_db_py", "target": "$graphify-root$_tests_test_dwell_db_testlclssystm3", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_dwell_db.py", "source_location": "L35", "weight": 1.0}, {"source": "$graphify-root$_tests_test_dwell_db_testlclssystm3", "target": "$graphify-root$_tests_test_dwell_db_testlclssystm3_test_museum_code", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_dwell_db.py", "source_location": "L36", "weight": 1.0}, {"source": "$graphify-root$_tests_test_dwell_db_py", "target": "$graphify-root$_tests_test_dwell_db_testlclssystm1fallback", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_dwell_db.py", "source_location": "L43", "weight": 1.0}, {"source": "$graphify-root$_tests_test_dwell_db_testlclssystm1fallback", "target": "$graphify-root$_tests_test_dwell_db_testlclssystm1fallback_test_lcls3_unknown_falls_back_to_lcls1", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_dwell_db.py", "source_location": "L44", "weight": 1.0}, {"source": "$graphify-root$_tests_test_dwell_db_py", "target": "$graphify-root$_tests_test_dwell_db_testcontenttypefallback", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_dwell_db.py", "source_location": "L51", "weight": 1.0}, {"source": "$graphify-root$_tests_test_dwell_db_testcontenttypefallback", "target": "$graphify-root$_tests_test_dwell_db_testcontenttypefallback_test_content_type_used_when_no_lcls", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_dwell_db.py", "source_location": "L52", "weight": 1.0}, {"source": "$graphify-root$_tests_test_dwell_db_py", "target": "$graphify-root$_tests_test_dwell_db_testdefaultfallback", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_dwell_db.py", "source_location": "L58", "weight": 1.0}, {"source": "$graphify-root$_tests_test_dwell_db_testdefaultfallback", "target": "$graphify-root$_tests_test_dwell_db_testdefaultfallback_test_no_info_returns_default", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_dwell_db.py", "source_location": "L59", "weight": 1.0}, {"source": "$graphify-root$_tests_test_dwell_db_py", "target": "$graphify-root$_tests_test_dwell_db_testistooshort", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_dwell_db.py", "source_location": "L65", "weight": 1.0}, {"source": "$graphify-root$_tests_test_dwell_db_testistooshort", "target": "$graphify-root$_tests_test_dwell_db_testistooshort_test_below_50pct_is_too_short", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_dwell_db.py", "source_location": "L66", "weight": 1.0}, {"source": "$graphify-root$_tests_test_dwell_db_rationale_1", "target": "$graphify-root$_tests_test_dwell_db_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_dwell_db.py", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_tests_test_dwell_db_testmanualoverride_test_\uacbd\ubcf5\uad81_returns_manual_source", "callee": "get_recommended_dwell", "is_member_call": false, "source_file": "tests/test_dwell_db.py", "source_location": "L18", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_dwell_db_testmanualoverride_test_normalization_handles_spaces", "callee": "get_recommended_dwell", "is_member_call": false, "source_file": "tests/test_dwell_db.py", "source_location": "L25", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_dwell_db_testmanualoverride_test_n_seoul_tower_alias", "callee": "get_recommended_dwell", "is_member_call": false, "source_file": "tests/test_dwell_db.py", "source_location": "L29", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_dwell_db_testmanualoverride_test_n_seoul_tower_alias", "callee": "get_recommended_dwell", "is_member_call": false, "source_file": "tests/test_dwell_db.py", "source_location": "L30", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_dwell_db_testlclssystm3_test_museum_code", "callee": "get_recommended_dwell", "is_member_call": false, "source_file": "tests/test_dwell_db.py", "source_location": "L38", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_dwell_db_testlclssystm1fallback_test_lcls3_unknown_falls_back_to_lcls1", "callee": "get_recommended_dwell", "is_member_call": false, "source_file": "tests/test_dwell_db.py", "source_location": "L46", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_dwell_db_testcontenttypefallback_test_content_type_used_when_no_lcls", "callee": "get_recommended_dwell", "is_member_call": false, "source_file": "tests/test_dwell_db.py", "source_location": "L53", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_dwell_db_testdefaultfallback_test_no_info_returns_default", "callee": "get_recommended_dwell", "is_member_call": false, "source_file": "tests/test_dwell_db.py", "source_location": "L60", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_dwell_db_testistooshort_test_below_50pct_is_too_short", "callee": "DwellRecommendation", "is_member_call": false, "source_file": "tests/test_dwell_db.py", "source_location": "L67", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_dwell_db_testistooshort_test_below_50pct_is_too_short", "callee": "is_too_short", "is_member_call": true, "source_file": "tests/test_dwell_db.py", "source_location": "L68", "receiver": "rec"}, {"caller_nid": "$graphify-root$_tests_test_dwell_db_testistooshort_test_below_50pct_is_too_short", "callee": "is_too_short", "is_member_call": true, "source_file": "tests/test_dwell_db.py", "source_location": "L69", "receiver": "rec"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/a240dd183a68608f5686056562433df371a49bf95788ce3f9b7f42212fce2d77.json b/graphify-out/cache/ast/v0.9.31/a240dd183a68608f5686056562433df371a49bf95788ce3f9b7f42212fce2d77.json new file mode 100644 index 0000000..f4238d6 --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/a240dd183a68608f5686056562433df371a49bf95788ce3f9b7f42212fce2d77.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_scripts_collect_naver_only_py", "label": "collect_naver_only.py", "file_type": "code", "source_file": "scripts/collect_naver_only.py", "source_location": "L1"}, {"id": "$graphify-root$_scripts_collect_naver_only_rate_get", "label": "_rate_get()", "file_type": "code", "source_file": "scripts/collect_naver_only.py", "source_location": "L66", "_callable": true}, {"id": "client", "label": "Client", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/scripts/collect_naver_only.py"}, {"id": "response", "label": "Response", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/scripts/collect_naver_only.py"}, {"id": "$graphify-root$_scripts_collect_naver_only_strip", "label": "_strip()", "file_type": "code", "source_file": "scripts/collect_naver_only.py", "source_location": "L80", "_callable": true}, {"id": "$graphify-root$_scripts_collect_naver_only_count_hits", "label": "_count_hits()", "file_type": "code", "source_file": "scripts/collect_naver_only.py", "source_location": "L181", "_callable": true}, {"id": "$graphify-root$_scripts_collect_naver_only_parse_price", "label": "_parse_price()", "file_type": "code", "source_file": "scripts/collect_naver_only.py", "source_location": "L204", "_callable": true}, {"id": "$graphify-root$_scripts_collect_naver_only_extract_fields", "label": "extract_fields()", "file_type": "code", "source_file": "scripts/collect_naver_only.py", "source_location": "L228", "_callable": true}, {"id": "$graphify-root$_scripts_collect_naver_only_build_summary_text", "label": "build_summary_text()", "file_type": "code", "source_file": "scripts/collect_naver_only.py", "source_location": "L297", "_callable": true}, {"id": "$graphify-root$_scripts_collect_naver_only_fetch_blog_texts", "label": "_fetch_blog_texts()", "file_type": "code", "source_file": "scripts/collect_naver_only.py", "source_location": "L311", "_callable": true}, {"id": "$graphify-root$_scripts_collect_naver_only_fetch_and_extract", "label": "fetch_and_extract()", "file_type": "code", "source_file": "scripts/collect_naver_only.py", "source_location": "L334", "_callable": true}, {"id": "$graphify-root$_scripts_collect_naver_only_load_csv_sample", "label": "load_csv_sample()", "file_type": "code", "source_file": "scripts/collect_naver_only.py", "source_location": "L372", "_callable": true}, {"id": "$graphify-root$_scripts_collect_naver_only_load_progress", "label": "load_progress()", "file_type": "code", "source_file": "scripts/collect_naver_only.py", "source_location": "L391", "_callable": true}, {"id": "$graphify-root$_scripts_collect_naver_only_save_progress", "label": "save_progress()", "file_type": "code", "source_file": "scripts/collect_naver_only.py", "source_location": "L397", "_callable": true}, {"id": "$graphify-root$_scripts_collect_naver_only_main", "label": "main()", "file_type": "code", "source_file": "scripts/collect_naver_only.py", "source_location": "L404", "_callable": true}, {"id": "$graphify-root$_scripts_collect_naver_only_rationale_298", "label": "RAG \uc784\ubca0\ub529\uc6a9 \uc790\uc5f0\uc5b4 \uc694\uc57d \ubb38\uc7a5 \uc0dd\uc131", "file_type": "rationale", "source_file": "scripts/collect_naver_only.py", "source_location": "L298"}], "edges": [{"source": "$graphify-root$_scripts_collect_naver_only_py", "target": "csv", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_only.py", "source_location": "L9", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_only_py", "target": "json", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_only.py", "source_location": "L10", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_only_py", "target": "os", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_only.py", "source_location": "L11", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_only_py", "target": "random", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_only.py", "source_location": "L12", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_only_py", "target": "re", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_only.py", "source_location": "L13", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_only_py", "target": "sys", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_only.py", "source_location": "L14", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_only_py", "target": "threading", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_only.py", "source_location": "L15", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_only_py", "target": "time", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_only.py", "source_location": "L16", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_only_py", "target": "concurrent_futures", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_only.py", "source_location": "L17", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_only_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_only.py", "source_location": "L18", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_only_py", "target": "httpx", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_only.py", "source_location": "L20", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_only_py", "target": "dotenv", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_only.py", "source_location": "L21", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_only_py", "target": "tqdm", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_only.py", "source_location": "L22", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_only_py", "target": "$graphify-root$_scripts_collect_naver_only_rate_get", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_only.py", "source_location": "L66", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_only_rate_get", "target": "client", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_only.py", "source_location": "L66", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_only_rate_get", "target": "response", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_only.py", "source_location": "L66", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_only_py", "target": "$graphify-root$_scripts_collect_naver_only_strip", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_only.py", "source_location": "L80", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_only_py", "target": "$graphify-root$_scripts_collect_naver_only_count_hits", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_only.py", "source_location": "L181", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_only_py", "target": "$graphify-root$_scripts_collect_naver_only_parse_price", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_only.py", "source_location": "L204", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_only_py", "target": "$graphify-root$_scripts_collect_naver_only_extract_fields", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_only.py", "source_location": "L228", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_only_py", "target": "$graphify-root$_scripts_collect_naver_only_build_summary_text", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_only.py", "source_location": "L297", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_only_py", "target": "$graphify-root$_scripts_collect_naver_only_fetch_blog_texts", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_only.py", "source_location": "L311", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_only_fetch_blog_texts", "target": "client", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_only.py", "source_location": "L311", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_only_py", "target": "$graphify-root$_scripts_collect_naver_only_fetch_and_extract", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_only.py", "source_location": "L334", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_only_fetch_and_extract", "target": "client", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_only.py", "source_location": "L334", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_only_py", "target": "$graphify-root$_scripts_collect_naver_only_load_csv_sample", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_only.py", "source_location": "L372", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_only_py", "target": "$graphify-root$_scripts_collect_naver_only_load_progress", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_only.py", "source_location": "L391", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_only_py", "target": "$graphify-root$_scripts_collect_naver_only_save_progress", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_only.py", "source_location": "L397", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_only_py", "target": "$graphify-root$_scripts_collect_naver_only_main", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_only.py", "source_location": "L404", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_only_extract_fields", "target": "$graphify-root$_scripts_collect_naver_only_count_hits", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_only.py", "source_location": "L243", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_only_extract_fields", "target": "$graphify-root$_scripts_collect_naver_only_parse_price", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_only.py", "source_location": "L265", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_only_fetch_blog_texts", "target": "$graphify-root$_scripts_collect_naver_only_rate_get", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_only.py", "source_location": "L314", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_only_fetch_blog_texts", "target": "$graphify-root$_scripts_collect_naver_only_strip", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_only.py", "source_location": "L325", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_only_fetch_and_extract", "target": "$graphify-root$_scripts_collect_naver_only_fetch_blog_texts", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_only.py", "source_location": "L343", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_only_fetch_and_extract", "target": "$graphify-root$_scripts_collect_naver_only_extract_fields", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_only.py", "source_location": "L354", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_only_fetch_and_extract", "target": "$graphify-root$_scripts_collect_naver_only_build_summary_text", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_only.py", "source_location": "L367", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_only_main", "target": "$graphify-root$_scripts_collect_naver_only_load_csv_sample", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_only.py", "source_location": "L410", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_only_main", "target": "$graphify-root$_scripts_collect_naver_only_load_progress", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_only.py", "source_location": "L412", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_only_main", "target": "client", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_only.py", "source_location": "L418", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_only_main", "target": "$graphify-root$_scripts_collect_naver_only_fetch_and_extract", "relation": "indirect_call", "context": "argument", "confidence": "INFERRED", "source_file": "scripts/collect_naver_only.py", "source_location": "L420", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_only_main", "target": "$graphify-root$_scripts_collect_naver_only_save_progress", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_only.py", "source_location": "L430", "weight": 1.0}, {"source": "$graphify-root$_scripts_collect_naver_only_rationale_298", "target": "$graphify-root$_scripts_collect_naver_only_build_summary_text", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "scripts/collect_naver_only.py", "source_location": "L298", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_scripts_collect_naver_only_rate_get", "callee": "monotonic", "is_member_call": true, "source_file": "scripts/collect_naver_only.py", "source_location": "L68", "receiver": "time"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_rate_get", "callee": "pop", "is_member_call": true, "source_file": "scripts/collect_naver_only.py", "source_location": "L70", "receiver": "_req_times"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_rate_get", "callee": "_req_times", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/collect_naver_only.py", "source_location": "L71"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_rate_get", "callee": "sleep", "is_member_call": true, "source_file": "scripts/collect_naver_only.py", "source_location": "L74", "receiver": "time"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_rate_get", "callee": "append", "is_member_call": true, "source_file": "scripts/collect_naver_only.py", "source_location": "L75", "receiver": "_req_times"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_rate_get", "callee": "monotonic", "is_member_call": true, "source_file": "scripts/collect_naver_only.py", "source_location": "L75", "receiver": "time"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_rate_get", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_only.py", "source_location": "L76", "receiver": "client"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_strip", "callee": "sub", "is_member_call": true, "source_file": "scripts/collect_naver_only.py", "source_location": "L81", "receiver": "re"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_parse_price", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_only.py", "source_location": "L205", "receiver": "_TYPE_THRESHOLDS"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_parse_price", "callee": "finditer", "is_member_call": true, "source_file": "scripts/collect_naver_only.py", "source_location": "L207", "receiver": "_PRICE_RE"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_parse_price", "callee": "group", "is_member_call": true, "source_file": "scripts/collect_naver_only.py", "source_location": "L208", "receiver": "m"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_parse_price", "callee": "group", "is_member_call": true, "source_file": "scripts/collect_naver_only.py", "source_location": "L208", "receiver": "m"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_parse_price", "callee": "append", "is_member_call": true, "source_file": "scripts/collect_naver_only.py", "source_location": "L210", "receiver": "prices"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_parse_price", "callee": "replace", "is_member_call": true, "source_file": "scripts/collect_naver_only.py", "source_location": "L210", "receiver": "raw"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_parse_price", "callee": "group", "is_member_call": true, "source_file": "scripts/collect_naver_only.py", "source_location": "L211", "receiver": "m"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_parse_price", "callee": "append", "is_member_call": true, "source_file": "scripts/collect_naver_only.py", "source_location": "L212", "receiver": "prices"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_parse_price", "callee": "group", "is_member_call": true, "source_file": "scripts/collect_naver_only.py", "source_location": "L212", "receiver": "m"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_parse_price", "callee": "group", "is_member_call": true, "source_file": "scripts/collect_naver_only.py", "source_location": "L213", "receiver": "m"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_parse_price", "callee": "append", "is_member_call": true, "source_file": "scripts/collect_naver_only.py", "source_location": "L214", "receiver": "prices"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_parse_price", "callee": "group", "is_member_call": true, "source_file": "scripts/collect_naver_only.py", "source_location": "L214", "receiver": "m"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_parse_price", "callee": "group", "is_member_call": true, "source_file": "scripts/collect_naver_only.py", "source_location": "L215", "receiver": "m"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_parse_price", "callee": "group", "is_member_call": true, "source_file": "scripts/collect_naver_only.py", "source_location": "L215", "receiver": "m"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_parse_price", "callee": "append", "is_member_call": true, "source_file": "scripts/collect_naver_only.py", "source_location": "L216", "receiver": "prices"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_parse_price", "callee": "group", "is_member_call": true, "source_file": "scripts/collect_naver_only.py", "source_location": "L216", "receiver": "m"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_parse_price", "callee": "group", "is_member_call": true, "source_file": "scripts/collect_naver_only.py", "source_location": "L216", "receiver": "m"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_extract_fields", "callee": "join", "is_member_call": true, "source_file": "scripts/collect_naver_only.py", "source_location": "L229", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_extract_fields", "callee": "decide", "is_member_call": false, "source_file": "scripts/collect_naver_only.py", "source_location": "L240", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_extract_fields", "callee": "decide", "is_member_call": false, "source_file": "scripts/collect_naver_only.py", "source_location": "L256", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_extract_fields", "callee": "decide", "is_member_call": false, "source_file": "scripts/collect_naver_only.py", "source_location": "L259", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_build_summary_text", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_only.py", "source_location": "L300", "receiver": "record"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_build_summary_text", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_only.py", "source_location": "L300", "receiver": "record"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_build_summary_text", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_only.py", "source_location": "L301", "receiver": "record"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_build_summary_text", "callee": "items", "is_member_call": true, "source_file": "scripts/collect_naver_only.py", "source_location": "L303", "receiver": "_FIELD_TEXT"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_build_summary_text", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_only.py", "source_location": "L304", "receiver": "record"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_build_summary_text", "callee": "append", "is_member_call": true, "source_file": "scripts/collect_naver_only.py", "source_location": "L306", "receiver": "parts"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_build_summary_text", "callee": "join", "is_member_call": true, "source_file": "scripts/collect_naver_only.py", "source_location": "L307", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_fetch_blog_texts", "callee": "MAX_RETRIES", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/collect_naver_only.py", "source_location": "L312"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_fetch_blog_texts", "callee": "NAVER_BLOG_URL", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/collect_naver_only.py", "source_location": "L315"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_fetch_blog_texts", "callee": "NAVER_HEADERS", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/collect_naver_only.py", "source_location": "L316"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_fetch_blog_texts", "callee": "BLOG_DISPLAY", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "scripts/collect_naver_only.py", "source_location": "L317"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_fetch_blog_texts", "callee": "exit", "is_member_call": true, "source_file": "scripts/collect_naver_only.py", "source_location": "L322", "receiver": "sys"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_fetch_blog_texts", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_only.py", "source_location": "L325", "receiver": "it"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_fetch_blog_texts", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_only.py", "source_location": "L325", "receiver": "it"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_fetch_blog_texts", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_only.py", "source_location": "L326", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_fetch_blog_texts", "callee": "json", "is_member_call": true, "source_file": "scripts/collect_naver_only.py", "source_location": "L326", "receiver": "resp"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_fetch_blog_texts", "callee": "sleep", "is_member_call": true, "source_file": "scripts/collect_naver_only.py", "source_location": "L330", "receiver": "time"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_fetch_and_extract", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_only.py", "source_location": "L336", "receiver": "poi"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_fetch_and_extract", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_only.py", "source_location": "L337", "receiver": "poi"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_fetch_and_extract", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_only.py", "source_location": "L338", "receiver": "TYPE_QUERY_SUFFIX"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_fetch_and_extract", "callee": "strip", "is_member_call": true, "source_file": "scripts/collect_naver_only.py", "source_location": "L340", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_fetch_and_extract", "callee": "add", "is_member_call": true, "source_file": "scripts/collect_naver_only.py", "source_location": "L351", "receiver": "seen"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_fetch_and_extract", "callee": "append", "is_member_call": true, "source_file": "scripts/collect_naver_only.py", "source_location": "L352", "receiver": "all_texts"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_fetch_and_extract", "callee": "update", "is_member_call": true, "source_file": "scripts/collect_naver_only.py", "source_location": "L355", "receiver": "fields"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_fetch_and_extract", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_only.py", "source_location": "L358", "receiver": "poi"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_fetch_and_extract", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_only.py", "source_location": "L360", "receiver": "poi"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_fetch_and_extract", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_only.py", "source_location": "L362", "receiver": "TYPE_LABEL"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_fetch_and_extract", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_only.py", "source_location": "L363", "receiver": "poi"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_fetch_and_extract", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_only.py", "source_location": "L364", "receiver": "poi"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_load_csv_sample", "callee": "CSV_PATH", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/collect_naver_only.py", "source_location": "L374"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_load_csv_sample", "callee": "DictReader", "is_member_call": true, "source_file": "scripts/collect_naver_only.py", "source_location": "L375", "receiver": "csv"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_load_csv_sample", "callee": "f", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/collect_naver_only.py", "source_location": "L375"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_load_csv_sample", "callee": "append", "is_member_call": true, "source_file": "scripts/collect_naver_only.py", "source_location": "L376", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_load_csv_sample", "callee": "setdefault", "is_member_call": true, "source_file": "scripts/collect_naver_only.py", "source_location": "L376", "receiver": "buckets"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_load_csv_sample", "callee": "items", "is_member_call": true, "source_file": "scripts/collect_naver_only.py", "source_location": "L383", "receiver": "weights"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_load_csv_sample", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_only.py", "source_location": "L384", "receiver": "buckets"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_load_csv_sample", "callee": "extend", "is_member_call": true, "source_file": "scripts/collect_naver_only.py", "source_location": "L385", "receiver": "sample"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_load_csv_sample", "callee": "sample", "is_member_call": true, "source_file": "scripts/collect_naver_only.py", "source_location": "L385", "receiver": "random"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_load_csv_sample", "callee": "shuffle", "is_member_call": true, "source_file": "scripts/collect_naver_only.py", "source_location": "L386", "receiver": "random"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_load_progress", "callee": "exists", "is_member_call": true, "source_file": "scripts/collect_naver_only.py", "source_location": "L392", "receiver": "PROGRESS_PATH"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_load_progress", "callee": "PROGRESS_PATH", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/collect_naver_only.py", "source_location": "L393"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_load_progress", "callee": "load", "is_member_call": true, "source_file": "scripts/collect_naver_only.py", "source_location": "L394", "receiver": "json"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_load_progress", "callee": "f", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/collect_naver_only.py", "source_location": "L394"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_save_progress", "callee": "mkdir", "is_member_call": true, "source_file": "scripts/collect_naver_only.py", "source_location": "L398", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_save_progress", "callee": "PROGRESS_PATH", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/collect_naver_only.py", "source_location": "L399"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_save_progress", "callee": "dump", "is_member_call": true, "source_file": "scripts/collect_naver_only.py", "source_location": "L400", "receiver": "json"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_save_progress", "callee": "f", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/collect_naver_only.py", "source_location": "L400"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_save_progress", "callee": "values", "is_member_call": true, "source_file": "scripts/collect_naver_only.py", "source_location": "L400", "receiver": "results"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_main", "callee": "exit", "is_member_call": true, "source_file": "scripts/collect_naver_only.py", "source_location": "L407", "receiver": "sys"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_main", "callee": "SAMPLE_SIZE", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/collect_naver_only.py", "source_location": "L410"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_main", "callee": "monotonic", "is_member_call": true, "source_file": "scripts/collect_naver_only.py", "source_location": "L416", "receiver": "time"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_main", "callee": "ThreadPoolExecutor", "is_member_call": false, "source_file": "scripts/collect_naver_only.py", "source_location": "L419", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_main", "callee": "MAX_WORKERS", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/collect_naver_only.py", "source_location": "L419"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_main", "callee": "submit", "is_member_call": true, "source_file": "scripts/collect_naver_only.py", "source_location": "L420", "receiver": "pool"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_main", "callee": "http", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/collect_naver_only.py", "source_location": "L420"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_main", "callee": "tqdm", "is_member_call": false, "source_file": "scripts/collect_naver_only.py", "source_location": "L423", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_main", "callee": "as_completed", "is_member_call": false, "source_file": "scripts/collect_naver_only.py", "source_location": "L424", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_main", "callee": "result", "is_member_call": true, "source_file": "scripts/collect_naver_only.py", "source_location": "L425", "receiver": "fut"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_main", "callee": "append", "is_member_call": true, "source_file": "scripts/collect_naver_only.py", "source_location": "L427", "receiver": "batch_buf"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_main", "callee": "update", "is_member_call": true, "source_file": "scripts/collect_naver_only.py", "source_location": "L428", "receiver": "pbar"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_main", "callee": "clear", "is_member_call": true, "source_file": "scripts/collect_naver_only.py", "source_location": "L431", "receiver": "batch_buf"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_main", "callee": "monotonic", "is_member_call": true, "source_file": "scripts/collect_naver_only.py", "source_location": "L436", "receiver": "time"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_main", "callee": "mkdir", "is_member_call": true, "source_file": "scripts/collect_naver_only.py", "source_location": "L438", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_main", "callee": "values", "is_member_call": true, "source_file": "scripts/collect_naver_only.py", "source_location": "L439", "receiver": "done"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_main", "callee": "OUTPUT_PATH", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/collect_naver_only.py", "source_location": "L440"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_main", "callee": "dump", "is_member_call": true, "source_file": "scripts/collect_naver_only.py", "source_location": "L441", "receiver": "json"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_main", "callee": "f", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/collect_naver_only.py", "source_location": "L441"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_main", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_only.py", "source_location": "L449", "receiver": "r"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_main", "callee": "cnt", "is_member_call": false, "source_file": "scripts/collect_naver_only.py", "source_location": "L450", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_main", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_only.py", "source_location": "L450", "receiver": "r"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_main", "callee": "cnt", "is_member_call": false, "source_file": "scripts/collect_naver_only.py", "source_location": "L450", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_main", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_only.py", "source_location": "L450", "receiver": "r"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_main", "callee": "cnt", "is_member_call": false, "source_file": "scripts/collect_naver_only.py", "source_location": "L450", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_main", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_only.py", "source_location": "L450", "receiver": "r"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_main", "callee": "cnt", "is_member_call": false, "source_file": "scripts/collect_naver_only.py", "source_location": "L452", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_main", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_only.py", "source_location": "L452", "receiver": "r"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_main", "callee": "cnt", "is_member_call": false, "source_file": "scripts/collect_naver_only.py", "source_location": "L454", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_main", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_only.py", "source_location": "L454", "receiver": "r"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_main", "callee": "cnt", "is_member_call": false, "source_file": "scripts/collect_naver_only.py", "source_location": "L454", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_main", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_only.py", "source_location": "L454", "receiver": "r"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_main", "callee": "cnt", "is_member_call": false, "source_file": "scripts/collect_naver_only.py", "source_location": "L455", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_main", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_only.py", "source_location": "L455", "receiver": "r"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_main", "callee": "cnt", "is_member_call": false, "source_file": "scripts/collect_naver_only.py", "source_location": "L455", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_main", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_only.py", "source_location": "L455", "receiver": "r"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_main", "callee": "cnt", "is_member_call": false, "source_file": "scripts/collect_naver_only.py", "source_location": "L457", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_main", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_only.py", "source_location": "L457", "receiver": "r"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_main", "callee": "cnt", "is_member_call": false, "source_file": "scripts/collect_naver_only.py", "source_location": "L459", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_main", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_only.py", "source_location": "L459", "receiver": "r"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_main", "callee": "cnt", "is_member_call": false, "source_file": "scripts/collect_naver_only.py", "source_location": "L461", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_main", "callee": "get", "is_member_call": true, "source_file": "scripts/collect_naver_only.py", "source_location": "L461", "receiver": "r"}, {"caller_nid": "$graphify-root$_scripts_collect_naver_only_main", "callee": "k", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/collect_naver_only.py", "source_location": "L461"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/a43ed21d165c464c5dbbf231443a8ed295ffb25d9039a0f391edb24120b4dafa.json b/graphify-out/cache/ast/v0.9.31/a43ed21d165c464c5dbbf231443a8ed295ffb25d9039a0f391edb24120b4dafa.json new file mode 100644 index 0000000..ffe03ac --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/a43ed21d165c464c5dbbf231443a8ed295ffb25d9039a0f391edb24120b4dafa.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_tests_test_hard_fail_py", "label": "test_hard_fail.py", "file_type": "code", "source_file": "tests/test_hard_fail.py", "source_location": "L1"}, {"id": "$graphify-root$_tests_test_hard_fail_make_poi", "label": "make_poi()", "file_type": "code", "source_file": "tests/test_hard_fail.py", "source_location": "L13", "_callable": true}, {"id": "poi", "label": "POI", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/tests/test_hard_fail.py"}, {"id": "$graphify-root$_tests_test_hard_fail_make_plan", "label": "make_plan()", "file_type": "code", "source_file": "tests/test_hard_fail.py", "source_location": "L30", "_callable": true}, {"id": "itineraryplan", "label": "ItineraryPlan", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/tests/test_hard_fail.py"}, {"id": "$graphify-root$_tests_test_hard_fail_make_matrix", "label": "make_matrix()", "file_type": "code", "source_file": "tests/test_hard_fail.py", "source_location": "L41", "_callable": true}, {"id": "fixture", "label": "fixture", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/tests/test_hard_fail.py"}, {"id": "$graphify-root$_tests_test_hard_fail_detector", "label": "detector()", "file_type": "code", "source_file": "tests/test_hard_fail.py", "source_location": "L58", "_callable": true}, {"id": "hardfaildetector", "label": "HardFailDetector", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/tests/test_hard_fail.py"}, {"id": "$graphify-root$_tests_test_hard_fail_open_poi", "label": "open_poi()", "file_type": "code", "source_file": "tests/test_hard_fail.py", "source_location": "L63", "_callable": true}, {"id": "$graphify-root$_tests_test_hard_fail_testhelpers", "label": "TestHelpers", "file_type": "code", "source_file": "tests/test_hard_fail.py", "source_location": "L71", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_tests_test_hard_fail_testhelpers_test_time_to_min", "label": ".test_time_to_min()", "file_type": "code", "source_file": "tests/test_hard_fail.py", "source_location": "L72", "_callable": true}, {"id": "$graphify-root$_tests_test_hard_fail_testhelpers_test_min_to_time", "label": ".test_min_to_time()", "file_type": "code", "source_file": "tests/test_hard_fail.py", "source_location": "L75", "_callable": true}, {"id": "$graphify-root$_tests_test_hard_fail_testhelpers_test_time_to_min_midnight", "label": ".test_time_to_min_midnight()", "file_type": "code", "source_file": "tests/test_hard_fail.py", "source_location": "L78", "_callable": true}, {"id": "$graphify-root$_tests_test_hard_fail_testhelpers_test_min_to_time_midnight", "label": ".test_min_to_time_midnight()", "file_type": "code", "source_file": "tests/test_hard_fail.py", "source_location": "L81", "_callable": true}, {"id": "$graphify-root$_tests_test_hard_fail_testhelpers_test_min_to_time_wraps_past_24h", "label": ".test_min_to_time_wraps_past_24h()", "file_type": "code", "source_file": "tests/test_hard_fail.py", "source_location": "L84", "_callable": true}, {"id": "$graphify-root$_tests_test_hard_fail_testoperatinghours", "label": "TestOperatingHours", "file_type": "code", "source_file": "tests/test_hard_fail.py", "source_location": "L92", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_tests_test_hard_fail_testoperatinghours_test_no_fail_within_hours", "label": ".test_no_fail_within_hours()", "file_type": "code", "source_file": "tests/test_hard_fail.py", "source_location": "L93", "_callable": true}, {"id": "$graphify-root$_tests_test_hard_fail_testoperatinghours_test_fail_arrive_before_open", "label": ".test_fail_arrive_before_open()", "file_type": "code", "source_file": "tests/test_hard_fail.py", "source_location": "L101", "_callable": true}, {"id": "$graphify-root$_tests_test_hard_fail_testoperatinghours_test_fail_arrive_after_close", "label": ".test_fail_arrive_after_close()", "file_type": "code", "source_file": "tests/test_hard_fail.py", "source_location": "L112", "_callable": true}, {"id": "$graphify-root$_tests_test_hard_fail_testoperatinghours_test_no_fail_for_fallback_hours", "label": ".test_no_fail_for_fallback_hours()", "file_type": "code", "source_file": "tests/test_hard_fail.py", "source_location": "L121", "_callable": true}, {"id": "$graphify-root$_tests_test_hard_fail_testtraveltimeimpossible", "label": "TestTravelTimeImpossible", "file_type": "code", "source_file": "tests/test_hard_fail.py", "source_location": "L135", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_tests_test_hard_fail_testtraveltimeimpossible_test_travel_impossible", "label": ".test_travel_impossible()", "file_type": "code", "source_file": "tests/test_hard_fail.py", "source_location": "L136", "_callable": true}, {"id": "$graphify-root$_tests_test_hard_fail_testtraveltimeimpossible_test_no_fail_sufficient_window", "label": ".test_no_fail_sufficient_window()", "file_type": "code", "source_file": "tests/test_hard_fail.py", "source_location": "L150", "_callable": true}, {"id": "$graphify-root$_tests_test_hard_fail_testscheduleinfeasible", "label": "TestScheduleInfeasible", "file_type": "code", "source_file": "tests/test_hard_fail.py", "source_location": "L165", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_tests_test_hard_fail_testscheduleinfeasible_test_schedule_exceeds_24h", "label": ".test_schedule_exceeds_24h()", "file_type": "code", "source_file": "tests/test_hard_fail.py", "source_location": "L166", "_callable": true}, {"id": "$graphify-root$_tests_test_hard_fail_testscheduleinfeasible_test_schedule_within_24h", "label": ".test_schedule_within_24h()", "file_type": "code", "source_file": "tests/test_hard_fail.py", "source_location": "L184", "_callable": true}, {"id": "$graphify-root$_tests_test_hard_fail_testnormalplan", "label": "TestNormalPlan", "file_type": "code", "source_file": "tests/test_hard_fail.py", "source_location": "L201", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_tests_test_hard_fail_testnormalplan_test_normal_plan_no_fails", "label": ".test_normal_plan_no_fails()", "file_type": "code", "source_file": "tests/test_hard_fail.py", "source_location": "L202", "_callable": true}, {"id": "$graphify-root$_tests_test_hard_fail_testdayindex", "label": "TestDayIndex", "file_type": "code", "source_file": "tests/test_hard_fail.py", "source_location": "L221", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_tests_test_hard_fail_testdayindex_test_day_index_defaults_to_none", "label": ".test_day_index_defaults_to_none()", "file_type": "code", "source_file": "tests/test_hard_fail.py", "source_location": "L222", "_callable": true}, {"id": "$graphify-root$_tests_test_hard_fail_testdayindex_test_day_index_set_when_passed", "label": ".test_day_index_set_when_passed()", "file_type": "code", "source_file": "tests/test_hard_fail.py", "source_location": "L229", "_callable": true}, {"id": "$graphify-root$_tests_test_hard_fail_rationale_1", "label": "Tests for HardFailDetector (TDD).", "file_type": "rationale", "source_file": "tests/test_hard_fail.py", "source_location": "L1"}], "edges": [{"source": "$graphify-root$_tests_test_hard_fail_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_hard_fail.py", "source_location": "L4", "weight": 1.0}, {"source": "$graphify-root$_tests_test_hard_fail_py", "target": "src_data_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_hard_fail.py", "source_location": "L6", "weight": 1.0}, {"source": "$graphify-root$_tests_test_hard_fail_py", "target": "src_validation_hard_fail", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_hard_fail.py", "source_location": "L7", "weight": 1.0}, {"source": "$graphify-root$_tests_test_hard_fail_py", "target": "$graphify-root$_tests_test_hard_fail_make_poi", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_hard_fail.py", "source_location": "L13", "weight": 1.0}, {"source": "$graphify-root$_tests_test_hard_fail_make_poi", "target": "poi", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "tests/test_hard_fail.py", "source_location": "L13", "weight": 1.0}, {"source": "$graphify-root$_tests_test_hard_fail_py", "target": "$graphify-root$_tests_test_hard_fail_make_plan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_hard_fail.py", "source_location": "L30", "weight": 1.0}, {"source": "$graphify-root$_tests_test_hard_fail_make_plan", "target": "itineraryplan", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "tests/test_hard_fail.py", "source_location": "L30", "weight": 1.0}, {"source": "$graphify-root$_tests_test_hard_fail_py", "target": "$graphify-root$_tests_test_hard_fail_make_matrix", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_hard_fail.py", "source_location": "L41", "weight": 1.0}, {"source": "$graphify-root$_tests_test_hard_fail_detector", "target": "fixture", "relation": "references", "confidence": "EXTRACTED", "source_file": "tests/test_hard_fail.py", "source_location": "L57", "weight": 1.0, "context": "decorator"}, {"source": "$graphify-root$_tests_test_hard_fail_py", "target": "$graphify-root$_tests_test_hard_fail_detector", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_hard_fail.py", "source_location": "L58", "weight": 1.0}, {"source": "$graphify-root$_tests_test_hard_fail_detector", "target": "hardfaildetector", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "tests/test_hard_fail.py", "source_location": "L58", "weight": 1.0}, {"source": "$graphify-root$_tests_test_hard_fail_open_poi", "target": "fixture", "relation": "references", "confidence": "EXTRACTED", "source_file": "tests/test_hard_fail.py", "source_location": "L62", "weight": 1.0, "context": "decorator"}, {"source": "$graphify-root$_tests_test_hard_fail_py", "target": "$graphify-root$_tests_test_hard_fail_open_poi", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_hard_fail.py", "source_location": "L63", "weight": 1.0}, {"source": "$graphify-root$_tests_test_hard_fail_open_poi", "target": "poi", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "tests/test_hard_fail.py", "source_location": "L63", "weight": 1.0}, {"source": "$graphify-root$_tests_test_hard_fail_py", "target": "$graphify-root$_tests_test_hard_fail_testhelpers", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_hard_fail.py", "source_location": "L71", "weight": 1.0}, {"source": "$graphify-root$_tests_test_hard_fail_testhelpers", "target": "$graphify-root$_tests_test_hard_fail_testhelpers_test_time_to_min", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_hard_fail.py", "source_location": "L72", "weight": 1.0}, {"source": "$graphify-root$_tests_test_hard_fail_testhelpers", "target": "$graphify-root$_tests_test_hard_fail_testhelpers_test_min_to_time", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_hard_fail.py", "source_location": "L75", "weight": 1.0}, {"source": "$graphify-root$_tests_test_hard_fail_testhelpers", "target": "$graphify-root$_tests_test_hard_fail_testhelpers_test_time_to_min_midnight", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_hard_fail.py", "source_location": "L78", "weight": 1.0}, {"source": "$graphify-root$_tests_test_hard_fail_testhelpers", "target": "$graphify-root$_tests_test_hard_fail_testhelpers_test_min_to_time_midnight", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_hard_fail.py", "source_location": "L81", "weight": 1.0}, {"source": "$graphify-root$_tests_test_hard_fail_testhelpers", "target": "$graphify-root$_tests_test_hard_fail_testhelpers_test_min_to_time_wraps_past_24h", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_hard_fail.py", "source_location": "L84", "weight": 1.0}, {"source": "$graphify-root$_tests_test_hard_fail_py", "target": "$graphify-root$_tests_test_hard_fail_testoperatinghours", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_hard_fail.py", "source_location": "L92", "weight": 1.0}, {"source": "$graphify-root$_tests_test_hard_fail_testoperatinghours", "target": "$graphify-root$_tests_test_hard_fail_testoperatinghours_test_no_fail_within_hours", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_hard_fail.py", "source_location": "L93", "weight": 1.0}, {"source": "$graphify-root$_tests_test_hard_fail_testoperatinghours", "target": "$graphify-root$_tests_test_hard_fail_testoperatinghours_test_fail_arrive_before_open", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_hard_fail.py", "source_location": "L101", "weight": 1.0}, {"source": "$graphify-root$_tests_test_hard_fail_testoperatinghours", "target": "$graphify-root$_tests_test_hard_fail_testoperatinghours_test_fail_arrive_after_close", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_hard_fail.py", "source_location": "L112", "weight": 1.0}, {"source": "$graphify-root$_tests_test_hard_fail_testoperatinghours", "target": "$graphify-root$_tests_test_hard_fail_testoperatinghours_test_no_fail_for_fallback_hours", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_hard_fail.py", "source_location": "L121", "weight": 1.0}, {"source": "$graphify-root$_tests_test_hard_fail_py", "target": "$graphify-root$_tests_test_hard_fail_testtraveltimeimpossible", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_hard_fail.py", "source_location": "L135", "weight": 1.0}, {"source": "$graphify-root$_tests_test_hard_fail_testtraveltimeimpossible", "target": "$graphify-root$_tests_test_hard_fail_testtraveltimeimpossible_test_travel_impossible", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_hard_fail.py", "source_location": "L136", "weight": 1.0}, {"source": "$graphify-root$_tests_test_hard_fail_testtraveltimeimpossible", "target": "$graphify-root$_tests_test_hard_fail_testtraveltimeimpossible_test_no_fail_sufficient_window", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_hard_fail.py", "source_location": "L150", "weight": 1.0}, {"source": "$graphify-root$_tests_test_hard_fail_py", "target": "$graphify-root$_tests_test_hard_fail_testscheduleinfeasible", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_hard_fail.py", "source_location": "L165", "weight": 1.0}, {"source": "$graphify-root$_tests_test_hard_fail_testscheduleinfeasible", "target": "$graphify-root$_tests_test_hard_fail_testscheduleinfeasible_test_schedule_exceeds_24h", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_hard_fail.py", "source_location": "L166", "weight": 1.0}, {"source": "$graphify-root$_tests_test_hard_fail_testscheduleinfeasible", "target": "$graphify-root$_tests_test_hard_fail_testscheduleinfeasible_test_schedule_within_24h", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_hard_fail.py", "source_location": "L184", "weight": 1.0}, {"source": "$graphify-root$_tests_test_hard_fail_py", "target": "$graphify-root$_tests_test_hard_fail_testnormalplan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_hard_fail.py", "source_location": "L201", "weight": 1.0}, {"source": "$graphify-root$_tests_test_hard_fail_testnormalplan", "target": "$graphify-root$_tests_test_hard_fail_testnormalplan_test_normal_plan_no_fails", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_hard_fail.py", "source_location": "L202", "weight": 1.0}, {"source": "$graphify-root$_tests_test_hard_fail_py", "target": "$graphify-root$_tests_test_hard_fail_testdayindex", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_hard_fail.py", "source_location": "L221", "weight": 1.0}, {"source": "$graphify-root$_tests_test_hard_fail_testdayindex", "target": "$graphify-root$_tests_test_hard_fail_testdayindex_test_day_index_defaults_to_none", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_hard_fail.py", "source_location": "L222", "weight": 1.0}, {"source": "$graphify-root$_tests_test_hard_fail_testdayindex", "target": "$graphify-root$_tests_test_hard_fail_testdayindex_test_day_index_set_when_passed", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_hard_fail.py", "source_location": "L229", "weight": 1.0}, {"source": "$graphify-root$_tests_test_hard_fail_make_poi", "target": "poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_hard_fail.py", "source_location": "L23", "weight": 1.0}, {"source": "$graphify-root$_tests_test_hard_fail_make_plan", "target": "itineraryplan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_hard_fail.py", "source_location": "L32", "weight": 1.0}, {"source": "$graphify-root$_tests_test_hard_fail_detector", "target": "hardfaildetector", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_hard_fail.py", "source_location": "L59", "weight": 1.0}, {"source": "$graphify-root$_tests_test_hard_fail_open_poi", "target": "$graphify-root$_tests_test_hard_fail_make_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_hard_fail.py", "source_location": "L64", "weight": 1.0}, {"source": "$graphify-root$_tests_test_hard_fail_testoperatinghours_test_no_fail_within_hours", "target": "$graphify-root$_tests_test_hard_fail_make_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_hard_fail.py", "source_location": "L96", "weight": 1.0}, {"source": "$graphify-root$_tests_test_hard_fail_testoperatinghours_test_fail_arrive_before_open", "target": "$graphify-root$_tests_test_hard_fail_make_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_hard_fail.py", "source_location": "L104", "weight": 1.0}, {"source": "$graphify-root$_tests_test_hard_fail_testoperatinghours_test_fail_arrive_after_close", "target": "$graphify-root$_tests_test_hard_fail_make_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_hard_fail.py", "source_location": "L114", "weight": 1.0}, {"source": "$graphify-root$_tests_test_hard_fail_testoperatinghours_test_fail_arrive_after_close", "target": "$graphify-root$_tests_test_hard_fail_make_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_hard_fail.py", "source_location": "L116", "weight": 1.0}, {"source": "$graphify-root$_tests_test_hard_fail_testoperatinghours_test_no_fail_for_fallback_hours", "target": "$graphify-root$_tests_test_hard_fail_make_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_hard_fail.py", "source_location": "L123", "weight": 1.0}, {"source": "$graphify-root$_tests_test_hard_fail_testoperatinghours_test_no_fail_for_fallback_hours", "target": "$graphify-root$_tests_test_hard_fail_make_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_hard_fail.py", "source_location": "L125", "weight": 1.0}, {"source": "$graphify-root$_tests_test_hard_fail_testtraveltimeimpossible_test_travel_impossible", "target": "$graphify-root$_tests_test_hard_fail_make_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_hard_fail.py", "source_location": "L139", "weight": 1.0}, {"source": "$graphify-root$_tests_test_hard_fail_testtraveltimeimpossible_test_travel_impossible", "target": "$graphify-root$_tests_test_hard_fail_make_matrix", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_hard_fail.py", "source_location": "L142", "weight": 1.0}, {"source": "$graphify-root$_tests_test_hard_fail_testtraveltimeimpossible_test_travel_impossible", "target": "$graphify-root$_tests_test_hard_fail_make_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_hard_fail.py", "source_location": "L143", "weight": 1.0}, {"source": "$graphify-root$_tests_test_hard_fail_testtraveltimeimpossible_test_no_fail_sufficient_window", "target": "$graphify-root$_tests_test_hard_fail_make_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_hard_fail.py", "source_location": "L151", "weight": 1.0}, {"source": "$graphify-root$_tests_test_hard_fail_testtraveltimeimpossible_test_no_fail_sufficient_window", "target": "$graphify-root$_tests_test_hard_fail_make_matrix", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_hard_fail.py", "source_location": "L154", "weight": 1.0}, {"source": "$graphify-root$_tests_test_hard_fail_testtraveltimeimpossible_test_no_fail_sufficient_window", "target": "$graphify-root$_tests_test_hard_fail_make_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_hard_fail.py", "source_location": "L155", "weight": 1.0}, {"source": "$graphify-root$_tests_test_hard_fail_testscheduleinfeasible_test_schedule_exceeds_24h", "target": "$graphify-root$_tests_test_hard_fail_make_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_hard_fail.py", "source_location": "L169", "weight": 1.0}, {"source": "$graphify-root$_tests_test_hard_fail_testscheduleinfeasible_test_schedule_exceeds_24h", "target": "$graphify-root$_tests_test_hard_fail_make_matrix", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_hard_fail.py", "source_location": "L175", "weight": 1.0}, {"source": "$graphify-root$_tests_test_hard_fail_testscheduleinfeasible_test_schedule_exceeds_24h", "target": "$graphify-root$_tests_test_hard_fail_make_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_hard_fail.py", "source_location": "L178", "weight": 1.0}, {"source": "$graphify-root$_tests_test_hard_fail_testscheduleinfeasible_test_schedule_within_24h", "target": "$graphify-root$_tests_test_hard_fail_make_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_hard_fail.py", "source_location": "L186", "weight": 1.0}, {"source": "$graphify-root$_tests_test_hard_fail_testscheduleinfeasible_test_schedule_within_24h", "target": "$graphify-root$_tests_test_hard_fail_make_matrix", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_hard_fail.py", "source_location": "L189", "weight": 1.0}, {"source": "$graphify-root$_tests_test_hard_fail_testscheduleinfeasible_test_schedule_within_24h", "target": "$graphify-root$_tests_test_hard_fail_make_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_hard_fail.py", "source_location": "L190", "weight": 1.0}, {"source": "$graphify-root$_tests_test_hard_fail_testnormalplan_test_normal_plan_no_fails", "target": "$graphify-root$_tests_test_hard_fail_make_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_hard_fail.py", "source_location": "L204", "weight": 1.0}, {"source": "$graphify-root$_tests_test_hard_fail_testnormalplan_test_normal_plan_no_fails", "target": "$graphify-root$_tests_test_hard_fail_make_matrix", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_hard_fail.py", "source_location": "L209", "weight": 1.0}, {"source": "$graphify-root$_tests_test_hard_fail_testnormalplan_test_normal_plan_no_fails", "target": "$graphify-root$_tests_test_hard_fail_make_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_hard_fail.py", "source_location": "L212", "weight": 1.0}, {"source": "$graphify-root$_tests_test_hard_fail_testdayindex_test_day_index_defaults_to_none", "target": "$graphify-root$_tests_test_hard_fail_make_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_hard_fail.py", "source_location": "L223", "weight": 1.0}, {"source": "$graphify-root$_tests_test_hard_fail_testdayindex_test_day_index_defaults_to_none", "target": "$graphify-root$_tests_test_hard_fail_make_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_hard_fail.py", "source_location": "L224", "weight": 1.0}, {"source": "$graphify-root$_tests_test_hard_fail_testdayindex_test_day_index_set_when_passed", "target": "$graphify-root$_tests_test_hard_fail_make_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_hard_fail.py", "source_location": "L230", "weight": 1.0}, {"source": "$graphify-root$_tests_test_hard_fail_testdayindex_test_day_index_set_when_passed", "target": "$graphify-root$_tests_test_hard_fail_make_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_hard_fail.py", "source_location": "L231", "weight": 1.0}, {"source": "$graphify-root$_tests_test_hard_fail_rationale_1", "target": "$graphify-root$_tests_test_hard_fail_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_hard_fail.py", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_tests_test_hard_fail_make_plan", "callee": "DayPlan", "is_member_call": false, "source_file": "tests/test_hard_fail.py", "source_location": "L33", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_hard_fail_make_plan", "callee": "PlaceInput", "is_member_call": false, "source_file": "tests/test_hard_fail.py", "source_location": "L33", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_hard_fail_make_matrix", "callee": "items", "is_member_call": true, "source_file": "tests/test_hard_fail.py", "source_location": "L43", "receiver": "pairs"}, {"caller_nid": "$graphify-root$_tests_test_hard_fail_make_matrix", "callee": "setdefault", "is_member_call": true, "source_file": "tests/test_hard_fail.py", "source_location": "L44", "receiver": "matrix"}, {"caller_nid": "$graphify-root$_tests_test_hard_fail_testhelpers_test_time_to_min", "callee": "_time_to_min", "is_member_call": true, "source_file": "tests/test_hard_fail.py", "source_location": "L73", "receiver": "HardFailDetector"}, {"caller_nid": "$graphify-root$_tests_test_hard_fail_testhelpers_test_min_to_time", "callee": "_min_to_time", "is_member_call": true, "source_file": "tests/test_hard_fail.py", "source_location": "L76", "receiver": "HardFailDetector"}, {"caller_nid": "$graphify-root$_tests_test_hard_fail_testhelpers_test_time_to_min_midnight", "callee": "_time_to_min", "is_member_call": true, "source_file": "tests/test_hard_fail.py", "source_location": "L79", "receiver": "HardFailDetector"}, {"caller_nid": "$graphify-root$_tests_test_hard_fail_testhelpers_test_min_to_time_midnight", "callee": "_min_to_time", "is_member_call": true, "source_file": "tests/test_hard_fail.py", "source_location": "L82", "receiver": "HardFailDetector"}, {"caller_nid": "$graphify-root$_tests_test_hard_fail_testhelpers_test_min_to_time_wraps_past_24h", "callee": "_min_to_time", "is_member_call": true, "source_file": "tests/test_hard_fail.py", "source_location": "L85", "receiver": "HardFailDetector"}, {"caller_nid": "$graphify-root$_tests_test_hard_fail_testoperatinghours_test_no_fail_within_hours", "callee": "detect", "is_member_call": true, "source_file": "tests/test_hard_fail.py", "source_location": "L97", "receiver": "detector"}, {"caller_nid": "$graphify-root$_tests_test_hard_fail_testoperatinghours_test_fail_arrive_before_open", "callee": "detect", "is_member_call": true, "source_file": "tests/test_hard_fail.py", "source_location": "L105", "receiver": "detector"}, {"caller_nid": "$graphify-root$_tests_test_hard_fail_testoperatinghours_test_fail_arrive_after_close", "callee": "detect", "is_member_call": true, "source_file": "tests/test_hard_fail.py", "source_location": "L117", "receiver": "detector"}, {"caller_nid": "$graphify-root$_tests_test_hard_fail_testoperatinghours_test_no_fail_for_fallback_hours", "callee": "detect", "is_member_call": true, "source_file": "tests/test_hard_fail.py", "source_location": "L126", "receiver": "detector"}, {"caller_nid": "$graphify-root$_tests_test_hard_fail_testtraveltimeimpossible_test_travel_impossible", "callee": "detect", "is_member_call": true, "source_file": "tests/test_hard_fail.py", "source_location": "L144", "receiver": "detector"}, {"caller_nid": "$graphify-root$_tests_test_hard_fail_testtraveltimeimpossible_test_no_fail_sufficient_window", "callee": "detect", "is_member_call": true, "source_file": "tests/test_hard_fail.py", "source_location": "L156", "receiver": "detector"}, {"caller_nid": "$graphify-root$_tests_test_hard_fail_testscheduleinfeasible_test_schedule_exceeds_24h", "callee": "detect", "is_member_call": true, "source_file": "tests/test_hard_fail.py", "source_location": "L179", "receiver": "detector"}, {"caller_nid": "$graphify-root$_tests_test_hard_fail_testscheduleinfeasible_test_schedule_within_24h", "callee": "detect", "is_member_call": true, "source_file": "tests/test_hard_fail.py", "source_location": "L191", "receiver": "detector"}, {"caller_nid": "$graphify-root$_tests_test_hard_fail_testnormalplan_test_normal_plan_no_fails", "callee": "detect", "is_member_call": true, "source_file": "tests/test_hard_fail.py", "source_location": "L213", "receiver": "detector"}, {"caller_nid": "$graphify-root$_tests_test_hard_fail_testdayindex_test_day_index_defaults_to_none", "callee": "detect", "is_member_call": true, "source_file": "tests/test_hard_fail.py", "source_location": "L225", "receiver": "detector"}, {"caller_nid": "$graphify-root$_tests_test_hard_fail_testdayindex_test_day_index_set_when_passed", "callee": "detect", "is_member_call": true, "source_file": "tests/test_hard_fail.py", "source_location": "L232", "receiver": "detector"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/a546b170d2ad6bcb524c3b8763e0befd263cd7904ebb3e6fb501f36d8144fd48.json b/graphify-out/cache/ast/v0.9.31/a546b170d2ad6bcb524c3b8763e0befd263cd7904ebb3e6fb501f36d8144fd48.json new file mode 100644 index 0000000..cf3925c --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/a546b170d2ad6bcb524c3b8763e0befd263cd7904ebb3e6fb501f36d8144fd48.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_tests_test_estimated_hardfail_py", "label": "test_estimated_hardfail.py", "file_type": "code", "source_file": "tests/test_estimated_hardfail.py", "source_location": "L1"}, {"id": "$graphify-root$_tests_test_estimated_hardfail_poi", "label": "_poi()", "file_type": "code", "source_file": "tests/test_estimated_hardfail.py", "source_location": "L8", "_callable": true}, {"id": "$graphify-root$_tests_test_estimated_hardfail_plan", "label": "_plan()", "file_type": "code", "source_file": "tests/test_estimated_hardfail.py", "source_location": "L22", "_callable": true}, {"id": "itineraryplan", "label": "ItineraryPlan", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/tests/test_estimated_hardfail.py"}, {"id": "$graphify-root$_tests_test_estimated_hardfail_test_estimated_hours_conflict_flagged_estimated", "label": "test_estimated_hours_conflict_flagged_estimated()", "file_type": "code", "source_file": "tests/test_estimated_hardfail.py", "source_location": "L31", "_callable": true}, {"id": "$graphify-root$_tests_test_estimated_hardfail_test_verified_hours_conflict_not_estimated_and_message_unchanged", "label": "test_verified_hours_conflict_not_estimated_and_message_unchanged()", "file_type": "code", "source_file": "tests/test_estimated_hardfail.py", "source_location": "L41", "_callable": true}, {"id": "$graphify-root$_tests_test_estimated_hardfail_rationale_1", "label": "P1: \ucd94\uc815 \uc601\uc5c5\uc2dc\uac04 \ucda9\ub3cc\uc758 \ud558\ub4dc\ud398\uc77c \uac15\ub4f1 \ud14c\uc2a4\ud2b8.", "file_type": "rationale", "source_file": "tests/test_estimated_hardfail.py", "source_location": "L1"}], "edges": [{"source": "$graphify-root$_tests_test_estimated_hardfail_py", "target": "src_data_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_estimated_hardfail.py", "source_location": "L4", "weight": 1.0}, {"source": "$graphify-root$_tests_test_estimated_hardfail_py", "target": "src_validation_hard_fail", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_estimated_hardfail.py", "source_location": "L5", "weight": 1.0}, {"source": "$graphify-root$_tests_test_estimated_hardfail_py", "target": "$graphify-root$_tests_test_estimated_hardfail_poi", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_estimated_hardfail.py", "source_location": "L8", "weight": 1.0}, {"source": "$graphify-root$_tests_test_estimated_hardfail_py", "target": "$graphify-root$_tests_test_estimated_hardfail_plan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_estimated_hardfail.py", "source_location": "L22", "weight": 1.0}, {"source": "$graphify-root$_tests_test_estimated_hardfail_plan", "target": "itineraryplan", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "tests/test_estimated_hardfail.py", "source_location": "L22", "weight": 1.0}, {"source": "$graphify-root$_tests_test_estimated_hardfail_py", "target": "$graphify-root$_tests_test_estimated_hardfail_test_estimated_hours_conflict_flagged_estimated", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_estimated_hardfail.py", "source_location": "L31", "weight": 1.0}, {"source": "$graphify-root$_tests_test_estimated_hardfail_py", "target": "$graphify-root$_tests_test_estimated_hardfail_test_verified_hours_conflict_not_estimated_and_message_unchanged", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_estimated_hardfail.py", "source_location": "L41", "weight": 1.0}, {"source": "$graphify-root$_tests_test_estimated_hardfail_plan", "target": "itineraryplan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_estimated_hardfail.py", "source_location": "L23", "weight": 1.0}, {"source": "$graphify-root$_tests_test_estimated_hardfail_test_estimated_hours_conflict_flagged_estimated", "target": "$graphify-root$_tests_test_estimated_hardfail_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_estimated_hardfail.py", "source_location": "L33", "weight": 1.0}, {"source": "$graphify-root$_tests_test_estimated_hardfail_test_estimated_hours_conflict_flagged_estimated", "target": "$graphify-root$_tests_test_estimated_hardfail_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_estimated_hardfail.py", "source_location": "L34", "weight": 1.0}, {"source": "$graphify-root$_tests_test_estimated_hardfail_test_verified_hours_conflict_not_estimated_and_message_unchanged", "target": "$graphify-root$_tests_test_estimated_hardfail_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_estimated_hardfail.py", "source_location": "L43", "weight": 1.0}, {"source": "$graphify-root$_tests_test_estimated_hardfail_test_verified_hours_conflict_not_estimated_and_message_unchanged", "target": "$graphify-root$_tests_test_estimated_hardfail_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_estimated_hardfail.py", "source_location": "L44", "weight": 1.0}, {"source": "$graphify-root$_tests_test_estimated_hardfail_rationale_1", "target": "$graphify-root$_tests_test_estimated_hardfail_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_estimated_hardfail.py", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_tests_test_estimated_hardfail_poi", "callee": "POI", "is_member_call": false, "source_file": "tests/test_estimated_hardfail.py", "source_location": "L9", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_estimated_hardfail_plan", "callee": "DayPlan", "is_member_call": false, "source_file": "tests/test_estimated_hardfail.py", "source_location": "L24", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_estimated_hardfail_plan", "callee": "PlaceInput", "is_member_call": false, "source_file": "tests/test_estimated_hardfail.py", "source_location": "L24", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_estimated_hardfail_test_estimated_hours_conflict_flagged_estimated", "callee": "detect", "is_member_call": true, "source_file": "tests/test_estimated_hardfail.py", "source_location": "L34", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_estimated_hardfail_test_estimated_hours_conflict_flagged_estimated", "callee": "HardFailDetector", "is_member_call": false, "source_file": "tests/test_estimated_hardfail.py", "source_location": "L34", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_estimated_hardfail_test_verified_hours_conflict_not_estimated_and_message_unchanged", "callee": "detect", "is_member_call": true, "source_file": "tests/test_estimated_hardfail.py", "source_location": "L44", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_estimated_hardfail_test_verified_hours_conflict_not_estimated_and_message_unchanged", "callee": "HardFailDetector", "is_member_call": false, "source_file": "tests/test_estimated_hardfail.py", "source_location": "L44", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_estimated_hardfail_test_verified_hours_conflict_not_estimated_and_message_unchanged", "callee": "endswith", "is_member_call": true, "source_file": "tests/test_estimated_hardfail.py", "source_location": "L49", "receiver": null}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/a54cd9190059c611c8dce01363dfda8f451357b1885d952180e373c1b649dcfa.json b/graphify-out/cache/ast/v0.9.31/a54cd9190059c611c8dce01363dfda8f451357b1885d952180e373c1b649dcfa.json new file mode 100644 index 0000000..6a01f68 --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/a54cd9190059c611c8dce01363dfda8f451357b1885d952180e373c1b649dcfa.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_scripts_build_knowledge_graph_py", "label": "build_knowledge_graph.py", "file_type": "code", "source_file": "scripts/build_knowledge_graph.py", "source_location": "L1"}, {"id": "$graphify-root$_scripts_build_knowledge_graph_place_type", "label": "_place_type()", "file_type": "code", "source_file": "scripts/build_knowledge_graph.py", "source_location": "L61", "_callable": true}, {"id": "$graphify-root$_scripts_build_knowledge_graph_parse_region_chain", "label": "_parse_region_chain()", "file_type": "code", "source_file": "scripts/build_knowledge_graph.py", "source_location": "L67", "_callable": true}, {"id": "$graphify-root$_scripts_build_knowledge_graph_load_category_group_map", "label": "_load_category_group_map()", "file_type": "code", "source_file": "scripts/build_knowledge_graph.py", "source_location": "L100", "_callable": true}, {"id": "$graphify-root$_scripts_build_knowledge_graph_project_meters", "label": "_project_meters()", "file_type": "code", "source_file": "scripts/build_knowledge_graph.py", "source_location": "L113", "_callable": true}, {"id": "ndarray", "label": "ndarray", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/scripts/build_knowledge_graph.py"}, {"id": "$graphify-root$_scripts_build_knowledge_graph_build_near_by", "label": "build_near_by()", "file_type": "code", "source_file": "scripts/build_knowledge_graph.py", "source_location": "L121", "_callable": true}, {"id": "dataframe", "label": "DataFrame", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/scripts/build_knowledge_graph.py"}, {"id": "$graphify-root$_scripts_build_knowledge_graph_selfcheck", "label": "_selfcheck()", "file_type": "code", "source_file": "scripts/build_knowledge_graph.py", "source_location": "L154", "_callable": true}, {"id": "$graphify-root$_scripts_build_knowledge_graph_main", "label": "main()", "file_type": "code", "source_file": "scripts/build_knowledge_graph.py", "source_location": "L170", "_callable": true}, {"id": "$graphify-root$_scripts_build_knowledge_graph_rationale_68", "label": "\uc8fc\uc18c \u2192 [(id, name), ...] \ucd5c\uc0c1\uc704(\uc74d/\uba74/\ub3d9 \ub610\ub294 \uc2dc) \u2192 \uc2dc \u2192 \ub3c4 \uc21c\uc11c. \ubc18\ud658 \ub9ac\uc2a4\ud2b8\uc758 \uccab \ud56d\ubaa9\uc774 Place\uac00\u2026", "file_type": "rationale", "source_file": "scripts/build_knowledge_graph.py", "source_location": "L68"}, {"id": "$graphify-root$_scripts_build_knowledge_graph_rationale_114", "label": "\uc18c\ubc94\uc704(\uc81c\uc8fc\ub3c4)\uc6a9 \ub4f1\uc7a5\ubc29\ud615 \ud22c\uc601 \u2014 300m \uc2a4\ucf00\uc77c\uc5d0\uc11c \uc624\ucc28 \ubb34\uc2dc \uac00\ub2a5.", "file_type": "rationale", "source_file": "scripts/build_knowledge_graph.py", "source_location": "L114"}], "edges": [{"source": "$graphify-root$_scripts_build_knowledge_graph_py", "target": "math", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/build_knowledge_graph.py", "source_location": "L17", "weight": 1.0}, {"source": "$graphify-root$_scripts_build_knowledge_graph_py", "target": "re", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/build_knowledge_graph.py", "source_location": "L18", "weight": 1.0}, {"source": "$graphify-root$_scripts_build_knowledge_graph_py", "target": "sys", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/build_knowledge_graph.py", "source_location": "L19", "weight": 1.0}, {"source": "$graphify-root$_scripts_build_knowledge_graph_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/build_knowledge_graph.py", "source_location": "L20", "weight": 1.0}, {"source": "$graphify-root$_scripts_build_knowledge_graph_py", "target": "numpy", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/build_knowledge_graph.py", "source_location": "L22", "weight": 1.0, "local_alias": "np"}, {"source": "$graphify-root$_scripts_build_knowledge_graph_py", "target": "pandas", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/build_knowledge_graph.py", "source_location": "L23", "weight": 1.0, "local_alias": "pd"}, {"source": "$graphify-root$_scripts_build_knowledge_graph_py", "target": "scipy_spatial", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/build_knowledge_graph.py", "source_location": "L24", "weight": 1.0}, {"source": "$graphify-root$_scripts_build_knowledge_graph_py", "target": "$graphify-root$_scripts_build_knowledge_graph_place_type", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/build_knowledge_graph.py", "source_location": "L61", "weight": 1.0}, {"source": "$graphify-root$_scripts_build_knowledge_graph_py", "target": "$graphify-root$_scripts_build_knowledge_graph_parse_region_chain", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/build_knowledge_graph.py", "source_location": "L67", "weight": 1.0}, {"source": "$graphify-root$_scripts_build_knowledge_graph_py", "target": "$graphify-root$_scripts_build_knowledge_graph_load_category_group_map", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/build_knowledge_graph.py", "source_location": "L100", "weight": 1.0}, {"source": "$graphify-root$_scripts_build_knowledge_graph_py", "target": "$graphify-root$_scripts_build_knowledge_graph_project_meters", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/build_knowledge_graph.py", "source_location": "L113", "weight": 1.0}, {"source": "$graphify-root$_scripts_build_knowledge_graph_project_meters", "target": "ndarray", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "scripts/build_knowledge_graph.py", "source_location": "L113", "weight": 1.0}, {"source": "$graphify-root$_scripts_build_knowledge_graph_project_meters", "target": "ndarray", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "scripts/build_knowledge_graph.py", "source_location": "L113", "weight": 1.0}, {"source": "$graphify-root$_scripts_build_knowledge_graph_project_meters", "target": "ndarray", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "scripts/build_knowledge_graph.py", "source_location": "L113", "weight": 1.0}, {"source": "$graphify-root$_scripts_build_knowledge_graph_py", "target": "$graphify-root$_scripts_build_knowledge_graph_build_near_by", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/build_knowledge_graph.py", "source_location": "L121", "weight": 1.0}, {"source": "$graphify-root$_scripts_build_knowledge_graph_build_near_by", "target": "dataframe", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "scripts/build_knowledge_graph.py", "source_location": "L121", "weight": 1.0}, {"source": "$graphify-root$_scripts_build_knowledge_graph_build_near_by", "target": "dataframe", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "scripts/build_knowledge_graph.py", "source_location": "L121", "weight": 1.0}, {"source": "$graphify-root$_scripts_build_knowledge_graph_py", "target": "$graphify-root$_scripts_build_knowledge_graph_selfcheck", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/build_knowledge_graph.py", "source_location": "L154", "weight": 1.0}, {"source": "$graphify-root$_scripts_build_knowledge_graph_py", "target": "$graphify-root$_scripts_build_knowledge_graph_main", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/build_knowledge_graph.py", "source_location": "L170", "weight": 1.0}, {"source": "$graphify-root$_scripts_build_knowledge_graph_build_near_by", "target": "$graphify-root$_scripts_build_knowledge_graph_project_meters", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/build_knowledge_graph.py", "source_location": "L123", "weight": 1.0}, {"source": "$graphify-root$_scripts_build_knowledge_graph_build_near_by", "target": "dataframe", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/build_knowledge_graph.py", "source_location": "L135", "weight": 1.0}, {"source": "$graphify-root$_scripts_build_knowledge_graph_selfcheck", "target": "$graphify-root$_scripts_build_knowledge_graph_place_type", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/build_knowledge_graph.py", "source_location": "L155", "weight": 1.0}, {"source": "$graphify-root$_scripts_build_knowledge_graph_selfcheck", "target": "$graphify-root$_scripts_build_knowledge_graph_parse_region_chain", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/build_knowledge_graph.py", "source_location": "L159", "weight": 1.0}, {"source": "$graphify-root$_scripts_build_knowledge_graph_main", "target": "$graphify-root$_scripts_build_knowledge_graph_selfcheck", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/build_knowledge_graph.py", "source_location": "L172", "weight": 1.0}, {"source": "$graphify-root$_scripts_build_knowledge_graph_main", "target": "$graphify-root$_scripts_build_knowledge_graph_load_category_group_map", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/build_knowledge_graph.py", "source_location": "L176", "weight": 1.0}, {"source": "$graphify-root$_scripts_build_knowledge_graph_main", "target": "$graphify-root$_scripts_build_knowledge_graph_place_type", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/build_knowledge_graph.py", "source_location": "L181", "weight": 1.0}, {"source": "$graphify-root$_scripts_build_knowledge_graph_main", "target": "dataframe", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/build_knowledge_graph.py", "source_location": "L188", "weight": 1.0}, {"source": "$graphify-root$_scripts_build_knowledge_graph_main", "target": "$graphify-root$_scripts_build_knowledge_graph_parse_region_chain", "relation": "indirect_call", "context": "argument", "confidence": "INFERRED", "source_file": "scripts/build_knowledge_graph.py", "source_location": "L218", "weight": 1.0}, {"source": "$graphify-root$_scripts_build_knowledge_graph_main", "target": "$graphify-root$_scripts_build_knowledge_graph_build_near_by", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/build_knowledge_graph.py", "source_location": "L245", "weight": 1.0}, {"source": "$graphify-root$_scripts_build_knowledge_graph_rationale_68", "target": "$graphify-root$_scripts_build_knowledge_graph_parse_region_chain", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "scripts/build_knowledge_graph.py", "source_location": "L68", "weight": 1.0}, {"source": "$graphify-root$_scripts_build_knowledge_graph_rationale_114", "target": "$graphify-root$_scripts_build_knowledge_graph_project_meters", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "scripts/build_knowledge_graph.py", "source_location": "L114", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_scripts_build_knowledge_graph_place_type", "callee": "get", "is_member_call": true, "source_file": "scripts/build_knowledge_graph.py", "source_location": "L64", "receiver": "PLACE_TYPE_BY_MAJOR"}, {"caller_nid": "$graphify-root$_scripts_build_knowledge_graph_parse_region_chain", "callee": "search", "is_member_call": true, "source_file": "scripts/build_knowledge_graph.py", "source_location": "L72", "receiver": "CITY_RE"}, {"caller_nid": "$graphify-root$_scripts_build_knowledge_graph_parse_region_chain", "callee": "group", "is_member_call": true, "source_file": "scripts/build_knowledge_graph.py", "source_location": "L76", "receiver": "city_m"}, {"caller_nid": "$graphify-root$_scripts_build_knowledge_graph_parse_region_chain", "callee": "search", "is_member_call": true, "source_file": "scripts/build_knowledge_graph.py", "source_location": "L81", "receiver": "EUPMYEON_RE"}, {"caller_nid": "$graphify-root$_scripts_build_knowledge_graph_parse_region_chain", "callee": "group", "is_member_call": true, "source_file": "scripts/build_knowledge_graph.py", "source_location": "L83", "receiver": "m"}, {"caller_nid": "$graphify-root$_scripts_build_knowledge_graph_parse_region_chain", "callee": "search", "is_member_call": true, "source_file": "scripts/build_knowledge_graph.py", "source_location": "L85", "receiver": "PAREN_DONG_RE"}, {"caller_nid": "$graphify-root$_scripts_build_knowledge_graph_parse_region_chain", "callee": "group", "is_member_call": true, "source_file": "scripts/build_knowledge_graph.py", "source_location": "L87", "receiver": "m"}, {"caller_nid": "$graphify-root$_scripts_build_knowledge_graph_parse_region_chain", "callee": "search", "is_member_call": true, "source_file": "scripts/build_knowledge_graph.py", "source_location": "L89", "receiver": "BARE_DONG_RE"}, {"caller_nid": "$graphify-root$_scripts_build_knowledge_graph_parse_region_chain", "callee": "group", "is_member_call": true, "source_file": "scripts/build_knowledge_graph.py", "source_location": "L91", "receiver": "m"}, {"caller_nid": "$graphify-root$_scripts_build_knowledge_graph_parse_region_chain", "callee": "insert", "is_member_call": true, "source_file": "scripts/build_knowledge_graph.py", "source_location": "L95", "receiver": "chain"}, {"caller_nid": "$graphify-root$_scripts_build_knowledge_graph_load_category_group_map", "callee": "read_excel", "is_member_call": true, "source_file": "scripts/build_knowledge_graph.py", "source_location": "L101", "receiver": "pd"}, {"caller_nid": "$graphify-root$_scripts_build_knowledge_graph_load_category_group_map", "callee": "CATEGORY_XLSX", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/build_knowledge_graph.py", "source_location": "L101"}, {"caller_nid": "$graphify-root$_scripts_build_knowledge_graph_load_category_group_map", "callee": "copy", "is_member_call": true, "source_file": "scripts/build_knowledge_graph.py", "source_location": "L102", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_build_knowledge_graph_load_category_group_map", "callee": "dropna", "is_member_call": true, "source_file": "scripts/build_knowledge_graph.py", "source_location": "L107", "receiver": "tbl"}, {"caller_nid": "$graphify-root$_scripts_build_knowledge_graph_load_category_group_map", "callee": "update", "is_member_call": true, "source_file": "scripts/build_knowledge_graph.py", "source_location": "L109", "receiver": "group_map"}, {"caller_nid": "$graphify-root$_scripts_build_knowledge_graph_load_category_group_map", "callee": "CATEGORY_GROUP_OVERRIDE", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/build_knowledge_graph.py", "source_location": "L109"}, {"caller_nid": "$graphify-root$_scripts_build_knowledge_graph_project_meters", "callee": "radians", "is_member_call": true, "source_file": "scripts/build_knowledge_graph.py", "source_location": "L115", "receiver": "math"}, {"caller_nid": "$graphify-root$_scripts_build_knowledge_graph_project_meters", "callee": "mean", "is_member_call": true, "source_file": "scripts/build_knowledge_graph.py", "source_location": "L115", "receiver": "np"}, {"caller_nid": "$graphify-root$_scripts_build_knowledge_graph_project_meters", "callee": "cos", "is_member_call": true, "source_file": "scripts/build_knowledge_graph.py", "source_location": "L116", "receiver": "math"}, {"caller_nid": "$graphify-root$_scripts_build_knowledge_graph_project_meters", "callee": "column_stack", "is_member_call": true, "source_file": "scripts/build_knowledge_graph.py", "source_location": "L118", "receiver": "np"}, {"caller_nid": "$graphify-root$_scripts_build_knowledge_graph_build_near_by", "callee": "dropna", "is_member_call": true, "source_file": "scripts/build_knowledge_graph.py", "source_location": "L122", "receiver": "places"}, {"caller_nid": "$graphify-root$_scripts_build_knowledge_graph_build_near_by", "callee": "to_numpy", "is_member_call": true, "source_file": "scripts/build_knowledge_graph.py", "source_location": "L123", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_build_knowledge_graph_build_near_by", "callee": "to_numpy", "is_member_call": true, "source_file": "scripts/build_knowledge_graph.py", "source_location": "L123", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_build_knowledge_graph_build_near_by", "callee": "to_numpy", "is_member_call": true, "source_file": "scripts/build_knowledge_graph.py", "source_location": "L124", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_build_knowledge_graph_build_near_by", "callee": "cKDTree", "is_member_call": false, "source_file": "scripts/build_knowledge_graph.py", "source_location": "L126", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_build_knowledge_graph_build_near_by", "callee": "query_pairs", "is_member_call": true, "source_file": "scripts/build_knowledge_graph.py", "source_location": "L127", "receiver": "tree"}, {"caller_nid": "$graphify-root$_scripts_build_knowledge_graph_build_near_by", "callee": "NEAR_BY_RADIUS_M", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/build_knowledge_graph.py", "source_location": "L127"}, {"caller_nid": "$graphify-root$_scripts_build_knowledge_graph_build_near_by", "callee": "norm", "is_member_call": true, "source_file": "scripts/build_knowledge_graph.py", "source_location": "L130", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_build_knowledge_graph_build_near_by", "callee": "column_stack", "is_member_call": true, "source_file": "scripts/build_knowledge_graph.py", "source_location": "L131", "receiver": "np"}, {"caller_nid": "$graphify-root$_scripts_build_knowledge_graph_build_near_by", "callee": "column_stack", "is_member_call": true, "source_file": "scripts/build_knowledge_graph.py", "source_location": "L132", "receiver": "np"}, {"caller_nid": "$graphify-root$_scripts_build_knowledge_graph_build_near_by", "callee": "vstack", "is_member_call": true, "source_file": "scripts/build_knowledge_graph.py", "source_location": "L133", "receiver": "np"}, {"caller_nid": "$graphify-root$_scripts_build_knowledge_graph_build_near_by", "callee": "astype", "is_member_call": true, "source_file": "scripts/build_knowledge_graph.py", "source_location": "L136", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_build_knowledge_graph_build_near_by", "callee": "int", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/build_knowledge_graph.py", "source_location": "L136"}, {"caller_nid": "$graphify-root$_scripts_build_knowledge_graph_build_near_by", "callee": "astype", "is_member_call": true, "source_file": "scripts/build_knowledge_graph.py", "source_location": "L137", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_build_knowledge_graph_build_near_by", "callee": "int", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/build_knowledge_graph.py", "source_location": "L137"}, {"caller_nid": "$graphify-root$_scripts_build_knowledge_graph_build_near_by", "callee": "head", "is_member_call": true, "source_file": "scripts/build_knowledge_graph.py", "source_location": "L138", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_build_knowledge_graph_build_near_by", "callee": "NEAR_BY_TOP_K", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/build_knowledge_graph.py", "source_location": "L138"}, {"caller_nid": "$graphify-root$_scripts_build_knowledge_graph_build_near_by", "callee": "groupby", "is_member_call": true, "source_file": "scripts/build_knowledge_graph.py", "source_location": "L138", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_build_knowledge_graph_build_near_by", "callee": "sort_values", "is_member_call": true, "source_file": "scripts/build_knowledge_graph.py", "source_location": "L138", "receiver": "df"}, {"caller_nid": "$graphify-root$_scripts_build_knowledge_graph_build_near_by", "callee": "to_numpy", "is_member_call": true, "source_file": "scripts/build_knowledge_graph.py", "source_location": "L140", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_build_knowledge_graph_build_near_by", "callee": "to_numpy", "is_member_call": true, "source_file": "scripts/build_knowledge_graph.py", "source_location": "L141", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_build_knowledge_graph_build_near_by", "callee": "astype", "is_member_call": true, "source_file": "scripts/build_knowledge_graph.py", "source_location": "L143", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_build_knowledge_graph_build_near_by", "callee": "int", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/build_knowledge_graph.py", "source_location": "L143"}, {"caller_nid": "$graphify-root$_scripts_build_knowledge_graph_build_near_by", "callee": "maximum", "is_member_call": true, "source_file": "scripts/build_knowledge_graph.py", "source_location": "L143", "receiver": "np"}, {"caller_nid": "$graphify-root$_scripts_build_knowledge_graph_build_near_by", "callee": "nunique", "is_member_call": true, "source_file": "scripts/build_knowledge_graph.py", "source_location": "L146", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_build_knowledge_graph_build_near_by", "callee": "nunique", "is_member_call": true, "source_file": "scripts/build_knowledge_graph.py", "source_location": "L146", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_build_knowledge_graph_build_near_by", "callee": "size", "is_member_call": true, "source_file": "scripts/build_knowledge_graph.py", "source_location": "L147", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_build_knowledge_graph_build_near_by", "callee": "groupby", "is_member_call": true, "source_file": "scripts/build_knowledge_graph.py", "source_location": "L147", "receiver": "df"}, {"caller_nid": "$graphify-root$_scripts_build_knowledge_graph_main", "callee": "read_excel", "is_member_call": true, "source_file": "scripts/build_knowledge_graph.py", "source_location": "L175", "receiver": "pd"}, {"caller_nid": "$graphify-root$_scripts_build_knowledge_graph_main", "callee": "PLACE_XLSX", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/build_knowledge_graph.py", "source_location": "L175"}, {"caller_nid": "$graphify-root$_scripts_build_knowledge_graph_main", "callee": "astype", "is_member_call": true, "source_file": "scripts/build_knowledge_graph.py", "source_location": "L179", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_build_knowledge_graph_main", "callee": "str", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/build_knowledge_graph.py", "source_location": "L179"}, {"caller_nid": "$graphify-root$_scripts_build_knowledge_graph_main", "callee": "apply", "is_member_call": true, "source_file": "scripts/build_knowledge_graph.py", "source_location": "L180", "receiver": "places_raw"}, {"caller_nid": "$graphify-root$_scripts_build_knowledge_graph_main", "callee": "unique", "is_member_call": true, "source_file": "scripts/build_knowledge_graph.py", "source_location": "L184", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_build_knowledge_graph_main", "callee": "isna", "is_member_call": true, "source_file": "scripts/build_knowledge_graph.py", "source_location": "L184", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_build_knowledge_graph_main", "callee": "fillna", "is_member_call": true, "source_file": "scripts/build_knowledge_graph.py", "source_location": "L196", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_build_knowledge_graph_main", "callee": "rename", "is_member_call": true, "source_file": "scripts/build_knowledge_graph.py", "source_location": "L205", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_build_knowledge_graph_main", "callee": "drop_duplicates", "is_member_call": true, "source_file": "scripts/build_knowledge_graph.py", "source_location": "L205", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_build_knowledge_graph_main", "callee": "fillna", "is_member_call": true, "source_file": "scripts/build_knowledge_graph.py", "source_location": "L218", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_build_knowledge_graph_main", "callee": "add", "is_member_call": true, "source_file": "scripts/build_knowledge_graph.py", "source_location": "L227", "receiver": "part_of_edges"}, {"caller_nid": "$graphify-root$_scripts_build_knowledge_graph_main", "callee": "items", "is_member_call": true, "source_file": "scripts/build_knowledge_graph.py", "source_location": "L230", "receiver": "region_seen"}, {"caller_nid": "$graphify-root$_scripts_build_knowledge_graph_main", "callee": "mkdir", "is_member_call": true, "source_file": "scripts/build_knowledge_graph.py", "source_location": "L248", "receiver": "OUT_DIR"}, {"caller_nid": "$graphify-root$_scripts_build_knowledge_graph_main", "callee": "to_csv", "is_member_call": true, "source_file": "scripts/build_knowledge_graph.py", "source_location": "L249", "receiver": "place_nodes"}, {"caller_nid": "$graphify-root$_scripts_build_knowledge_graph_main", "callee": "to_csv", "is_member_call": true, "source_file": "scripts/build_knowledge_graph.py", "source_location": "L250", "receiver": "region_nodes"}, {"caller_nid": "$graphify-root$_scripts_build_knowledge_graph_main", "callee": "to_csv", "is_member_call": true, "source_file": "scripts/build_knowledge_graph.py", "source_location": "L251", "receiver": "category_nodes"}, {"caller_nid": "$graphify-root$_scripts_build_knowledge_graph_main", "callee": "to_csv", "is_member_call": true, "source_file": "scripts/build_knowledge_graph.py", "source_location": "L252", "receiver": "rel_is_located_in"}, {"caller_nid": "$graphify-root$_scripts_build_knowledge_graph_main", "callee": "to_csv", "is_member_call": true, "source_file": "scripts/build_knowledge_graph.py", "source_location": "L253", "receiver": "rel_part_of"}, {"caller_nid": "$graphify-root$_scripts_build_knowledge_graph_main", "callee": "to_csv", "is_member_call": true, "source_file": "scripts/build_knowledge_graph.py", "source_location": "L254", "receiver": "rel_has_category"}, {"caller_nid": "$graphify-root$_scripts_build_knowledge_graph_main", "callee": "to_csv", "is_member_call": true, "source_file": "scripts/build_knowledge_graph.py", "source_location": "L255", "receiver": "rel_near_by"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/a9814e97969c079ec6c71dd016718fe79a944e2a4531fbdef907d3d0e7722132.json b/graphify-out/cache/ast/v0.9.31/a9814e97969c079ec6c71dd016718fe79a944e2a4531fbdef907d3d0e7722132.json new file mode 100644 index 0000000..361ff6f --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/a9814e97969c079ec6c71dd016718fe79a944e2a4531fbdef907d3d0e7722132.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_tests_test_alternatives_py", "label": "test_alternatives.py", "file_type": "code", "source_file": "tests/test_alternatives.py", "source_location": "L1"}, {"id": "$graphify-root$_tests_test_alternatives_poi", "label": "_poi()", "file_type": "code", "source_file": "tests/test_alternatives.py", "source_location": "L10", "_callable": true}, {"id": "$graphify-root$_tests_test_alternatives_hardfail", "label": "_hardfail()", "file_type": "code", "source_file": "tests/test_alternatives.py", "source_location": "L29", "_callable": true}, {"id": "$graphify-root$_tests_test_alternatives_testfindalternatives", "label": "TestFindAlternatives", "file_type": "code", "source_file": "tests/test_alternatives.py", "source_location": "L39", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_tests_test_alternatives_testfindalternatives_test_returns_nearby_same_category", "label": ".test_returns_nearby_same_category()", "file_type": "code", "source_file": "tests/test_alternatives.py", "source_location": "L40", "_callable": true}, {"id": "$graphify-root$_tests_test_alternatives_testfindalternatives_test_excludes_failed_poi_itself", "label": ".test_excludes_failed_poi_itself()", "file_type": "code", "source_file": "tests/test_alternatives.py", "source_location": "L50", "_callable": true}, {"id": "$graphify-root$_tests_test_alternatives_testfindalternatives_test_respects_max_alternatives", "label": ".test_respects_max_alternatives()", "file_type": "code", "source_file": "tests/test_alternatives.py", "source_location": "L57", "_callable": true}, {"id": "$graphify-root$_tests_test_alternatives_testfindalternatives_test_respects_search_radius", "label": ".test_respects_search_radius()", "file_type": "code", "source_file": "tests/test_alternatives.py", "source_location": "L64", "_callable": true}, {"id": "$graphify-root$_tests_test_alternatives_testfindalternatives_test_distance_km_is_correct", "label": ".test_distance_km_is_correct()", "file_type": "code", "source_file": "tests/test_alternatives.py", "source_location": "L72", "_callable": true}, {"id": "$graphify-root$_tests_test_alternatives_testfindalternatives_test_same_category_sorted_before_different", "label": ".test_same_category_sorted_before_different()", "file_type": "code", "source_file": "tests/test_alternatives.py", "source_location": "L80", "_callable": true}, {"id": "$graphify-root$_tests_test_alternatives_testbuildalternativesmap", "label": "TestBuildAlternativesMap", "file_type": "code", "source_file": "tests/test_alternatives.py", "source_location": "L91", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_tests_test_alternatives_testbuildalternativesmap_test_maps_failed_poi_to_alternatives", "label": ".test_maps_failed_poi_to_alternatives()", "file_type": "code", "source_file": "tests/test_alternatives.py", "source_location": "L92", "_callable": true}, {"id": "$graphify-root$_tests_test_alternatives_testbuildalternativesmap_test_default_no_substitution", "label": ".test_default_no_substitution()", "file_type": "code", "source_file": "tests/test_alternatives.py", "source_location": "L102", "_callable": true}, {"id": "$graphify-root$_tests_test_alternatives_testbuildalternativesmap_test_skips_none_poi_name", "label": ".test_skips_none_poi_name()", "file_type": "code", "source_file": "tests/test_alternatives.py", "source_location": "L110", "_callable": true}, {"id": "$graphify-root$_tests_test_alternatives_testbuildalternativesmap_test_no_duplicate_keys", "label": ".test_no_duplicate_keys()", "file_type": "code", "source_file": "tests/test_alternatives.py", "source_location": "L116", "_callable": true}, {"id": "$graphify-root$_tests_test_alternatives_testbuildalternativesmap_test_excludes_plan_pois_from_alternatives", "label": ".test_excludes_plan_pois_from_alternatives()", "file_type": "code", "source_file": "tests/test_alternatives.py", "source_location": "L123", "_callable": true}, {"id": "$graphify-root$_tests_test_alternatives_rationale_1", "label": "AlternativesFinder \uc720\ub2db \ud14c\uc2a4\ud2b8.", "file_type": "rationale", "source_file": "tests/test_alternatives.py", "source_location": "L1"}], "edges": [{"source": "$graphify-root$_tests_test_alternatives_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_alternatives.py", "source_location": "L4", "weight": 1.0}, {"source": "$graphify-root$_tests_test_alternatives_py", "target": "src_data_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_alternatives.py", "source_location": "L6", "weight": 1.0}, {"source": "$graphify-root$_tests_test_alternatives_py", "target": "src_validation_alternatives", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_alternatives.py", "source_location": "L7", "weight": 1.0}, {"source": "$graphify-root$_tests_test_alternatives_py", "target": "$graphify-root$_tests_test_alternatives_poi", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_alternatives.py", "source_location": "L10", "weight": 1.0}, {"source": "$graphify-root$_tests_test_alternatives_py", "target": "$graphify-root$_tests_test_alternatives_hardfail", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_alternatives.py", "source_location": "L29", "weight": 1.0}, {"source": "$graphify-root$_tests_test_alternatives_py", "target": "$graphify-root$_tests_test_alternatives_testfindalternatives", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_alternatives.py", "source_location": "L39", "weight": 1.0}, {"source": "$graphify-root$_tests_test_alternatives_testfindalternatives", "target": "$graphify-root$_tests_test_alternatives_testfindalternatives_test_returns_nearby_same_category", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_alternatives.py", "source_location": "L40", "weight": 1.0}, {"source": "$graphify-root$_tests_test_alternatives_testfindalternatives", "target": "$graphify-root$_tests_test_alternatives_testfindalternatives_test_excludes_failed_poi_itself", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_alternatives.py", "source_location": "L50", "weight": 1.0}, {"source": "$graphify-root$_tests_test_alternatives_testfindalternatives", "target": "$graphify-root$_tests_test_alternatives_testfindalternatives_test_respects_max_alternatives", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_alternatives.py", "source_location": "L57", "weight": 1.0}, {"source": "$graphify-root$_tests_test_alternatives_testfindalternatives", "target": "$graphify-root$_tests_test_alternatives_testfindalternatives_test_respects_search_radius", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_alternatives.py", "source_location": "L64", "weight": 1.0}, {"source": "$graphify-root$_tests_test_alternatives_testfindalternatives", "target": "$graphify-root$_tests_test_alternatives_testfindalternatives_test_distance_km_is_correct", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_alternatives.py", "source_location": "L72", "weight": 1.0}, {"source": "$graphify-root$_tests_test_alternatives_testfindalternatives", "target": "$graphify-root$_tests_test_alternatives_testfindalternatives_test_same_category_sorted_before_different", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_alternatives.py", "source_location": "L80", "weight": 1.0}, {"source": "$graphify-root$_tests_test_alternatives_py", "target": "$graphify-root$_tests_test_alternatives_testbuildalternativesmap", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_alternatives.py", "source_location": "L91", "weight": 1.0}, {"source": "$graphify-root$_tests_test_alternatives_testbuildalternativesmap", "target": "$graphify-root$_tests_test_alternatives_testbuildalternativesmap_test_maps_failed_poi_to_alternatives", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_alternatives.py", "source_location": "L92", "weight": 1.0}, {"source": "$graphify-root$_tests_test_alternatives_testbuildalternativesmap", "target": "$graphify-root$_tests_test_alternatives_testbuildalternativesmap_test_default_no_substitution", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_alternatives.py", "source_location": "L102", "weight": 1.0}, {"source": "$graphify-root$_tests_test_alternatives_testbuildalternativesmap", "target": "$graphify-root$_tests_test_alternatives_testbuildalternativesmap_test_skips_none_poi_name", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_alternatives.py", "source_location": "L110", "weight": 1.0}, {"source": "$graphify-root$_tests_test_alternatives_testbuildalternativesmap", "target": "$graphify-root$_tests_test_alternatives_testbuildalternativesmap_test_no_duplicate_keys", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_alternatives.py", "source_location": "L116", "weight": 1.0}, {"source": "$graphify-root$_tests_test_alternatives_testbuildalternativesmap", "target": "$graphify-root$_tests_test_alternatives_testbuildalternativesmap_test_excludes_plan_pois_from_alternatives", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_alternatives.py", "source_location": "L123", "weight": 1.0}, {"source": "$graphify-root$_tests_test_alternatives_testfindalternatives_test_returns_nearby_same_category", "target": "$graphify-root$_tests_test_alternatives_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_alternatives.py", "source_location": "L42", "weight": 1.0}, {"source": "$graphify-root$_tests_test_alternatives_testfindalternatives_test_excludes_failed_poi_itself", "target": "$graphify-root$_tests_test_alternatives_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_alternatives.py", "source_location": "L51", "weight": 1.0}, {"source": "$graphify-root$_tests_test_alternatives_testfindalternatives_test_respects_max_alternatives", "target": "$graphify-root$_tests_test_alternatives_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_alternatives.py", "source_location": "L58", "weight": 1.0}, {"source": "$graphify-root$_tests_test_alternatives_testfindalternatives_test_respects_search_radius", "target": "$graphify-root$_tests_test_alternatives_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_alternatives.py", "source_location": "L65", "weight": 1.0}, {"source": "$graphify-root$_tests_test_alternatives_testfindalternatives_test_distance_km_is_correct", "target": "$graphify-root$_tests_test_alternatives_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_alternatives.py", "source_location": "L73", "weight": 1.0}, {"source": "$graphify-root$_tests_test_alternatives_testfindalternatives_test_same_category_sorted_before_different", "target": "$graphify-root$_tests_test_alternatives_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_alternatives.py", "source_location": "L82", "weight": 1.0}, {"source": "$graphify-root$_tests_test_alternatives_testbuildalternativesmap_test_maps_failed_poi_to_alternatives", "target": "$graphify-root$_tests_test_alternatives_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_alternatives.py", "source_location": "L93", "weight": 1.0}, {"source": "$graphify-root$_tests_test_alternatives_testbuildalternativesmap_test_maps_failed_poi_to_alternatives", "target": "$graphify-root$_tests_test_alternatives_hardfail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_alternatives.py", "source_location": "L96", "weight": 1.0}, {"source": "$graphify-root$_tests_test_alternatives_testbuildalternativesmap_test_default_no_substitution", "target": "$graphify-root$_tests_test_alternatives_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_alternatives.py", "source_location": "L103", "weight": 1.0}, {"source": "$graphify-root$_tests_test_alternatives_testbuildalternativesmap_test_default_no_substitution", "target": "$graphify-root$_tests_test_alternatives_hardfail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_alternatives.py", "source_location": "L106", "weight": 1.0}, {"source": "$graphify-root$_tests_test_alternatives_testbuildalternativesmap_test_skips_none_poi_name", "target": "$graphify-root$_tests_test_alternatives_hardfail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_alternatives.py", "source_location": "L112", "weight": 1.0}, {"source": "$graphify-root$_tests_test_alternatives_testbuildalternativesmap_test_no_duplicate_keys", "target": "$graphify-root$_tests_test_alternatives_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_alternatives.py", "source_location": "L117", "weight": 1.0}, {"source": "$graphify-root$_tests_test_alternatives_testbuildalternativesmap_test_no_duplicate_keys", "target": "$graphify-root$_tests_test_alternatives_hardfail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_alternatives.py", "source_location": "L119", "weight": 1.0}, {"source": "$graphify-root$_tests_test_alternatives_testbuildalternativesmap_test_excludes_plan_pois_from_alternatives", "target": "$graphify-root$_tests_test_alternatives_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_alternatives.py", "source_location": "L124", "weight": 1.0}, {"source": "$graphify-root$_tests_test_alternatives_testbuildalternativesmap_test_excludes_plan_pois_from_alternatives", "target": "$graphify-root$_tests_test_alternatives_hardfail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_alternatives.py", "source_location": "L126", "weight": 1.0}, {"source": "$graphify-root$_tests_test_alternatives_rationale_1", "target": "$graphify-root$_tests_test_alternatives_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_alternatives.py", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_tests_test_alternatives_poi", "callee": "POI", "is_member_call": false, "source_file": "tests/test_alternatives.py", "source_location": "L17", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_alternatives_hardfail", "callee": "HardFail", "is_member_call": false, "source_file": "tests/test_alternatives.py", "source_location": "L30", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_alternatives_testfindalternatives_test_returns_nearby_same_category", "callee": "AlternativesFinder", "is_member_call": false, "source_file": "tests/test_alternatives.py", "source_location": "L45", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_alternatives_testfindalternatives_test_returns_nearby_same_category", "callee": "find_alternatives", "is_member_call": true, "source_file": "tests/test_alternatives.py", "source_location": "L47", "receiver": "finder"}, {"caller_nid": "$graphify-root$_tests_test_alternatives_testfindalternatives_test_excludes_failed_poi_itself", "callee": "AlternativesFinder", "is_member_call": false, "source_file": "tests/test_alternatives.py", "source_location": "L52", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_alternatives_testfindalternatives_test_excludes_failed_poi_itself", "callee": "find_alternatives", "is_member_call": true, "source_file": "tests/test_alternatives.py", "source_location": "L54", "receiver": "finder"}, {"caller_nid": "$graphify-root$_tests_test_alternatives_testfindalternatives_test_respects_max_alternatives", "callee": "AlternativesFinder", "is_member_call": false, "source_file": "tests/test_alternatives.py", "source_location": "L59", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_alternatives_testfindalternatives_test_respects_max_alternatives", "callee": "find_alternatives", "is_member_call": true, "source_file": "tests/test_alternatives.py", "source_location": "L61", "receiver": "finder"}, {"caller_nid": "$graphify-root$_tests_test_alternatives_testfindalternatives_test_respects_search_radius", "callee": "AlternativesFinder", "is_member_call": false, "source_file": "tests/test_alternatives.py", "source_location": "L67", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_alternatives_testfindalternatives_test_respects_search_radius", "callee": "find_alternatives", "is_member_call": true, "source_file": "tests/test_alternatives.py", "source_location": "L69", "receiver": "finder"}, {"caller_nid": "$graphify-root$_tests_test_alternatives_testfindalternatives_test_distance_km_is_correct", "callee": "AlternativesFinder", "is_member_call": false, "source_file": "tests/test_alternatives.py", "source_location": "L74", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_alternatives_testfindalternatives_test_distance_km_is_correct", "callee": "find_alternatives", "is_member_call": true, "source_file": "tests/test_alternatives.py", "source_location": "L76", "receiver": "finder"}, {"caller_nid": "$graphify-root$_tests_test_alternatives_testfindalternatives_test_same_category_sorted_before_different", "callee": "AlternativesFinder", "is_member_call": false, "source_file": "tests/test_alternatives.py", "source_location": "L85", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_alternatives_testfindalternatives_test_same_category_sorted_before_different", "callee": "find_alternatives", "is_member_call": true, "source_file": "tests/test_alternatives.py", "source_location": "L87", "receiver": "finder"}, {"caller_nid": "$graphify-root$_tests_test_alternatives_testbuildalternativesmap_test_maps_failed_poi_to_alternatives", "callee": "AlternativesFinder", "is_member_call": false, "source_file": "tests/test_alternatives.py", "source_location": "L95", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_alternatives_testbuildalternativesmap_test_maps_failed_poi_to_alternatives", "callee": "build_alternatives_map", "is_member_call": true, "source_file": "tests/test_alternatives.py", "source_location": "L98", "receiver": "finder"}, {"caller_nid": "$graphify-root$_tests_test_alternatives_testbuildalternativesmap_test_default_no_substitution", "callee": "AlternativesFinder", "is_member_call": false, "source_file": "tests/test_alternatives.py", "source_location": "L105", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_alternatives_testbuildalternativesmap_test_default_no_substitution", "callee": "build_alternatives_map", "is_member_call": true, "source_file": "tests/test_alternatives.py", "source_location": "L107", "receiver": "finder"}, {"caller_nid": "$graphify-root$_tests_test_alternatives_testbuildalternativesmap_test_skips_none_poi_name", "callee": "AlternativesFinder", "is_member_call": false, "source_file": "tests/test_alternatives.py", "source_location": "L111", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_alternatives_testbuildalternativesmap_test_skips_none_poi_name", "callee": "build_alternatives_map", "is_member_call": true, "source_file": "tests/test_alternatives.py", "source_location": "L113", "receiver": "finder"}, {"caller_nid": "$graphify-root$_tests_test_alternatives_testbuildalternativesmap_test_no_duplicate_keys", "callee": "AlternativesFinder", "is_member_call": false, "source_file": "tests/test_alternatives.py", "source_location": "L118", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_alternatives_testbuildalternativesmap_test_no_duplicate_keys", "callee": "build_alternatives_map", "is_member_call": true, "source_file": "tests/test_alternatives.py", "source_location": "L120", "receiver": "finder"}, {"caller_nid": "$graphify-root$_tests_test_alternatives_testbuildalternativesmap_test_no_duplicate_keys", "callee": "count", "is_member_call": true, "source_file": "tests/test_alternatives.py", "source_location": "L121", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_alternatives_testbuildalternativesmap_test_no_duplicate_keys", "callee": "keys", "is_member_call": true, "source_file": "tests/test_alternatives.py", "source_location": "L121", "receiver": "result"}, {"caller_nid": "$graphify-root$_tests_test_alternatives_testbuildalternativesmap_test_excludes_plan_pois_from_alternatives", "callee": "AlternativesFinder", "is_member_call": false, "source_file": "tests/test_alternatives.py", "source_location": "L125", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_alternatives_testbuildalternativesmap_test_excludes_plan_pois_from_alternatives", "callee": "build_alternatives_map", "is_member_call": true, "source_file": "tests/test_alternatives.py", "source_location": "L127", "receiver": "finder"}, {"caller_nid": "$graphify-root$_tests_test_alternatives_testbuildalternativesmap_test_excludes_plan_pois_from_alternatives", "callee": "get", "is_member_call": true, "source_file": "tests/test_alternatives.py", "source_location": "L129", "receiver": "result"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/ad1d63af2a7ba70861b2e237e4b0492e85fcfc8f5647e123d0619502c39c7964.json b/graphify-out/cache/ast/v0.9.31/ad1d63af2a7ba70861b2e237e4b0492e85fcfc8f5647e123d0619502c39c7964.json new file mode 100644 index 0000000..0fa348b --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/ad1d63af2a7ba70861b2e237e4b0492e85fcfc8f5647e123d0619502c39c7964.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_tests_test_pipeline_orchestrator_py", "label": "test_pipeline_orchestrator.py", "file_type": "code", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L1"}, {"id": "$graphify-root$_tests_test_pipeline_orchestrator_make_poi", "label": "make_poi()", "file_type": "code", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L17", "_callable": true}, {"id": "poi", "label": "POI", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/tests/test_pipeline_orchestrator.py"}, {"id": "$graphify-root$_tests_test_pipeline_orchestrator_make_plan", "label": "make_plan()", "file_type": "code", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L33", "_callable": true}, {"id": "itineraryplan", "label": "ItineraryPlan", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/tests/test_pipeline_orchestrator.py"}, {"id": "$graphify-root$_tests_test_pipeline_orchestrator_make_multi_day_plan", "label": "make_multi_day_plan()", "file_type": "code", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L47", "_callable": true}, {"id": "$graphify-root$_tests_test_pipeline_orchestrator_make_empty_bonus_engine", "label": "make_empty_bonus_engine()", "file_type": "code", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L56", "_callable": true}, {"id": "bonusengine", "label": "BonusEngine", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/tests/test_pipeline_orchestrator.py"}, {"id": "fixture", "label": "fixture", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/tests/test_pipeline_orchestrator.py"}, {"id": "$graphify-root$_tests_test_pipeline_orchestrator_pipeline", "label": "pipeline()", "file_type": "code", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L61", "_callable": true}, {"id": "validatorpipeline", "label": "ValidatorPipeline", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/tests/test_pipeline_orchestrator.py"}, {"id": "$graphify-root$_tests_test_pipeline_orchestrator_sample_pois", "label": "sample_pois()", "file_type": "code", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L66", "_callable": true}, {"id": "$graphify-root$_tests_test_pipeline_orchestrator_sample_plan", "label": "sample_plan()", "file_type": "code", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L76", "_callable": true}, {"id": "$graphify-root$_tests_test_pipeline_orchestrator_testtovrptwday", "label": "TestToVrptwDay", "file_type": "code", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L84", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_tests_test_pipeline_orchestrator_testtovrptwday_test_converts_poi_fields", "label": ".test_converts_poi_fields()", "file_type": "code", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L85", "_callable": true}, {"id": "$graphify-root$_tests_test_pipeline_orchestrator_testtovrptwday_test_is_depot_false", "label": ".test_is_depot_false()", "file_type": "code", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L94", "_callable": true}, {"id": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinebasic", "label": "TestPipelineBasic", "file_type": "code", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L104", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinebasic_test_returns_validation_result", "label": ".test_returns_validation_result()", "file_type": "code", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L105", "_callable": true}, {"id": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinebasic_test_final_score_in_range", "label": ".test_final_score_in_range()", "file_type": "code", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L113", "_callable": true}, {"id": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinebasic_test_plan_id_matches", "label": ".test_plan_id_matches()", "file_type": "code", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L121", "_callable": true}, {"id": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinebasic_test_scores_populated", "label": ".test_scores_populated()", "file_type": "code", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L129", "_callable": true}, {"id": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinebasic_test_empty_pois_returns_zero_score", "label": ".test_empty_pois_returns_zero_score()", "file_type": "code", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L138", "_callable": true}, {"id": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinebasic_test_base_score_populated", "label": ".test_base_score_populated()", "file_type": "code", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L143", "_callable": true}, {"id": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinehardfail", "label": "TestPipelineHardFail", "file_type": "code", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L156", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinehardfail_test_open_hours_conflict_caps_score", "label": ".test_open_hours_conflict_caps_score()", "file_type": "code", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L157", "_callable": true}, {"id": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinehardfail_test_no_hard_fail_score_above_59_possible", "label": ".test_no_hard_fail_score_above_59_possible()", "file_type": "code", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L173", "_callable": true}, {"id": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinehardfail_test_hard_fail_day_index_matches_offending_day", "label": ".test_hard_fail_day_index_matches_offending_day()", "file_type": "code", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L181", "_callable": true}, {"id": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinehardfail_test_alternatives_populated_from_explain_engine", "label": ".test_alternatives_populated_from_explain_engine()", "file_type": "code", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L196", "_callable": true}, {"id": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinehardfail_test_alternatives_not_computed_without_hard_fails", "label": ".test_alternatives_not_computed_without_hard_fails()", "file_type": "code", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L215", "_callable": true}, {"id": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinebreakdown", "label": "TestPipelineBreakdown", "file_type": "code", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L225", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinebreakdown_test_breakdown_fields_are_dicts", "label": ".test_breakdown_fields_are_dicts()", "file_type": "code", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L226", "_callable": true}, {"id": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinebreakdown_test_wellness_bonus_reflected_in_breakdown", "label": ".test_wellness_bonus_reflected_in_breakdown()", "file_type": "code", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L235", "_callable": true}, {"id": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinebreakdown_test_accessibility_bonus_for_accessible_party", "label": ".test_accessibility_bonus_for_accessible_party()", "file_type": "code", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L246", "_callable": true}, {"id": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinebreakdown_test_pet_friendly_bonus_when_enabled", "label": ".test_pet_friendly_bonus_when_enabled()", "file_type": "code", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L257", "_callable": true}, {"id": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinebreakdown_test_pet_friendly_bonus_absent_when_disabled", "label": ".test_pet_friendly_bonus_absent_when_disabled()", "file_type": "code", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L266", "_callable": true}, {"id": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinebreakdown_test_wellness_matched_exposed_on_result", "label": ".test_wellness_matched_exposed_on_result()", "file_type": "code", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L274", "_callable": true}, {"id": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinemultiday", "label": "TestPipelineMultiDay", "file_type": "code", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L289", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinemultiday_test_multi_day_runs_without_error", "label": ".test_multi_day_runs_without_error()", "file_type": "code", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L290", "_callable": true}, {"id": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinemultiday_test_sigungu_codes_accepted", "label": ".test_sigungu_codes_accepted()", "file_type": "code", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L301", "_callable": true}, {"id": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinevrptw", "label": "TestPipelineVRPTW", "file_type": "code", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L318", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinevrptw_test_vrptw_fields_present", "label": ".test_vrptw_fields_present()", "file_type": "code", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L319", "_callable": true}, {"id": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinevrptw_test_vrptw_efficiency_gap_is_float_or_none", "label": ".test_vrptw_efficiency_gap_is_float_or_none()", "file_type": "code", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L329", "_callable": true}, {"id": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinevrptw_test_vrptw_efficiency_gap_non_negative", "label": ".test_vrptw_efficiency_gap_non_negative()", "file_type": "code", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L337", "_callable": true}, {"id": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinevrptw_test_vrptw_optimal_route_per_day_count", "label": ".test_vrptw_optimal_route_per_day_count()", "file_type": "code", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L346", "_callable": true}, {"id": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinevrptw_test_vrptw_penalty_in_breakdown_when_gap_exceeds_threshold", "label": ".test_vrptw_penalty_in_breakdown_when_gap_exceeds_threshold()", "file_type": "code", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L359", "_callable": true}, {"id": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinevrptw_test_vrptw_penalty_does_not_double_count_with_single_poi", "label": ".test_vrptw_penalty_does_not_double_count_with_single_poi()", "file_type": "code", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L373", "_callable": true}, {"id": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinerepairgainestimation", "label": "TestPipelineRepairGainEstimation", "file_type": "code", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L385", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinerepairgainestimation_test_deletion_suggestion_carries_gain_and_resolves_flag", "label": ".test_deletion_suggestion_carries_gain_and_resolves_flag()", "file_type": "code", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L386", "_callable": true}, {"id": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinerepairgainestimation_test_no_repair_no_gain_fields_needed", "label": ".test_no_repair_no_gain_fields_needed()", "file_type": "code", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L406", "_callable": true}, {"id": "$graphify-root$_tests_test_pipeline_orchestrator_rationale_1", "label": "Tests for ValidatorPipeline (TDD).", "file_type": "rationale", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L1"}, {"id": "$graphify-root$_tests_test_pipeline_orchestrator_rationale_387", "label": "\uc9c0\ub9ac\uc801 \uc774\uc0c1\uce58\uc774\uc790 Hard Fail \uc720\ubc1c POI\ub97c \uc0ad\uc81c\ud558\uba74 \uc810\uc218\uac00 \uc624\ub974\uace0 \ubb38\uc81c\uac00 \ud574\uc18c\ub3fc\uc57c \ud55c\ub2e4.", "file_type": "rationale", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L387"}, {"id": "$graphify-root$_tests_test_pipeline_orchestrator_rationale_407", "label": "Hard Fail\uc774 \uc5c6\uc73c\uba74 repair \uc790\uccb4\uac00 \ube44\uc5b4 \uc788\uc5b4\uc57c \ud55c\ub2e4 (\uae30\uc874 \ub3d9\uc791 \uc720\uc9c0).", "file_type": "rationale", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L407"}], "edges": [{"source": "$graphify-root$_tests_test_pipeline_orchestrator_py", "target": "unittest_mock", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L4", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L6", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_py", "target": "src_data_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L8", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_py", "target": "src_explain_pipeline", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L9", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_py", "target": "src_scoring_bonus_engine", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L10", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_py", "target": "$graphify-root$_tests_test_pipeline_orchestrator_make_poi", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L17", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_make_poi", "target": "poi", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L17", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_py", "target": "$graphify-root$_tests_test_pipeline_orchestrator_make_plan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L33", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_make_plan", "target": "itineraryplan", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L33", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_py", "target": "$graphify-root$_tests_test_pipeline_orchestrator_make_multi_day_plan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L47", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_make_multi_day_plan", "target": "itineraryplan", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L47", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_py", "target": "$graphify-root$_tests_test_pipeline_orchestrator_make_empty_bonus_engine", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L56", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_make_empty_bonus_engine", "target": "bonusengine", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L56", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_pipeline", "target": "fixture", "relation": "references", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L60", "weight": 1.0, "context": "decorator"}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_py", "target": "$graphify-root$_tests_test_pipeline_orchestrator_pipeline", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L61", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_pipeline", "target": "validatorpipeline", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L61", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_sample_pois", "target": "fixture", "relation": "references", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L65", "weight": 1.0, "context": "decorator"}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_py", "target": "$graphify-root$_tests_test_pipeline_orchestrator_sample_pois", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L66", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_sample_pois", "target": "poi", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L66", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_sample_plan", "target": "fixture", "relation": "references", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L75", "weight": 1.0, "context": "decorator"}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_py", "target": "$graphify-root$_tests_test_pipeline_orchestrator_sample_plan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L76", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_sample_plan", "target": "poi", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L76", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_sample_plan", "target": "itineraryplan", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L76", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_py", "target": "$graphify-root$_tests_test_pipeline_orchestrator_testtovrptwday", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L84", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_testtovrptwday", "target": "$graphify-root$_tests_test_pipeline_orchestrator_testtovrptwday_test_converts_poi_fields", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L85", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_testtovrptwday", "target": "$graphify-root$_tests_test_pipeline_orchestrator_testtovrptwday_test_is_depot_false", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L94", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_py", "target": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinebasic", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L104", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinebasic", "target": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinebasic_test_returns_validation_result", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L105", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinebasic", "target": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinebasic_test_final_score_in_range", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L113", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinebasic", "target": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinebasic_test_plan_id_matches", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L121", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinebasic", "target": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinebasic_test_scores_populated", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L129", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinebasic", "target": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinebasic_test_empty_pois_returns_zero_score", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L138", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinebasic", "target": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinebasic_test_base_score_populated", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L143", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_py", "target": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinehardfail", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L156", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinehardfail", "target": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinehardfail_test_open_hours_conflict_caps_score", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L157", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinehardfail", "target": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinehardfail_test_no_hard_fail_score_above_59_possible", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L173", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinehardfail", "target": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinehardfail_test_hard_fail_day_index_matches_offending_day", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L181", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinehardfail", "target": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinehardfail_test_alternatives_populated_from_explain_engine", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L196", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinehardfail", "target": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinehardfail_test_alternatives_not_computed_without_hard_fails", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L215", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_py", "target": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinebreakdown", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L225", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinebreakdown", "target": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinebreakdown_test_breakdown_fields_are_dicts", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L226", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinebreakdown", "target": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinebreakdown_test_wellness_bonus_reflected_in_breakdown", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L235", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinebreakdown", "target": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinebreakdown_test_accessibility_bonus_for_accessible_party", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L246", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinebreakdown", "target": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinebreakdown_test_pet_friendly_bonus_when_enabled", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L257", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinebreakdown", "target": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinebreakdown_test_pet_friendly_bonus_absent_when_disabled", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L266", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinebreakdown", "target": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinebreakdown_test_wellness_matched_exposed_on_result", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L274", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_py", "target": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinemultiday", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L289", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinemultiday", "target": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinemultiday_test_multi_day_runs_without_error", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L290", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinemultiday", "target": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinemultiday_test_sigungu_codes_accepted", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L301", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_py", "target": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinevrptw", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L318", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinevrptw", "target": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinevrptw_test_vrptw_fields_present", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L319", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinevrptw", "target": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinevrptw_test_vrptw_efficiency_gap_is_float_or_none", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L329", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinevrptw", "target": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinevrptw_test_vrptw_efficiency_gap_non_negative", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L337", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinevrptw", "target": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinevrptw_test_vrptw_optimal_route_per_day_count", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L346", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinevrptw", "target": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinevrptw_test_vrptw_penalty_in_breakdown_when_gap_exceeds_threshold", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L359", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinevrptw", "target": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinevrptw_test_vrptw_penalty_does_not_double_count_with_single_poi", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L373", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_py", "target": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinerepairgainestimation", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L385", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinerepairgainestimation", "target": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinerepairgainestimation_test_deletion_suggestion_carries_gain_and_resolves_flag", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L386", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinerepairgainestimation", "target": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinerepairgainestimation_test_no_repair_no_gain_fields_needed", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L406", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_make_poi", "target": "poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L24", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_make_plan", "target": "itineraryplan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L38", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_make_multi_day_plan", "target": "itineraryplan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L48", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_make_empty_bonus_engine", "target": "bonusengine", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L57", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_pipeline", "target": "validatorpipeline", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L62", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_pipeline", "target": "$graphify-root$_tests_test_pipeline_orchestrator_make_empty_bonus_engine", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L62", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_sample_pois", "target": "$graphify-root$_tests_test_pipeline_orchestrator_make_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L68", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_sample_plan", "target": "$graphify-root$_tests_test_pipeline_orchestrator_make_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L77", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_testtovrptwday_test_converts_poi_fields", "target": "$graphify-root$_tests_test_pipeline_orchestrator_make_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L86", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_testtovrptwday_test_is_depot_false", "target": "$graphify-root$_tests_test_pipeline_orchestrator_make_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L95", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinebasic_test_empty_pois_returns_zero_score", "target": "$graphify-root$_tests_test_pipeline_orchestrator_make_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L139", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinehardfail_test_open_hours_conflict_caps_score", "target": "poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L160", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinehardfail_test_open_hours_conflict_caps_score", "target": "$graphify-root$_tests_test_pipeline_orchestrator_make_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L166", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinehardfail_test_open_hours_conflict_caps_score", "target": "$graphify-root$_tests_test_pipeline_orchestrator_make_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L168", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinehardfail_test_hard_fail_day_index_matches_offending_day", "target": "$graphify-root$_tests_test_pipeline_orchestrator_make_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L183", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinehardfail_test_hard_fail_day_index_matches_offending_day", "target": "poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L184", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinehardfail_test_hard_fail_day_index_matches_offending_day", "target": "$graphify-root$_tests_test_pipeline_orchestrator_make_multi_day_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L191", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinehardfail_test_alternatives_populated_from_explain_engine", "target": "validatorpipeline", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L202", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinehardfail_test_alternatives_populated_from_explain_engine", "target": "$graphify-root$_tests_test_pipeline_orchestrator_make_empty_bonus_engine", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L203", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinehardfail_test_alternatives_populated_from_explain_engine", "target": "poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L205", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinehardfail_test_alternatives_populated_from_explain_engine", "target": "$graphify-root$_tests_test_pipeline_orchestrator_make_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L209", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinebreakdown_test_wellness_bonus_reflected_in_breakdown", "target": "bonusengine", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L237", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinebreakdown_test_wellness_bonus_reflected_in_breakdown", "target": "validatorpipeline", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L238", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinebreakdown_test_wellness_bonus_reflected_in_breakdown", "target": "$graphify-root$_tests_test_pipeline_orchestrator_make_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L240", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinebreakdown_test_wellness_bonus_reflected_in_breakdown", "target": "$graphify-root$_tests_test_pipeline_orchestrator_make_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L241", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinebreakdown_test_accessibility_bonus_for_accessible_party", "target": "bonusengine", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L248", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinebreakdown_test_accessibility_bonus_for_accessible_party", "target": "validatorpipeline", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L249", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinebreakdown_test_accessibility_bonus_for_accessible_party", "target": "$graphify-root$_tests_test_pipeline_orchestrator_make_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L251", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinebreakdown_test_accessibility_bonus_for_accessible_party", "target": "$graphify-root$_tests_test_pipeline_orchestrator_make_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L252", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinebreakdown_test_pet_friendly_bonus_when_enabled", "target": "$graphify-root$_tests_test_pipeline_orchestrator_make_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L258", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinebreakdown_test_pet_friendly_bonus_when_enabled", "target": "$graphify-root$_tests_test_pipeline_orchestrator_make_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L259", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinebreakdown_test_pet_friendly_bonus_absent_when_disabled", "target": "$graphify-root$_tests_test_pipeline_orchestrator_make_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L267", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinebreakdown_test_pet_friendly_bonus_absent_when_disabled", "target": "$graphify-root$_tests_test_pipeline_orchestrator_make_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L268", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinebreakdown_test_wellness_matched_exposed_on_result", "target": "bonusengine", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L276", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinebreakdown_test_wellness_matched_exposed_on_result", "target": "validatorpipeline", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L277", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinebreakdown_test_wellness_matched_exposed_on_result", "target": "$graphify-root$_tests_test_pipeline_orchestrator_make_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L279", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinebreakdown_test_wellness_matched_exposed_on_result", "target": "$graphify-root$_tests_test_pipeline_orchestrator_make_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L280", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinemultiday_test_multi_day_runs_without_error", "target": "$graphify-root$_tests_test_pipeline_orchestrator_make_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L291", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinemultiday_test_multi_day_runs_without_error", "target": "$graphify-root$_tests_test_pipeline_orchestrator_make_multi_day_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L293", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinemultiday_test_sigungu_codes_accepted", "target": "$graphify-root$_tests_test_pipeline_orchestrator_make_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L302", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinemultiday_test_sigungu_codes_accepted", "target": "$graphify-root$_tests_test_pipeline_orchestrator_make_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L303", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinevrptw_test_vrptw_optimal_route_per_day_count", "target": "$graphify-root$_tests_test_pipeline_orchestrator_make_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L347", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinevrptw_test_vrptw_optimal_route_per_day_count", "target": "$graphify-root$_tests_test_pipeline_orchestrator_make_multi_day_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L349", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinevrptw_test_vrptw_penalty_in_breakdown_when_gap_exceeds_threshold", "target": "$graphify-root$_tests_test_pipeline_orchestrator_make_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L363", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinevrptw_test_vrptw_penalty_in_breakdown_when_gap_exceeds_threshold", "target": "$graphify-root$_tests_test_pipeline_orchestrator_make_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L367", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinevrptw_test_vrptw_penalty_does_not_double_count_with_single_poi", "target": "$graphify-root$_tests_test_pipeline_orchestrator_make_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L374", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinevrptw_test_vrptw_penalty_does_not_double_count_with_single_poi", "target": "$graphify-root$_tests_test_pipeline_orchestrator_make_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L375", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinerepairgainestimation_test_deletion_suggestion_carries_gain_and_resolves_flag", "target": "$graphify-root$_tests_test_pipeline_orchestrator_make_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L388", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinerepairgainestimation_test_deletion_suggestion_carries_gain_and_resolves_flag", "target": "poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L390", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinerepairgainestimation_test_deletion_suggestion_carries_gain_and_resolves_flag", "target": "$graphify-root$_tests_test_pipeline_orchestrator_make_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L395", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_rationale_1", "target": "$graphify-root$_tests_test_pipeline_orchestrator_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_rationale_387", "target": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinerepairgainestimation_test_deletion_suggestion_carries_gain_and_resolves_flag", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L387", "weight": 1.0}, {"source": "$graphify-root$_tests_test_pipeline_orchestrator_rationale_407", "target": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinerepairgainestimation_test_no_repair_no_gain_fields_needed", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L407", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_tests_test_pipeline_orchestrator_make_plan", "callee": "DayPlan", "is_member_call": false, "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L39", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_pipeline_orchestrator_make_plan", "callee": "PlaceInput", "is_member_call": false, "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L39", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_pipeline_orchestrator_make_multi_day_plan", "callee": "DayPlan", "is_member_call": false, "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L49", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_pipeline_orchestrator_make_multi_day_plan", "callee": "PlaceInput", "is_member_call": false, "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L49", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_pipeline_orchestrator_testtovrptwday_test_converts_poi_fields", "callee": "_to_vrptw_day", "is_member_call": false, "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L87", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_pipeline_orchestrator_testtovrptwday_test_is_depot_false", "callee": "_to_vrptw_day", "is_member_call": false, "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L96", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinebasic_test_returns_validation_result", "callee": "run", "is_member_call": true, "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L106", "receiver": "pipeline"}, {"caller_nid": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinebasic_test_returns_validation_result", "callee": "ValidationResult", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L111"}, {"caller_nid": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinebasic_test_final_score_in_range", "callee": "run", "is_member_call": true, "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L114", "receiver": "pipeline"}, {"caller_nid": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinebasic_test_plan_id_matches", "callee": "run", "is_member_call": true, "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L122", "receiver": "pipeline"}, {"caller_nid": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinebasic_test_scores_populated", "callee": "run", "is_member_call": true, "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L130", "receiver": "pipeline"}, {"caller_nid": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinebasic_test_empty_pois_returns_zero_score", "callee": "run", "is_member_call": true, "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L140", "receiver": "pipeline"}, {"caller_nid": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinebasic_test_base_score_populated", "callee": "run", "is_member_call": true, "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L144", "receiver": "pipeline"}, {"caller_nid": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinehardfail_test_open_hours_conflict_caps_score", "callee": "run", "is_member_call": true, "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L169", "receiver": "pipeline"}, {"caller_nid": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinehardfail_test_no_hard_fail_score_above_59_possible", "callee": "run", "is_member_call": true, "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L174", "receiver": "pipeline"}, {"caller_nid": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinehardfail_test_hard_fail_day_index_matches_offending_day", "callee": "run", "is_member_call": true, "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L192", "receiver": "pipeline"}, {"caller_nid": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinehardfail_test_alternatives_populated_from_explain_engine", "callee": "MagicMock", "is_member_call": false, "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L197", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinehardfail_test_alternatives_populated_from_explain_engine", "callee": "AlternativePOI", "is_member_call": false, "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L200", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinehardfail_test_alternatives_populated_from_explain_engine", "callee": "run", "is_member_call": true, "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L210", "receiver": "pipeline"}, {"caller_nid": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinehardfail_test_alternatives_populated_from_explain_engine", "callee": "assert_called_once_with", "is_member_call": true, "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L212", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinehardfail_test_alternatives_not_computed_without_hard_fails", "callee": "run", "is_member_call": true, "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L216", "receiver": "pipeline"}, {"caller_nid": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinebreakdown_test_breakdown_fields_are_dicts", "callee": "run", "is_member_call": true, "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L227", "receiver": "pipeline"}, {"caller_nid": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinebreakdown_test_breakdown_fields_are_dicts", "callee": "dict", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L232"}, {"caller_nid": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinebreakdown_test_breakdown_fields_are_dicts", "callee": "dict", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L233"}, {"caller_nid": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinebreakdown_test_wellness_bonus_reflected_in_breakdown", "callee": "_PlaceCoord", "is_member_call": false, "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L236", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinebreakdown_test_wellness_bonus_reflected_in_breakdown", "callee": "run", "is_member_call": true, "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L242", "receiver": "pipeline"}, {"caller_nid": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinebreakdown_test_accessibility_bonus_for_accessible_party", "callee": "_PlaceCoord", "is_member_call": false, "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L247", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinebreakdown_test_accessibility_bonus_for_accessible_party", "callee": "run", "is_member_call": true, "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L253", "receiver": "pipeline"}, {"caller_nid": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinebreakdown_test_pet_friendly_bonus_when_enabled", "callee": "model_copy", "is_member_call": true, "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L258", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinebreakdown_test_pet_friendly_bonus_when_enabled", "callee": "run", "is_member_call": true, "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L260", "receiver": "pipeline"}, {"caller_nid": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinebreakdown_test_pet_friendly_bonus_absent_when_disabled", "callee": "model_copy", "is_member_call": true, "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L267", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinebreakdown_test_pet_friendly_bonus_absent_when_disabled", "callee": "run", "is_member_call": true, "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L269", "receiver": "pipeline"}, {"caller_nid": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinebreakdown_test_wellness_matched_exposed_on_result", "callee": "_PlaceCoord", "is_member_call": false, "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L275", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinebreakdown_test_wellness_matched_exposed_on_result", "callee": "run", "is_member_call": true, "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L281", "receiver": "pipeline"}, {"caller_nid": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinemultiday_test_multi_day_runs_without_error", "callee": "run", "is_member_call": true, "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L297", "receiver": "pipeline"}, {"caller_nid": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinemultiday_test_multi_day_runs_without_error", "callee": "ValidationResult", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L298"}, {"caller_nid": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinemultiday_test_sigungu_codes_accepted", "callee": "run", "is_member_call": true, "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L305", "receiver": "pipeline"}, {"caller_nid": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinemultiday_test_sigungu_codes_accepted", "callee": "ValidationResult", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L311"}, {"caller_nid": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinevrptw_test_vrptw_fields_present", "callee": "run", "is_member_call": true, "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L320", "receiver": "pipeline"}, {"caller_nid": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinevrptw_test_vrptw_efficiency_gap_is_float_or_none", "callee": "run", "is_member_call": true, "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L330", "receiver": "pipeline"}, {"caller_nid": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinevrptw_test_vrptw_efficiency_gap_is_float_or_none", "callee": "float", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L335"}, {"caller_nid": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinevrptw_test_vrptw_efficiency_gap_non_negative", "callee": "run", "is_member_call": true, "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L338", "receiver": "pipeline"}, {"caller_nid": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinevrptw_test_vrptw_optimal_route_per_day_count", "callee": "run", "is_member_call": true, "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L353", "receiver": "pipeline"}, {"caller_nid": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinevrptw_test_vrptw_penalty_in_breakdown_when_gap_exceeds_threshold", "callee": "run", "is_member_call": true, "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L368", "receiver": "pipeline"}, {"caller_nid": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinevrptw_test_vrptw_penalty_does_not_double_count_with_single_poi", "callee": "run", "is_member_call": true, "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L376", "receiver": "pipeline"}, {"caller_nid": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinevrptw_test_vrptw_penalty_does_not_double_count_with_single_poi", "callee": "get", "is_member_call": true, "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L378", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinerepairgainestimation_test_deletion_suggestion_carries_gain_and_resolves_flag", "callee": "run", "is_member_call": true, "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L396", "receiver": "pipeline"}, {"caller_nid": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinerepairgainestimation_test_deletion_suggestion_carries_gain_and_resolves_flag", "callee": "get", "is_member_call": true, "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L399", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_pipeline_orchestrator_testpipelinerepairgainestimation_test_no_repair_no_gain_fields_needed", "callee": "run", "is_member_call": true, "source_file": "tests/test_pipeline_orchestrator.py", "source_location": "L408", "receiver": "pipeline"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/aebd9818bb704e3273f3ae2f096c24bbe8bc876e0edd6356fd016d0f6fb2ceac.json b/graphify-out/cache/ast/v0.9.31/aebd9818bb704e3273f3ae2f096c24bbe8bc876e0edd6356fd016d0f6fb2ceac.json new file mode 100644 index 0000000..b1ba37c --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/aebd9818bb704e3273f3ae2f096c24bbe8bc876e0edd6356fd016d0f6fb2ceac.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_src_explain_init_py", "label": "__init__.py", "file_type": "code", "source_file": "src/explain/__init__.py", "source_location": "L1"}], "edges": [], "raw_calls": []} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/b3274ebc249bbd43ebfbaf6c94a018cf00c634bfc78ff54b6b05eb98109b8f21.json b/graphify-out/cache/ast/v0.9.31/b3274ebc249bbd43ebfbaf6c94a018cf00c634bfc78ff54b6b05eb98109b8f21.json new file mode 100644 index 0000000..14d4ebb --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/b3274ebc249bbd43ebfbaf6c94a018cf00c634bfc78ff54b6b05eb98109b8f21.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_scripts_neo4j_coverage_analysis_py", "label": "neo4j_coverage_analysis.py", "file_type": "code", "source_file": "scripts/neo4j_coverage_analysis.py", "source_location": "L1"}, {"id": "$graphify-root$_scripts_neo4j_coverage_analysis_make_place", "label": "make_place()", "file_type": "code", "source_file": "scripts/neo4j_coverage_analysis.py", "source_location": "L46", "_callable": true}, {"id": "vrptwplace", "label": "VRPTWPlace", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/scripts/neo4j_coverage_analysis.py"}, {"id": "$graphify-root$_scripts_neo4j_coverage_analysis_sigungu_for", "label": "sigungu_for()", "file_type": "code", "source_file": "scripts/neo4j_coverage_analysis.py", "source_location": "L60", "_callable": true}, {"id": "$graphify-root$_scripts_neo4j_coverage_analysis_neo4j_backtrack_count", "label": "neo4j_backtrack_count()", "file_type": "code", "source_file": "scripts/neo4j_coverage_analysis.py", "source_location": "L66", "_callable": true}, {"id": "$graphify-root$_scripts_neo4j_coverage_analysis_neo4j_timeslot_density", "label": "neo4j_timeslot_density()", "file_type": "code", "source_file": "scripts/neo4j_coverage_analysis.py", "source_location": "L84", "_callable": true}, {"id": "$graphify-root$_scripts_neo4j_coverage_analysis_coverageresult", "label": "CoverageResult", "file_type": "code", "source_file": "scripts/neo4j_coverage_analysis.py", "source_location": "L114", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_scripts_neo4j_coverage_analysis_coverageresult_covered", "label": ".covered()", "file_type": "code", "source_file": "scripts/neo4j_coverage_analysis.py", "source_location": "L122", "_callable": true}, {"id": "$graphify-root$_scripts_neo4j_coverage_analysis_run_vrptw", "label": "run_vrptw()", "file_type": "code", "source_file": "scripts/neo4j_coverage_analysis.py", "source_location": "L126", "_callable": true}, {"id": "$graphify-root$_scripts_neo4j_coverage_analysis_print_result", "label": "print_result()", "file_type": "code", "source_file": "scripts/neo4j_coverage_analysis.py", "source_location": "L141", "_callable": true}, {"id": "$graphify-root$_scripts_neo4j_coverage_analysis_test_role_a", "label": "test_role_a()", "file_type": "code", "source_file": "scripts/neo4j_coverage_analysis.py", "source_location": "L152", "_callable": true}, {"id": "$graphify-root$_scripts_neo4j_coverage_analysis_test_role_b", "label": "test_role_b()", "file_type": "code", "source_file": "scripts/neo4j_coverage_analysis.py", "source_location": "L217", "_callable": true}, {"id": "$graphify-root$_scripts_neo4j_coverage_analysis_test_role_c", "label": "test_role_c()", "file_type": "code", "source_file": "scripts/neo4j_coverage_analysis.py", "source_location": "L264", "_callable": true}, {"id": "$graphify-root$_scripts_neo4j_coverage_analysis_main", "label": "main()", "file_type": "code", "source_file": "scripts/neo4j_coverage_analysis.py", "source_location": "L312", "_callable": true}, {"id": "$graphify-root$_scripts_neo4j_coverage_analysis_rationale_1", "label": "Neo4j \uc81c\uac70 \ud0c0\ub2f9\uc131 \ubd84\uc11d \u2014 \uc124\uacc4 \uc758\ub3c4 vs \ud604\uc7ac Python \ub85c\uc9c1 \ucee4\ubc84\ub9ac\uc9c0 \ube44\uad50. Neo4j\uac00 SUMMARY.md\uc5d0\uc11c \ub9e1\uae30\ub85c \ud55c 3\uac00\uc9c0\u2026", "file_type": "rationale", "source_file": "scripts/neo4j_coverage_analysis.py", "source_location": "L1"}, {"id": "$graphify-root$_scripts_neo4j_coverage_analysis_rationale_67", "label": "Neo4j IN_AREA \ub178\ub4dc \ub85c\uc9c1 \uc2dc\ubbac\ub808\uc774\uc158. \ubc29\ubb38 \uc21c\uc11c\uc5d0\uc11c \uc774\ubbf8 \ubc29\ubb38\ud55c Area(\uc2dc\uad70\uad6c)\uc5d0 \ube44\uc5f0\uc18d\uc73c\ub85c \uc7ac\uc9c4\uc785\ud558\ub294 \ud69f\uc218\ub97c \uacc4\uc0b0.\u2026", "file_type": "rationale", "source_file": "scripts/neo4j_coverage_analysis.py", "source_location": "L67"}, {"id": "$graphify-root$_scripts_neo4j_coverage_analysis_rationale_85", "label": "Neo4j TimeSlot \ub178\ub4dc \ubc00\ub3c4 \uc2dc\ubbac\ub808\uc774\uc158. 09:00 \ucd9c\ubc1c, \uac01 POI\ub97c \uc21c\uc11c\ub300\ub85c \ubc29\ubb38\ud588\uc744 \ub54c \uc2dc\uac04\ub300\ubcc4 \uc810\uc720 \uc218 \uacc4\uc0b0.", "file_type": "rationale", "source_file": "scripts/neo4j_coverage_analysis.py", "source_location": "L85"}, {"id": "$graphify-root$_scripts_neo4j_coverage_analysis_rationale_127", "label": "VRPTWEngine + cluster_dispersion \uc2e4\ud589, (vrptw_result, dispersion_report) \ubc18\ud658.", "file_type": "rationale", "source_file": "scripts/neo4j_coverage_analysis.py", "source_location": "L127"}], "edges": [{"source": "$graphify-root$_scripts_neo4j_coverage_analysis_py", "target": "sys", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/neo4j_coverage_analysis.py", "source_location": "L17", "weight": 1.0}, {"source": "$graphify-root$_scripts_neo4j_coverage_analysis_py", "target": "dataclasses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/neo4j_coverage_analysis.py", "source_location": "L18", "weight": 1.0}, {"source": "$graphify-root$_scripts_neo4j_coverage_analysis_py", "target": "src_data_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/neo4j_coverage_analysis.py", "source_location": "L22", "weight": 1.0}, {"source": "$graphify-root$_scripts_neo4j_coverage_analysis_py", "target": "src_scoring_cluster_dispersion", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/neo4j_coverage_analysis.py", "source_location": "L23", "weight": 1.0}, {"source": "$graphify-root$_scripts_neo4j_coverage_analysis_py", "target": "src_scoring_travel_ratio", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/neo4j_coverage_analysis.py", "source_location": "L24", "weight": 1.0}, {"source": "$graphify-root$_scripts_neo4j_coverage_analysis_py", "target": "src_validation_vrptw_engine", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/neo4j_coverage_analysis.py", "source_location": "L25", "weight": 1.0}, {"source": "$graphify-root$_scripts_neo4j_coverage_analysis_py", "target": "$graphify-root$_scripts_neo4j_coverage_analysis_make_place", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/neo4j_coverage_analysis.py", "source_location": "L46", "weight": 1.0}, {"source": "$graphify-root$_scripts_neo4j_coverage_analysis_make_place", "target": "vrptwplace", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "scripts/neo4j_coverage_analysis.py", "source_location": "L46", "weight": 1.0}, {"source": "$graphify-root$_scripts_neo4j_coverage_analysis_py", "target": "$graphify-root$_scripts_neo4j_coverage_analysis_sigungu_for", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/neo4j_coverage_analysis.py", "source_location": "L60", "weight": 1.0}, {"source": "$graphify-root$_scripts_neo4j_coverage_analysis_py", "target": "$graphify-root$_scripts_neo4j_coverage_analysis_neo4j_backtrack_count", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/neo4j_coverage_analysis.py", "source_location": "L66", "weight": 1.0}, {"source": "$graphify-root$_scripts_neo4j_coverage_analysis_py", "target": "$graphify-root$_scripts_neo4j_coverage_analysis_neo4j_timeslot_density", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/neo4j_coverage_analysis.py", "source_location": "L84", "weight": 1.0}, {"source": "$graphify-root$_scripts_neo4j_coverage_analysis_py", "target": "$graphify-root$_scripts_neo4j_coverage_analysis_coverageresult", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/neo4j_coverage_analysis.py", "source_location": "L114", "weight": 1.0}, {"source": "$graphify-root$_scripts_neo4j_coverage_analysis_coverageresult", "target": "$graphify-root$_scripts_neo4j_coverage_analysis_coverageresult_covered", "relation": "method", "confidence": "EXTRACTED", "source_file": "scripts/neo4j_coverage_analysis.py", "source_location": "L122", "weight": 1.0}, {"source": "$graphify-root$_scripts_neo4j_coverage_analysis_py", "target": "$graphify-root$_scripts_neo4j_coverage_analysis_run_vrptw", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/neo4j_coverage_analysis.py", "source_location": "L126", "weight": 1.0}, {"source": "$graphify-root$_scripts_neo4j_coverage_analysis_py", "target": "$graphify-root$_scripts_neo4j_coverage_analysis_print_result", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/neo4j_coverage_analysis.py", "source_location": "L141", "weight": 1.0}, {"source": "$graphify-root$_scripts_neo4j_coverage_analysis_print_result", "target": "$graphify-root$_scripts_neo4j_coverage_analysis_coverageresult", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "scripts/neo4j_coverage_analysis.py", "source_location": "L141", "weight": 1.0}, {"source": "$graphify-root$_scripts_neo4j_coverage_analysis_py", "target": "$graphify-root$_scripts_neo4j_coverage_analysis_test_role_a", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/neo4j_coverage_analysis.py", "source_location": "L152", "weight": 1.0}, {"source": "$graphify-root$_scripts_neo4j_coverage_analysis_test_role_a", "target": "$graphify-root$_scripts_neo4j_coverage_analysis_coverageresult", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "scripts/neo4j_coverage_analysis.py", "source_location": "L152", "weight": 1.0}, {"source": "$graphify-root$_scripts_neo4j_coverage_analysis_py", "target": "$graphify-root$_scripts_neo4j_coverage_analysis_test_role_b", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/neo4j_coverage_analysis.py", "source_location": "L217", "weight": 1.0}, {"source": "$graphify-root$_scripts_neo4j_coverage_analysis_test_role_b", "target": "$graphify-root$_scripts_neo4j_coverage_analysis_coverageresult", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "scripts/neo4j_coverage_analysis.py", "source_location": "L217", "weight": 1.0}, {"source": "$graphify-root$_scripts_neo4j_coverage_analysis_py", "target": "$graphify-root$_scripts_neo4j_coverage_analysis_test_role_c", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/neo4j_coverage_analysis.py", "source_location": "L264", "weight": 1.0}, {"source": "$graphify-root$_scripts_neo4j_coverage_analysis_test_role_c", "target": "$graphify-root$_scripts_neo4j_coverage_analysis_coverageresult", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "scripts/neo4j_coverage_analysis.py", "source_location": "L264", "weight": 1.0}, {"source": "$graphify-root$_scripts_neo4j_coverage_analysis_py", "target": "$graphify-root$_scripts_neo4j_coverage_analysis_main", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/neo4j_coverage_analysis.py", "source_location": "L312", "weight": 1.0}, {"source": "$graphify-root$_scripts_neo4j_coverage_analysis_make_place", "target": "vrptwplace", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/neo4j_coverage_analysis.py", "source_location": "L52", "weight": 1.0}, {"source": "$graphify-root$_scripts_neo4j_coverage_analysis_neo4j_backtrack_count", "target": "$graphify-root$_scripts_neo4j_coverage_analysis_sigungu_for", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/neo4j_coverage_analysis.py", "source_location": "L76", "weight": 1.0}, {"source": "$graphify-root$_scripts_neo4j_coverage_analysis_neo4j_timeslot_density", "target": "$graphify-root$_scripts_neo4j_coverage_analysis_make_place", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/neo4j_coverage_analysis.py", "source_location": "L90", "weight": 1.0}, {"source": "$graphify-root$_scripts_neo4j_coverage_analysis_run_vrptw", "target": "$graphify-root$_scripts_neo4j_coverage_analysis_make_place", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/neo4j_coverage_analysis.py", "source_location": "L129", "weight": 1.0}, {"source": "$graphify-root$_scripts_neo4j_coverage_analysis_run_vrptw", "target": "$graphify-root$_scripts_neo4j_coverage_analysis_sigungu_for", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/neo4j_coverage_analysis.py", "source_location": "L133", "weight": 1.0}, {"source": "$graphify-root$_scripts_neo4j_coverage_analysis_test_role_a", "target": "$graphify-root$_scripts_neo4j_coverage_analysis_neo4j_backtrack_count", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/neo4j_coverage_analysis.py", "source_location": "L157", "weight": 1.0}, {"source": "$graphify-root$_scripts_neo4j_coverage_analysis_test_role_a", "target": "$graphify-root$_scripts_neo4j_coverage_analysis_run_vrptw", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/neo4j_coverage_analysis.py", "source_location": "L158", "weight": 1.0}, {"source": "$graphify-root$_scripts_neo4j_coverage_analysis_test_role_a", "target": "$graphify-root$_scripts_neo4j_coverage_analysis_coverageresult", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/neo4j_coverage_analysis.py", "source_location": "L163", "weight": 1.0}, {"source": "$graphify-root$_scripts_neo4j_coverage_analysis_test_role_b", "target": "$graphify-root$_scripts_neo4j_coverage_analysis_run_vrptw", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/neo4j_coverage_analysis.py", "source_location": "L223", "weight": 1.0}, {"source": "$graphify-root$_scripts_neo4j_coverage_analysis_test_role_b", "target": "$graphify-root$_scripts_neo4j_coverage_analysis_coverageresult", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/neo4j_coverage_analysis.py", "source_location": "L227", "weight": 1.0}, {"source": "$graphify-root$_scripts_neo4j_coverage_analysis_test_role_c", "target": "$graphify-root$_scripts_neo4j_coverage_analysis_neo4j_timeslot_density", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/neo4j_coverage_analysis.py", "source_location": "L269", "weight": 1.0}, {"source": "$graphify-root$_scripts_neo4j_coverage_analysis_test_role_c", "target": "$graphify-root$_scripts_neo4j_coverage_analysis_run_vrptw", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/neo4j_coverage_analysis.py", "source_location": "L273", "weight": 1.0}, {"source": "$graphify-root$_scripts_neo4j_coverage_analysis_test_role_c", "target": "$graphify-root$_scripts_neo4j_coverage_analysis_coverageresult", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/neo4j_coverage_analysis.py", "source_location": "L277", "weight": 1.0}, {"source": "$graphify-root$_scripts_neo4j_coverage_analysis_main", "target": "$graphify-root$_scripts_neo4j_coverage_analysis_test_role_a", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/neo4j_coverage_analysis.py", "source_location": "L320", "weight": 1.0}, {"source": "$graphify-root$_scripts_neo4j_coverage_analysis_main", "target": "$graphify-root$_scripts_neo4j_coverage_analysis_print_result", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/neo4j_coverage_analysis.py", "source_location": "L321", "weight": 1.0}, {"source": "$graphify-root$_scripts_neo4j_coverage_analysis_main", "target": "$graphify-root$_scripts_neo4j_coverage_analysis_test_role_b", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/neo4j_coverage_analysis.py", "source_location": "L325", "weight": 1.0}, {"source": "$graphify-root$_scripts_neo4j_coverage_analysis_main", "target": "$graphify-root$_scripts_neo4j_coverage_analysis_test_role_c", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/neo4j_coverage_analysis.py", "source_location": "L330", "weight": 1.0}, {"source": "$graphify-root$_scripts_neo4j_coverage_analysis_rationale_1", "target": "$graphify-root$_scripts_neo4j_coverage_analysis_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "scripts/neo4j_coverage_analysis.py", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_scripts_neo4j_coverage_analysis_rationale_67", "target": "$graphify-root$_scripts_neo4j_coverage_analysis_neo4j_backtrack_count", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "scripts/neo4j_coverage_analysis.py", "source_location": "L67", "weight": 1.0}, {"source": "$graphify-root$_scripts_neo4j_coverage_analysis_rationale_85", "target": "$graphify-root$_scripts_neo4j_coverage_analysis_neo4j_timeslot_density", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "scripts/neo4j_coverage_analysis.py", "source_location": "L85", "weight": 1.0}, {"source": "$graphify-root$_scripts_neo4j_coverage_analysis_rationale_127", "target": "$graphify-root$_scripts_neo4j_coverage_analysis_run_vrptw", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "scripts/neo4j_coverage_analysis.py", "source_location": "L127", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_scripts_neo4j_coverage_analysis_neo4j_backtrack_count", "callee": "add", "is_member_call": true, "source_file": "scripts/neo4j_coverage_analysis.py", "source_location": "L79", "receiver": "seen"}, {"caller_nid": "$graphify-root$_scripts_neo4j_coverage_analysis_neo4j_backtrack_count", "callee": "append", "is_member_call": true, "source_file": "scripts/neo4j_coverage_analysis.py", "source_location": "L80", "receiver": "visited"}, {"caller_nid": "$graphify-root$_scripts_neo4j_coverage_analysis_neo4j_timeslot_density", "callee": "HaversineMatrix", "is_member_call": false, "source_file": "scripts/neo4j_coverage_analysis.py", "source_location": "L89", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_neo4j_coverage_analysis_neo4j_timeslot_density", "callee": "get_travel_time", "is_member_call": true, "source_file": "scripts/neo4j_coverage_analysis.py", "source_location": "L96", "receiver": "matrix"}, {"caller_nid": "$graphify-root$_scripts_neo4j_coverage_analysis_neo4j_timeslot_density", "callee": "get", "is_member_call": true, "source_file": "scripts/neo4j_coverage_analysis.py", "source_location": "L104", "receiver": "slots"}, {"caller_nid": "$graphify-root$_scripts_neo4j_coverage_analysis_run_vrptw", "callee": "VRPTWEngine", "is_member_call": false, "source_file": "scripts/neo4j_coverage_analysis.py", "source_location": "L128", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_neo4j_coverage_analysis_run_vrptw", "callee": "VRPTWDay", "is_member_call": false, "source_file": "scripts/neo4j_coverage_analysis.py", "source_location": "L129", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_neo4j_coverage_analysis_run_vrptw", "callee": "VRPTWRequest", "is_member_call": false, "source_file": "scripts/neo4j_coverage_analysis.py", "source_location": "L130", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_neo4j_coverage_analysis_run_vrptw", "callee": "validate", "is_member_call": true, "source_file": "scripts/neo4j_coverage_analysis.py", "source_location": "L131", "receiver": "engine"}, {"caller_nid": "$graphify-root$_scripts_neo4j_coverage_analysis_run_vrptw", "callee": "evaluate_cluster_dispersion", "is_member_call": false, "source_file": "scripts/neo4j_coverage_analysis.py", "source_location": "L134", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_neo4j_coverage_analysis_run_vrptw", "callee": "evaluate_travel_ratio", "is_member_call": false, "source_file": "scripts/neo4j_coverage_analysis.py", "source_location": "L136", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_neo4j_coverage_analysis_test_role_a", "callee": "append", "is_member_call": true, "source_file": "scripts/neo4j_coverage_analysis.py", "source_location": "L163", "receiver": "results"}, {"caller_nid": "$graphify-root$_scripts_neo4j_coverage_analysis_test_role_a", "callee": "append", "is_member_call": true, "source_file": "scripts/neo4j_coverage_analysis.py", "source_location": "L184", "receiver": "results"}, {"caller_nid": "$graphify-root$_scripts_neo4j_coverage_analysis_test_role_a", "callee": "append", "is_member_call": true, "source_file": "scripts/neo4j_coverage_analysis.py", "source_location": "L202", "receiver": "results"}, {"caller_nid": "$graphify-root$_scripts_neo4j_coverage_analysis_test_role_b", "callee": "append", "is_member_call": true, "source_file": "scripts/neo4j_coverage_analysis.py", "source_location": "L227", "receiver": "results"}, {"caller_nid": "$graphify-root$_scripts_neo4j_coverage_analysis_test_role_b", "callee": "append", "is_member_call": true, "source_file": "scripts/neo4j_coverage_analysis.py", "source_location": "L246", "receiver": "results"}, {"caller_nid": "$graphify-root$_scripts_neo4j_coverage_analysis_test_role_c", "callee": "values", "is_member_call": true, "source_file": "scripts/neo4j_coverage_analysis.py", "source_location": "L270", "receiver": "slots"}, {"caller_nid": "$graphify-root$_scripts_neo4j_coverage_analysis_test_role_c", "callee": "items", "is_member_call": true, "source_file": "scripts/neo4j_coverage_analysis.py", "source_location": "L271", "receiver": "slots"}, {"caller_nid": "$graphify-root$_scripts_neo4j_coverage_analysis_test_role_c", "callee": "append", "is_member_call": true, "source_file": "scripts/neo4j_coverage_analysis.py", "source_location": "L277", "receiver": "results"}, {"caller_nid": "$graphify-root$_scripts_neo4j_coverage_analysis_test_role_c", "callee": "values", "is_member_call": true, "source_file": "scripts/neo4j_coverage_analysis.py", "source_location": "L292", "receiver": "slots2"}, {"caller_nid": "$graphify-root$_scripts_neo4j_coverage_analysis_test_role_c", "callee": "append", "is_member_call": true, "source_file": "scripts/neo4j_coverage_analysis.py", "source_location": "L297", "receiver": "results"}, {"caller_nid": "$graphify-root$_scripts_neo4j_coverage_analysis_main", "callee": "append", "is_member_call": true, "source_file": "scripts/neo4j_coverage_analysis.py", "source_location": "L322", "receiver": "all_results"}, {"caller_nid": "$graphify-root$_scripts_neo4j_coverage_analysis_main", "callee": "append", "is_member_call": true, "source_file": "scripts/neo4j_coverage_analysis.py", "source_location": "L327", "receiver": "all_results"}, {"caller_nid": "$graphify-root$_scripts_neo4j_coverage_analysis_main", "callee": "append", "is_member_call": true, "source_file": "scripts/neo4j_coverage_analysis.py", "source_location": "L332", "receiver": "all_results"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/b44a90018ceb78e047b4587cdd5b1784b241ff87045d4fc33005cf64e52c1db3.json b/graphify-out/cache/ast/v0.9.31/b44a90018ceb78e047b4587cdd5b1784b241ff87045d4fc33005cf64e52c1db3.json new file mode 100644 index 0000000..2f7c5c3 --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/b44a90018ceb78e047b4587cdd5b1784b241ff87045d4fc33005cf64e52c1db3.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_gun_src_validation_init_py", "label": "__init__.py", "file_type": "code", "source_file": "gun/src/validation/__init__.py", "source_location": "L1"}], "edges": [], "raw_calls": []} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/b455e0d85674b0ac7990f236708d68ab16026bdb66cc972478dcd97863867932.json b/graphify-out/cache/ast/v0.9.31/b455e0d85674b0ac7990f236708d68ab16026bdb66cc972478dcd97863867932.json new file mode 100644 index 0000000..d71d494 --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/b455e0d85674b0ac7990f236708d68ab16026bdb66cc972478dcd97863867932.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_src_data_region_config_py", "label": "region_config.py", "file_type": "code", "source_file": "src/data/region_config.py", "source_location": "L1"}, {"id": "$graphify-root$_src_data_region_config_regionthresholds", "label": "RegionThresholds", "file_type": "code", "source_file": "src/data/region_config.py", "source_location": "L17", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_src_data_region_config_get_thresholds", "label": "get_thresholds()", "file_type": "code", "source_file": "src/data/region_config.py", "source_location": "L94", "_callable": true}, {"id": "$graphify-root$_src_data_region_config_rationale_1", "label": "\uc9c0\uc5ed\ubcc4 \ub3d9\uc801 \uc784\uacc4\uac12 \uc124\uc815 \u2014 3-tier POI \ubc00\ub3c4 \uae30\ubc18. \uc2dc\uad70\uad6c \ucf54\ub4dc(5\uc790\ub9ac) \uae30\uc900\uc73c\ub85c \ubc00\ub3c4 \ud2f0\uc5b4\ub97c \uacb0\uc815\ud558\uace0,\u2026", "file_type": "rationale", "source_file": "src/data/region_config.py", "source_location": "L1"}, {"id": "$graphify-root$_src_data_region_config_rationale_18", "label": "\uc9c0\uc5ed \ud2f0\uc5b4\ubcc4 VRPTW/Scoring \uc784\uacc4\uac12.", "file_type": "rationale", "source_file": "src/data/region_config.py", "source_location": "L18"}, {"id": "$graphify-root$_src_data_region_config_rationale_95", "label": "\uc2dc\uad70\uad6c \ucf54\ub4dc\ub85c \uc9c0\uc5ed \uc784\uacc4\uac12 \ubc18\ud658. \ubbf8\uc9c0\uc815\u00b7\ubbf8\ubd84\ub958 \u2192 MEDIUM.", "file_type": "rationale", "source_file": "src/data/region_config.py", "source_location": "L95"}], "edges": [{"source": "$graphify-root$_src_data_region_config_py", "target": "dataclasses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/data/region_config.py", "source_location": "L13", "weight": 1.0}, {"source": "$graphify-root$_src_data_region_config_py", "target": "$graphify-root$_src_data_region_config_regionthresholds", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/data/region_config.py", "source_location": "L17", "weight": 1.0}, {"source": "$graphify-root$_src_data_region_config_py", "target": "$graphify-root$_src_data_region_config_get_thresholds", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/data/region_config.py", "source_location": "L94", "weight": 1.0}, {"source": "$graphify-root$_src_data_region_config_get_thresholds", "target": "$graphify-root$_src_data_region_config_regionthresholds", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "src/data/region_config.py", "source_location": "L94", "weight": 1.0}, {"source": "$graphify-root$_src_data_region_config_rationale_1", "target": "$graphify-root$_src_data_region_config_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/data/region_config.py", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_src_data_region_config_rationale_18", "target": "$graphify-root$_src_data_region_config_regionthresholds", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/data/region_config.py", "source_location": "L18", "weight": 1.0}, {"source": "$graphify-root$_src_data_region_config_rationale_95", "target": "$graphify-root$_src_data_region_config_get_thresholds", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/data/region_config.py", "source_location": "L95", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_src_data_region_config_get_thresholds", "callee": "TIER_MEDIUM_DENSITY", "is_member_call": false, "indirect": true, "context": "return", "source_file": "src/data/region_config.py", "source_location": "L97"}, {"caller_nid": "$graphify-root$_src_data_region_config_get_thresholds", "callee": "TIER_HIGH_DENSITY", "is_member_call": false, "indirect": true, "context": "return", "source_file": "src/data/region_config.py", "source_location": "L100"}, {"caller_nid": "$graphify-root$_src_data_region_config_get_thresholds", "callee": "TIER_MEDIUM_DENSITY", "is_member_call": false, "indirect": true, "context": "return", "source_file": "src/data/region_config.py", "source_location": "L102"}, {"caller_nid": "$graphify-root$_src_data_region_config_get_thresholds", "callee": "TIER_LOW_DENSITY", "is_member_call": false, "indirect": true, "context": "return", "source_file": "src/data/region_config.py", "source_location": "L103"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/bc1d1b8d4443a45922e2152d306b6157ddbd9db8bbf19013cf5c4786368363d9.json b/graphify-out/cache/ast/v0.9.31/bc1d1b8d4443a45922e2152d306b6157ddbd9db8bbf19013cf5c4786368363d9.json new file mode 100644 index 0000000..9a84298 --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/bc1d1b8d4443a45922e2152d306b6157ddbd9db8bbf19013cf5c4786368363d9.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_tests_test_bonus_engine_py", "label": "test_bonus_engine.py", "file_type": "code", "source_file": "tests/test_bonus_engine.py", "source_location": "L1"}, {"id": "$graphify-root$_tests_test_bonus_engine_make_poi", "label": "make_poi()", "file_type": "code", "source_file": "tests/test_bonus_engine.py", "source_location": "L22", "_callable": true}, {"id": "poi", "label": "POI", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/tests/test_bonus_engine.py"}, {"id": "$graphify-root$_tests_test_bonus_engine_make_engine", "label": "make_engine()", "file_type": "code", "source_file": "tests/test_bonus_engine.py", "source_location": "L34", "_callable": true}, {"id": "bonusengine", "label": "BonusEngine", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/tests/test_bonus_engine.py"}, {"id": "$graphify-root$_tests_test_bonus_engine_testwellnessbonus", "label": "TestWellnessBonus", "file_type": "code", "source_file": "tests/test_bonus_engine.py", "source_location": "L47", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_tests_test_bonus_engine_testwellnessbonus_test_no_wellness_data_gives_zero", "label": ".test_no_wellness_data_gives_zero()", "file_type": "code", "source_file": "tests/test_bonus_engine.py", "source_location": "L48", "_callable": true}, {"id": "$graphify-root$_tests_test_bonus_engine_testwellnessbonus_test_matching_poi_gives_bonus", "label": ".test_matching_poi_gives_bonus()", "file_type": "code", "source_file": "tests/test_bonus_engine.py", "source_location": "L54", "_callable": true}, {"id": "$graphify-root$_tests_test_bonus_engine_testwellnessbonus_test_two_matching_pois_give_double_bonus", "label": ".test_two_matching_pois_give_double_bonus()", "file_type": "code", "source_file": "tests/test_bonus_engine.py", "source_location": "L60", "_callable": true}, {"id": "$graphify-root$_tests_test_bonus_engine_testwellnessbonus_test_wellness_bonus_capped", "label": ".test_wellness_bonus_capped()", "file_type": "code", "source_file": "tests/test_bonus_engine.py", "source_location": "L69", "_callable": true}, {"id": "$graphify-root$_tests_test_bonus_engine_testwellnessbonus_test_non_matching_poi_no_bonus", "label": ".test_non_matching_poi_no_bonus()", "file_type": "code", "source_file": "tests/test_bonus_engine.py", "source_location": "L77", "_callable": true}, {"id": "$graphify-root$_tests_test_bonus_engine_testwellnessbonus_test_wellness_applies_to_all_party_types", "label": ".test_wellness_applies_to_all_party_types()", "file_type": "code", "source_file": "tests/test_bonus_engine.py", "source_location": "L83", "_callable": true}, {"id": "$graphify-root$_tests_test_bonus_engine_testaccessibilitybonus", "label": "TestAccessibilityBonus", "file_type": "code", "source_file": "tests/test_bonus_engine.py", "source_location": "L95", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_tests_test_bonus_engine_testaccessibilitybonus_test_accessible_party_gets_bonus", "label": ".test_accessible_party_gets_bonus()", "file_type": "code", "source_file": "tests/test_bonus_engine.py", "source_location": "L96", "_callable": true}, {"id": "$graphify-root$_tests_test_bonus_engine_testaccessibilitybonus_test_non_accessible_party_no_bonus", "label": ".test_non_accessible_party_no_bonus()", "file_type": "code", "source_file": "tests/test_bonus_engine.py", "source_location": "L103", "_callable": true}, {"id": "$graphify-root$_tests_test_bonus_engine_testaccessibilitybonus_test_accessibility_bonus_capped", "label": ".test_accessibility_bonus_capped()", "file_type": "code", "source_file": "tests/test_bonus_engine.py", "source_location": "L110", "_callable": true}, {"id": "$graphify-root$_tests_test_bonus_engine_testpetfriendlybonus", "label": "TestPetFriendlyBonus", "file_type": "code", "source_file": "tests/test_bonus_engine.py", "source_location": "L122", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_tests_test_bonus_engine_testpetfriendlybonus_test_disabled_gives_zero_even_if_matched", "label": ".test_disabled_gives_zero_even_if_matched()", "file_type": "code", "source_file": "tests/test_bonus_engine.py", "source_location": "L123", "_callable": true}, {"id": "$graphify-root$_tests_test_bonus_engine_testpetfriendlybonus_test_enabled_and_flagged_gives_bonus", "label": ".test_enabled_and_flagged_gives_bonus()", "file_type": "code", "source_file": "tests/test_bonus_engine.py", "source_location": "L129", "_callable": true}, {"id": "$graphify-root$_tests_test_bonus_engine_testpetfriendlybonus_test_enabled_but_not_flagged_no_bonus_no_penalty", "label": ".test_enabled_but_not_flagged_no_bonus_no_penalty()", "file_type": "code", "source_file": "tests/test_bonus_engine.py", "source_location": "L135", "_callable": true}, {"id": "$graphify-root$_tests_test_bonus_engine_testpetfriendlybonus_test_pet_friendly_bonus_capped", "label": ".test_pet_friendly_bonus_capped()", "file_type": "code", "source_file": "tests/test_bonus_engine.py", "source_location": "L142", "_callable": true}, {"id": "$graphify-root$_tests_test_bonus_engine_testpetfriendlybonus_test_pet_friendly_matched_names_populated", "label": ".test_pet_friendly_matched_names_populated()", "file_type": "code", "source_file": "tests/test_bonus_engine.py", "source_location": "L148", "_callable": true}, {"id": "$graphify-root$_tests_test_bonus_engine_testtotalbonuscap", "label": "TestTotalBonusCap", "file_type": "code", "source_file": "tests/test_bonus_engine.py", "source_location": "L159", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_tests_test_bonus_engine_testtotalbonuscap_test_combined_bonus_capped_at_cap", "label": ".test_combined_bonus_capped_at_cap()", "file_type": "code", "source_file": "tests/test_bonus_engine.py", "source_location": "L160", "_callable": true}, {"id": "$graphify-root$_tests_test_bonus_engine_testtotalbonuscap_test_total_is_sum_when_under_cap", "label": ".test_total_is_sum_when_under_cap()", "file_type": "code", "source_file": "tests/test_bonus_engine.py", "source_location": "L167", "_callable": true}, {"id": "$graphify-root$_tests_test_bonus_engine_testfromdataset", "label": "TestFromDataset", "file_type": "code", "source_file": "tests/test_bonus_engine.py", "source_location": "L187", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_tests_test_bonus_engine_testfromdataset_test_missing_files_give_empty_engine", "label": ".test_missing_files_give_empty_engine()", "file_type": "code", "source_file": "tests/test_bonus_engine.py", "source_location": "L188", "_callable": true}, {"id": "$graphify-root$_tests_test_bonus_engine_testfromdataset_test_loads_from_json_files", "label": ".test_loads_from_json_files()", "file_type": "code", "source_file": "tests/test_bonus_engine.py", "source_location": "L197", "_callable": true}, {"id": "$graphify-root$_tests_test_bonus_engine_testfromdataset_test_zero_coords_skipped", "label": ".test_zero_coords_skipped()", "file_type": "code", "source_file": "tests/test_bonus_engine.py", "source_location": "L211", "_callable": true}, {"id": "$graphify-root$_tests_test_bonus_engine_testbonusresultfields", "label": "TestBonusResultFields", "file_type": "code", "source_file": "tests/test_bonus_engine.py", "source_location": "L227", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_tests_test_bonus_engine_testbonusresultfields_test_matched_names_populated", "label": ".test_matched_names_populated()", "file_type": "code", "source_file": "tests/test_bonus_engine.py", "source_location": "L228", "_callable": true}, {"id": "$graphify-root$_tests_test_bonus_engine_testbonusresultfields_test_no_match_empty_lists", "label": ".test_no_match_empty_lists()", "file_type": "code", "source_file": "tests/test_bonus_engine.py", "source_location": "L234", "_callable": true}, {"id": "$graphify-root$_tests_test_bonus_engine_rationale_1", "label": "Tests for BonusEngine (TDD).", "file_type": "rationale", "source_file": "tests/test_bonus_engine.py", "source_location": "L1"}], "edges": [{"source": "$graphify-root$_tests_test_bonus_engine_py", "target": "json", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_bonus_engine.py", "source_location": "L4", "weight": 1.0}, {"source": "$graphify-root$_tests_test_bonus_engine_py", "target": "tempfile", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_bonus_engine.py", "source_location": "L5", "weight": 1.0}, {"source": "$graphify-root$_tests_test_bonus_engine_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_bonus_engine.py", "source_location": "L6", "weight": 1.0}, {"source": "$graphify-root$_tests_test_bonus_engine_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_bonus_engine.py", "source_location": "L8", "weight": 1.0}, {"source": "$graphify-root$_tests_test_bonus_engine_py", "target": "src_data_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_bonus_engine.py", "source_location": "L10", "weight": 1.0}, {"source": "$graphify-root$_tests_test_bonus_engine_py", "target": "src_scoring_bonus_engine", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_bonus_engine.py", "source_location": "L11", "weight": 1.0}, {"source": "$graphify-root$_tests_test_bonus_engine_py", "target": "$graphify-root$_tests_test_bonus_engine_make_poi", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_bonus_engine.py", "source_location": "L22", "weight": 1.0}, {"source": "$graphify-root$_tests_test_bonus_engine_make_poi", "target": "poi", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "tests/test_bonus_engine.py", "source_location": "L22", "weight": 1.0}, {"source": "$graphify-root$_tests_test_bonus_engine_py", "target": "$graphify-root$_tests_test_bonus_engine_make_engine", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_bonus_engine.py", "source_location": "L34", "weight": 1.0}, {"source": "$graphify-root$_tests_test_bonus_engine_make_engine", "target": "bonusengine", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "tests/test_bonus_engine.py", "source_location": "L34", "weight": 1.0}, {"source": "$graphify-root$_tests_test_bonus_engine_py", "target": "$graphify-root$_tests_test_bonus_engine_testwellnessbonus", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_bonus_engine.py", "source_location": "L47", "weight": 1.0}, {"source": "$graphify-root$_tests_test_bonus_engine_testwellnessbonus", "target": "$graphify-root$_tests_test_bonus_engine_testwellnessbonus_test_no_wellness_data_gives_zero", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_bonus_engine.py", "source_location": "L48", "weight": 1.0}, {"source": "$graphify-root$_tests_test_bonus_engine_testwellnessbonus", "target": "$graphify-root$_tests_test_bonus_engine_testwellnessbonus_test_matching_poi_gives_bonus", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_bonus_engine.py", "source_location": "L54", "weight": 1.0}, {"source": "$graphify-root$_tests_test_bonus_engine_testwellnessbonus", "target": "$graphify-root$_tests_test_bonus_engine_testwellnessbonus_test_two_matching_pois_give_double_bonus", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_bonus_engine.py", "source_location": "L60", "weight": 1.0}, {"source": "$graphify-root$_tests_test_bonus_engine_testwellnessbonus", "target": "$graphify-root$_tests_test_bonus_engine_testwellnessbonus_test_wellness_bonus_capped", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_bonus_engine.py", "source_location": "L69", "weight": 1.0}, {"source": "$graphify-root$_tests_test_bonus_engine_testwellnessbonus", "target": "$graphify-root$_tests_test_bonus_engine_testwellnessbonus_test_non_matching_poi_no_bonus", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_bonus_engine.py", "source_location": "L77", "weight": 1.0}, {"source": "$graphify-root$_tests_test_bonus_engine_testwellnessbonus", "target": "$graphify-root$_tests_test_bonus_engine_testwellnessbonus_test_wellness_applies_to_all_party_types", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_bonus_engine.py", "source_location": "L83", "weight": 1.0}, {"source": "$graphify-root$_tests_test_bonus_engine_py", "target": "$graphify-root$_tests_test_bonus_engine_testaccessibilitybonus", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_bonus_engine.py", "source_location": "L95", "weight": 1.0}, {"source": "$graphify-root$_tests_test_bonus_engine_testaccessibilitybonus", "target": "$graphify-root$_tests_test_bonus_engine_testaccessibilitybonus_test_accessible_party_gets_bonus", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_bonus_engine.py", "source_location": "L96", "weight": 1.0}, {"source": "$graphify-root$_tests_test_bonus_engine_testaccessibilitybonus", "target": "$graphify-root$_tests_test_bonus_engine_testaccessibilitybonus_test_non_accessible_party_no_bonus", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_bonus_engine.py", "source_location": "L103", "weight": 1.0}, {"source": "$graphify-root$_tests_test_bonus_engine_testaccessibilitybonus", "target": "$graphify-root$_tests_test_bonus_engine_testaccessibilitybonus_test_accessibility_bonus_capped", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_bonus_engine.py", "source_location": "L110", "weight": 1.0}, {"source": "$graphify-root$_tests_test_bonus_engine_py", "target": "$graphify-root$_tests_test_bonus_engine_testpetfriendlybonus", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_bonus_engine.py", "source_location": "L122", "weight": 1.0}, {"source": "$graphify-root$_tests_test_bonus_engine_testpetfriendlybonus", "target": "$graphify-root$_tests_test_bonus_engine_testpetfriendlybonus_test_disabled_gives_zero_even_if_matched", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_bonus_engine.py", "source_location": "L123", "weight": 1.0}, {"source": "$graphify-root$_tests_test_bonus_engine_testpetfriendlybonus", "target": "$graphify-root$_tests_test_bonus_engine_testpetfriendlybonus_test_enabled_and_flagged_gives_bonus", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_bonus_engine.py", "source_location": "L129", "weight": 1.0}, {"source": "$graphify-root$_tests_test_bonus_engine_testpetfriendlybonus", "target": "$graphify-root$_tests_test_bonus_engine_testpetfriendlybonus_test_enabled_but_not_flagged_no_bonus_no_penalty", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_bonus_engine.py", "source_location": "L135", "weight": 1.0}, {"source": "$graphify-root$_tests_test_bonus_engine_testpetfriendlybonus", "target": "$graphify-root$_tests_test_bonus_engine_testpetfriendlybonus_test_pet_friendly_bonus_capped", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_bonus_engine.py", "source_location": "L142", "weight": 1.0}, {"source": "$graphify-root$_tests_test_bonus_engine_testpetfriendlybonus", "target": "$graphify-root$_tests_test_bonus_engine_testpetfriendlybonus_test_pet_friendly_matched_names_populated", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_bonus_engine.py", "source_location": "L148", "weight": 1.0}, {"source": "$graphify-root$_tests_test_bonus_engine_py", "target": "$graphify-root$_tests_test_bonus_engine_testtotalbonuscap", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_bonus_engine.py", "source_location": "L159", "weight": 1.0}, {"source": "$graphify-root$_tests_test_bonus_engine_testtotalbonuscap", "target": "$graphify-root$_tests_test_bonus_engine_testtotalbonuscap_test_combined_bonus_capped_at_cap", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_bonus_engine.py", "source_location": "L160", "weight": 1.0}, {"source": "$graphify-root$_tests_test_bonus_engine_testtotalbonuscap", "target": "$graphify-root$_tests_test_bonus_engine_testtotalbonuscap_test_total_is_sum_when_under_cap", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_bonus_engine.py", "source_location": "L167", "weight": 1.0}, {"source": "$graphify-root$_tests_test_bonus_engine_py", "target": "$graphify-root$_tests_test_bonus_engine_testfromdataset", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_bonus_engine.py", "source_location": "L187", "weight": 1.0}, {"source": "$graphify-root$_tests_test_bonus_engine_testfromdataset", "target": "$graphify-root$_tests_test_bonus_engine_testfromdataset_test_missing_files_give_empty_engine", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_bonus_engine.py", "source_location": "L188", "weight": 1.0}, {"source": "$graphify-root$_tests_test_bonus_engine_testfromdataset", "target": "$graphify-root$_tests_test_bonus_engine_testfromdataset_test_loads_from_json_files", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_bonus_engine.py", "source_location": "L197", "weight": 1.0}, {"source": "$graphify-root$_tests_test_bonus_engine_testfromdataset", "target": "$graphify-root$_tests_test_bonus_engine_testfromdataset_test_zero_coords_skipped", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_bonus_engine.py", "source_location": "L211", "weight": 1.0}, {"source": "$graphify-root$_tests_test_bonus_engine_py", "target": "$graphify-root$_tests_test_bonus_engine_testbonusresultfields", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_bonus_engine.py", "source_location": "L227", "weight": 1.0}, {"source": "$graphify-root$_tests_test_bonus_engine_testbonusresultfields", "target": "$graphify-root$_tests_test_bonus_engine_testbonusresultfields_test_matched_names_populated", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_bonus_engine.py", "source_location": "L228", "weight": 1.0}, {"source": "$graphify-root$_tests_test_bonus_engine_testbonusresultfields", "target": "$graphify-root$_tests_test_bonus_engine_testbonusresultfields_test_no_match_empty_lists", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_bonus_engine.py", "source_location": "L234", "weight": 1.0}, {"source": "$graphify-root$_tests_test_bonus_engine_make_poi", "target": "poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_bonus_engine.py", "source_location": "L25", "weight": 1.0}, {"source": "$graphify-root$_tests_test_bonus_engine_make_engine", "target": "bonusengine", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_bonus_engine.py", "source_location": "L40", "weight": 1.0}, {"source": "$graphify-root$_tests_test_bonus_engine_testwellnessbonus_test_no_wellness_data_gives_zero", "target": "$graphify-root$_tests_test_bonus_engine_make_engine", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_bonus_engine.py", "source_location": "L49", "weight": 1.0}, {"source": "$graphify-root$_tests_test_bonus_engine_testwellnessbonus_test_no_wellness_data_gives_zero", "target": "$graphify-root$_tests_test_bonus_engine_make_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_bonus_engine.py", "source_location": "L50", "weight": 1.0}, {"source": "$graphify-root$_tests_test_bonus_engine_testwellnessbonus_test_matching_poi_gives_bonus", "target": "$graphify-root$_tests_test_bonus_engine_make_engine", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_bonus_engine.py", "source_location": "L55", "weight": 1.0}, {"source": "$graphify-root$_tests_test_bonus_engine_testwellnessbonus_test_matching_poi_gives_bonus", "target": "$graphify-root$_tests_test_bonus_engine_make_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_bonus_engine.py", "source_location": "L56", "weight": 1.0}, {"source": "$graphify-root$_tests_test_bonus_engine_testwellnessbonus_test_two_matching_pois_give_double_bonus", "target": "$graphify-root$_tests_test_bonus_engine_make_engine", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_bonus_engine.py", "source_location": "L61", "weight": 1.0}, {"source": "$graphify-root$_tests_test_bonus_engine_testwellnessbonus_test_two_matching_pois_give_double_bonus", "target": "$graphify-root$_tests_test_bonus_engine_make_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_bonus_engine.py", "source_location": "L63", "weight": 1.0}, {"source": "$graphify-root$_tests_test_bonus_engine_testwellnessbonus_test_wellness_bonus_capped", "target": "$graphify-root$_tests_test_bonus_engine_make_engine", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_bonus_engine.py", "source_location": "L72", "weight": 1.0}, {"source": "$graphify-root$_tests_test_bonus_engine_testwellnessbonus_test_wellness_bonus_capped", "target": "$graphify-root$_tests_test_bonus_engine_make_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_bonus_engine.py", "source_location": "L73", "weight": 1.0}, {"source": "$graphify-root$_tests_test_bonus_engine_testwellnessbonus_test_non_matching_poi_no_bonus", "target": "$graphify-root$_tests_test_bonus_engine_make_engine", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_bonus_engine.py", "source_location": "L78", "weight": 1.0}, {"source": "$graphify-root$_tests_test_bonus_engine_testwellnessbonus_test_non_matching_poi_no_bonus", "target": "$graphify-root$_tests_test_bonus_engine_make_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_bonus_engine.py", "source_location": "L79", "weight": 1.0}, {"source": "$graphify-root$_tests_test_bonus_engine_testwellnessbonus_test_wellness_applies_to_all_party_types", "target": "$graphify-root$_tests_test_bonus_engine_make_engine", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_bonus_engine.py", "source_location": "L84", "weight": 1.0}, {"source": "$graphify-root$_tests_test_bonus_engine_testwellnessbonus_test_wellness_applies_to_all_party_types", "target": "$graphify-root$_tests_test_bonus_engine_make_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_bonus_engine.py", "source_location": "L85", "weight": 1.0}, {"source": "$graphify-root$_tests_test_bonus_engine_testaccessibilitybonus_test_accessible_party_gets_bonus", "target": "$graphify-root$_tests_test_bonus_engine_make_engine", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_bonus_engine.py", "source_location": "L97", "weight": 1.0}, {"source": "$graphify-root$_tests_test_bonus_engine_testaccessibilitybonus_test_accessible_party_gets_bonus", "target": "$graphify-root$_tests_test_bonus_engine_make_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_bonus_engine.py", "source_location": "L98", "weight": 1.0}, {"source": "$graphify-root$_tests_test_bonus_engine_testaccessibilitybonus_test_non_accessible_party_no_bonus", "target": "$graphify-root$_tests_test_bonus_engine_make_engine", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_bonus_engine.py", "source_location": "L104", "weight": 1.0}, {"source": "$graphify-root$_tests_test_bonus_engine_testaccessibilitybonus_test_non_accessible_party_no_bonus", "target": "$graphify-root$_tests_test_bonus_engine_make_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_bonus_engine.py", "source_location": "L105", "weight": 1.0}, {"source": "$graphify-root$_tests_test_bonus_engine_testaccessibilitybonus_test_accessibility_bonus_capped", "target": "$graphify-root$_tests_test_bonus_engine_make_engine", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_bonus_engine.py", "source_location": "L112", "weight": 1.0}, {"source": "$graphify-root$_tests_test_bonus_engine_testaccessibilitybonus_test_accessibility_bonus_capped", "target": "$graphify-root$_tests_test_bonus_engine_make_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_bonus_engine.py", "source_location": "L113", "weight": 1.0}, {"source": "$graphify-root$_tests_test_bonus_engine_testpetfriendlybonus_test_disabled_gives_zero_even_if_matched", "target": "$graphify-root$_tests_test_bonus_engine_make_engine", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_bonus_engine.py", "source_location": "L124", "weight": 1.0}, {"source": "$graphify-root$_tests_test_bonus_engine_testpetfriendlybonus_test_disabled_gives_zero_even_if_matched", "target": "$graphify-root$_tests_test_bonus_engine_make_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_bonus_engine.py", "source_location": "L125", "weight": 1.0}, {"source": "$graphify-root$_tests_test_bonus_engine_testpetfriendlybonus_test_enabled_and_flagged_gives_bonus", "target": "$graphify-root$_tests_test_bonus_engine_make_engine", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_bonus_engine.py", "source_location": "L130", "weight": 1.0}, {"source": "$graphify-root$_tests_test_bonus_engine_testpetfriendlybonus_test_enabled_and_flagged_gives_bonus", "target": "$graphify-root$_tests_test_bonus_engine_make_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_bonus_engine.py", "source_location": "L131", "weight": 1.0}, {"source": "$graphify-root$_tests_test_bonus_engine_testpetfriendlybonus_test_enabled_but_not_flagged_no_bonus_no_penalty", "target": "$graphify-root$_tests_test_bonus_engine_make_engine", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_bonus_engine.py", "source_location": "L136", "weight": 1.0}, {"source": "$graphify-root$_tests_test_bonus_engine_testpetfriendlybonus_test_enabled_but_not_flagged_no_bonus_no_penalty", "target": "$graphify-root$_tests_test_bonus_engine_make_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_bonus_engine.py", "source_location": "L137", "weight": 1.0}, {"source": "$graphify-root$_tests_test_bonus_engine_testpetfriendlybonus_test_pet_friendly_bonus_capped", "target": "$graphify-root$_tests_test_bonus_engine_make_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_bonus_engine.py", "source_location": "L143", "weight": 1.0}, {"source": "$graphify-root$_tests_test_bonus_engine_testpetfriendlybonus_test_pet_friendly_bonus_capped", "target": "$graphify-root$_tests_test_bonus_engine_make_engine", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_bonus_engine.py", "source_location": "L144", "weight": 1.0}, {"source": "$graphify-root$_tests_test_bonus_engine_testpetfriendlybonus_test_pet_friendly_matched_names_populated", "target": "$graphify-root$_tests_test_bonus_engine_make_engine", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_bonus_engine.py", "source_location": "L149", "weight": 1.0}, {"source": "$graphify-root$_tests_test_bonus_engine_testpetfriendlybonus_test_pet_friendly_matched_names_populated", "target": "$graphify-root$_tests_test_bonus_engine_make_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_bonus_engine.py", "source_location": "L150", "weight": 1.0}, {"source": "$graphify-root$_tests_test_bonus_engine_testtotalbonuscap_test_combined_bonus_capped_at_cap", "target": "$graphify-root$_tests_test_bonus_engine_make_engine", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_bonus_engine.py", "source_location": "L162", "weight": 1.0}, {"source": "$graphify-root$_tests_test_bonus_engine_testtotalbonuscap_test_combined_bonus_capped_at_cap", "target": "$graphify-root$_tests_test_bonus_engine_make_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_bonus_engine.py", "source_location": "L163", "weight": 1.0}, {"source": "$graphify-root$_tests_test_bonus_engine_testtotalbonuscap_test_total_is_sum_when_under_cap", "target": "$graphify-root$_tests_test_bonus_engine_make_engine", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_bonus_engine.py", "source_location": "L168", "weight": 1.0}, {"source": "$graphify-root$_tests_test_bonus_engine_testtotalbonuscap_test_total_is_sum_when_under_cap", "target": "$graphify-root$_tests_test_bonus_engine_make_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_bonus_engine.py", "source_location": "L173", "weight": 1.0}, {"source": "$graphify-root$_tests_test_bonus_engine_testfromdataset_test_missing_files_give_empty_engine", "target": "$graphify-root$_tests_test_bonus_engine_make_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_bonus_engine.py", "source_location": "L193", "weight": 1.0}, {"source": "$graphify-root$_tests_test_bonus_engine_testfromdataset_test_loads_from_json_files", "target": "$graphify-root$_tests_test_bonus_engine_make_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_bonus_engine.py", "source_location": "L206", "weight": 1.0}, {"source": "$graphify-root$_tests_test_bonus_engine_testfromdataset_test_zero_coords_skipped", "target": "$graphify-root$_tests_test_bonus_engine_make_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_bonus_engine.py", "source_location": "L218", "weight": 1.0}, {"source": "$graphify-root$_tests_test_bonus_engine_testbonusresultfields_test_matched_names_populated", "target": "$graphify-root$_tests_test_bonus_engine_make_engine", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_bonus_engine.py", "source_location": "L229", "weight": 1.0}, {"source": "$graphify-root$_tests_test_bonus_engine_testbonusresultfields_test_matched_names_populated", "target": "$graphify-root$_tests_test_bonus_engine_make_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_bonus_engine.py", "source_location": "L230", "weight": 1.0}, {"source": "$graphify-root$_tests_test_bonus_engine_testbonusresultfields_test_no_match_empty_lists", "target": "$graphify-root$_tests_test_bonus_engine_make_engine", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_bonus_engine.py", "source_location": "L235", "weight": 1.0}, {"source": "$graphify-root$_tests_test_bonus_engine_testbonusresultfields_test_no_match_empty_lists", "target": "$graphify-root$_tests_test_bonus_engine_make_poi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_bonus_engine.py", "source_location": "L236", "weight": 1.0}, {"source": "$graphify-root$_tests_test_bonus_engine_rationale_1", "target": "$graphify-root$_tests_test_bonus_engine_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_bonus_engine.py", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_tests_test_bonus_engine_make_engine", "callee": "_PlaceCoord", "is_member_call": false, "source_file": "tests/test_bonus_engine.py", "source_location": "L38", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_bonus_engine_make_engine", "callee": "_PlaceCoord", "is_member_call": false, "source_file": "tests/test_bonus_engine.py", "source_location": "L39", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_bonus_engine_testwellnessbonus_test_no_wellness_data_gives_zero", "callee": "compute", "is_member_call": true, "source_file": "tests/test_bonus_engine.py", "source_location": "L51", "receiver": "engine"}, {"caller_nid": "$graphify-root$_tests_test_bonus_engine_testwellnessbonus_test_matching_poi_gives_bonus", "callee": "compute", "is_member_call": true, "source_file": "tests/test_bonus_engine.py", "source_location": "L57", "receiver": "engine"}, {"caller_nid": "$graphify-root$_tests_test_bonus_engine_testwellnessbonus_test_two_matching_pois_give_double_bonus", "callee": "compute", "is_member_call": true, "source_file": "tests/test_bonus_engine.py", "source_location": "L66", "receiver": "engine"}, {"caller_nid": "$graphify-root$_tests_test_bonus_engine_testwellnessbonus_test_wellness_bonus_capped", "callee": "compute", "is_member_call": true, "source_file": "tests/test_bonus_engine.py", "source_location": "L74", "receiver": "engine"}, {"caller_nid": "$graphify-root$_tests_test_bonus_engine_testwellnessbonus_test_non_matching_poi_no_bonus", "callee": "compute", "is_member_call": true, "source_file": "tests/test_bonus_engine.py", "source_location": "L80", "receiver": "engine"}, {"caller_nid": "$graphify-root$_tests_test_bonus_engine_testwellnessbonus_test_wellness_applies_to_all_party_types", "callee": "compute", "is_member_call": true, "source_file": "tests/test_bonus_engine.py", "source_location": "L87", "receiver": "engine"}, {"caller_nid": "$graphify-root$_tests_test_bonus_engine_testaccessibilitybonus_test_accessible_party_gets_bonus", "callee": "compute", "is_member_call": true, "source_file": "tests/test_bonus_engine.py", "source_location": "L100", "receiver": "engine"}, {"caller_nid": "$graphify-root$_tests_test_bonus_engine_testaccessibilitybonus_test_non_accessible_party_no_bonus", "callee": "compute", "is_member_call": true, "source_file": "tests/test_bonus_engine.py", "source_location": "L107", "receiver": "engine"}, {"caller_nid": "$graphify-root$_tests_test_bonus_engine_testaccessibilitybonus_test_accessibility_bonus_capped", "callee": "compute", "is_member_call": true, "source_file": "tests/test_bonus_engine.py", "source_location": "L114", "receiver": "engine"}, {"caller_nid": "$graphify-root$_tests_test_bonus_engine_testpetfriendlybonus_test_disabled_gives_zero_even_if_matched", "callee": "compute", "is_member_call": true, "source_file": "tests/test_bonus_engine.py", "source_location": "L126", "receiver": "engine"}, {"caller_nid": "$graphify-root$_tests_test_bonus_engine_testpetfriendlybonus_test_enabled_and_flagged_gives_bonus", "callee": "compute", "is_member_call": true, "source_file": "tests/test_bonus_engine.py", "source_location": "L132", "receiver": "engine"}, {"caller_nid": "$graphify-root$_tests_test_bonus_engine_testpetfriendlybonus_test_enabled_but_not_flagged_no_bonus_no_penalty", "callee": "compute", "is_member_call": true, "source_file": "tests/test_bonus_engine.py", "source_location": "L138", "receiver": "engine"}, {"caller_nid": "$graphify-root$_tests_test_bonus_engine_testpetfriendlybonus_test_pet_friendly_bonus_capped", "callee": "compute", "is_member_call": true, "source_file": "tests/test_bonus_engine.py", "source_location": "L145", "receiver": "engine"}, {"caller_nid": "$graphify-root$_tests_test_bonus_engine_testpetfriendlybonus_test_pet_friendly_matched_names_populated", "callee": "compute", "is_member_call": true, "source_file": "tests/test_bonus_engine.py", "source_location": "L151", "receiver": "engine"}, {"caller_nid": "$graphify-root$_tests_test_bonus_engine_testtotalbonuscap_test_combined_bonus_capped_at_cap", "callee": "compute", "is_member_call": true, "source_file": "tests/test_bonus_engine.py", "source_location": "L164", "receiver": "engine"}, {"caller_nid": "$graphify-root$_tests_test_bonus_engine_testtotalbonuscap_test_total_is_sum_when_under_cap", "callee": "compute", "is_member_call": true, "source_file": "tests/test_bonus_engine.py", "source_location": "L176", "receiver": "engine"}, {"caller_nid": "$graphify-root$_tests_test_bonus_engine_testtotalbonuscap_test_total_is_sum_when_under_cap", "callee": "BONUS_CAP", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "tests/test_bonus_engine.py", "source_location": "L178"}, {"caller_nid": "$graphify-root$_tests_test_bonus_engine_testfromdataset_test_missing_files_give_empty_engine", "callee": "from_dataset", "is_member_call": true, "source_file": "tests/test_bonus_engine.py", "source_location": "L189", "receiver": "BonusEngine"}, {"caller_nid": "$graphify-root$_tests_test_bonus_engine_testfromdataset_test_missing_files_give_empty_engine", "callee": "compute", "is_member_call": true, "source_file": "tests/test_bonus_engine.py", "source_location": "L194", "receiver": "engine"}, {"caller_nid": "$graphify-root$_tests_test_bonus_engine_testfromdataset_test_loads_from_json_files", "callee": "TemporaryDirectory", "is_member_call": true, "source_file": "tests/test_bonus_engine.py", "source_location": "L199", "receiver": "tempfile"}, {"caller_nid": "$graphify-root$_tests_test_bonus_engine_testfromdataset_test_loads_from_json_files", "callee": "Path", "is_member_call": false, "source_file": "tests/test_bonus_engine.py", "source_location": "L200", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_bonus_engine_testfromdataset_test_loads_from_json_files", "callee": "tmp", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "tests/test_bonus_engine.py", "source_location": "L200"}, {"caller_nid": "$graphify-root$_tests_test_bonus_engine_testfromdataset_test_loads_from_json_files", "callee": "Path", "is_member_call": false, "source_file": "tests/test_bonus_engine.py", "source_location": "L201", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_bonus_engine_testfromdataset_test_loads_from_json_files", "callee": "tmp", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "tests/test_bonus_engine.py", "source_location": "L201"}, {"caller_nid": "$graphify-root$_tests_test_bonus_engine_testfromdataset_test_loads_from_json_files", "callee": "write_text", "is_member_call": true, "source_file": "tests/test_bonus_engine.py", "source_location": "L202", "receiver": "wp"}, {"caller_nid": "$graphify-root$_tests_test_bonus_engine_testfromdataset_test_loads_from_json_files", "callee": "dumps", "is_member_call": true, "source_file": "tests/test_bonus_engine.py", "source_location": "L202", "receiver": "json"}, {"caller_nid": "$graphify-root$_tests_test_bonus_engine_testfromdataset_test_loads_from_json_files", "callee": "write_text", "is_member_call": true, "source_file": "tests/test_bonus_engine.py", "source_location": "L203", "receiver": "bp"}, {"caller_nid": "$graphify-root$_tests_test_bonus_engine_testfromdataset_test_loads_from_json_files", "callee": "dumps", "is_member_call": true, "source_file": "tests/test_bonus_engine.py", "source_location": "L203", "receiver": "json"}, {"caller_nid": "$graphify-root$_tests_test_bonus_engine_testfromdataset_test_loads_from_json_files", "callee": "from_dataset", "is_member_call": true, "source_file": "tests/test_bonus_engine.py", "source_location": "L205", "receiver": "BonusEngine"}, {"caller_nid": "$graphify-root$_tests_test_bonus_engine_testfromdataset_test_loads_from_json_files", "callee": "compute", "is_member_call": true, "source_file": "tests/test_bonus_engine.py", "source_location": "L207", "receiver": "engine"}, {"caller_nid": "$graphify-root$_tests_test_bonus_engine_testfromdataset_test_zero_coords_skipped", "callee": "TemporaryDirectory", "is_member_call": true, "source_file": "tests/test_bonus_engine.py", "source_location": "L213", "receiver": "tempfile"}, {"caller_nid": "$graphify-root$_tests_test_bonus_engine_testfromdataset_test_zero_coords_skipped", "callee": "Path", "is_member_call": false, "source_file": "tests/test_bonus_engine.py", "source_location": "L214", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_bonus_engine_testfromdataset_test_zero_coords_skipped", "callee": "tmp", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "tests/test_bonus_engine.py", "source_location": "L214"}, {"caller_nid": "$graphify-root$_tests_test_bonus_engine_testfromdataset_test_zero_coords_skipped", "callee": "write_text", "is_member_call": true, "source_file": "tests/test_bonus_engine.py", "source_location": "L215", "receiver": "wp"}, {"caller_nid": "$graphify-root$_tests_test_bonus_engine_testfromdataset_test_zero_coords_skipped", "callee": "dumps", "is_member_call": true, "source_file": "tests/test_bonus_engine.py", "source_location": "L215", "receiver": "json"}, {"caller_nid": "$graphify-root$_tests_test_bonus_engine_testfromdataset_test_zero_coords_skipped", "callee": "from_dataset", "is_member_call": true, "source_file": "tests/test_bonus_engine.py", "source_location": "L217", "receiver": "BonusEngine"}, {"caller_nid": "$graphify-root$_tests_test_bonus_engine_testfromdataset_test_zero_coords_skipped", "callee": "compute", "is_member_call": true, "source_file": "tests/test_bonus_engine.py", "source_location": "L219", "receiver": "engine"}, {"caller_nid": "$graphify-root$_tests_test_bonus_engine_testbonusresultfields_test_matched_names_populated", "callee": "compute", "is_member_call": true, "source_file": "tests/test_bonus_engine.py", "source_location": "L231", "receiver": "engine"}, {"caller_nid": "$graphify-root$_tests_test_bonus_engine_testbonusresultfields_test_no_match_empty_lists", "callee": "compute", "is_member_call": true, "source_file": "tests/test_bonus_engine.py", "source_location": "L237", "receiver": "engine"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/c55543abeef8e54ee00023c4a3b962bbe6db55fb6110bac1ec5f2dcadf0240ac.json b/graphify-out/cache/ast/v0.9.31/c55543abeef8e54ee00023c4a3b962bbe6db55fb6110bac1ec5f2dcadf0240ac.json new file mode 100644 index 0000000..8f241ef --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/c55543abeef8e54ee00023c4a3b962bbe6db55fb6110bac1ec5f2dcadf0240ac.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_tests_test_explain_engine_py", "label": "test_explain_engine.py", "file_type": "code", "source_file": "tests/test_explain_engine.py", "source_location": "L1"}, {"id": "$graphify-root$_tests_test_explain_engine_make_plan", "label": "make_plan()", "file_type": "code", "source_file": "tests/test_explain_engine.py", "source_location": "L34", "_callable": true}, {"id": "itineraryplan", "label": "ItineraryPlan", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/tests/test_explain_engine.py"}, {"id": "$graphify-root$_tests_test_explain_engine_make_scores", "label": "make_scores()", "file_type": "code", "source_file": "tests/test_explain_engine.py", "source_location": "L43", "_callable": true}, {"id": "scores", "label": "Scores", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/tests/test_explain_engine.py"}, {"id": "$graphify-root$_tests_test_explain_engine_make_hard_fail", "label": "make_hard_fail()", "file_type": "code", "source_file": "tests/test_explain_engine.py", "source_location": "L47", "_callable": true}, {"id": "hardfail", "label": "HardFail", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/tests/test_explain_engine.py"}, {"id": "$graphify-root$_tests_test_explain_engine_make_warning", "label": "make_warning()", "file_type": "code", "source_file": "tests/test_explain_engine.py", "source_location": "L57", "_callable": true}, {"id": "warning", "label": "Warning", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/tests/test_explain_engine.py"}, {"id": "$graphify-root$_tests_test_explain_engine_make_graph_stub", "label": "make_graph_stub()", "file_type": "code", "source_file": "tests/test_explain_engine.py", "source_location": "L65", "_callable": true}, {"id": "$graphify-root$_tests_test_explain_engine_make_disabled_graph_stub", "label": "make_disabled_graph_stub()", "file_type": "code", "source_file": "tests/test_explain_engine.py", "source_location": "L83", "_callable": true}, {"id": "$graphify-root$_tests_test_explain_engine_testcachekey", "label": "TestCacheKey", "file_type": "code", "source_file": "tests/test_explain_engine.py", "source_location": "L93", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_tests_test_explain_engine_testcachekey_test_same_inputs_same_key", "label": ".test_same_inputs_same_key()", "file_type": "code", "source_file": "tests/test_explain_engine.py", "source_location": "L94", "_callable": true}, {"id": "$graphify-root$_tests_test_explain_engine_testcachekey_test_different_score_different_key", "label": ".test_different_score_different_key()", "file_type": "code", "source_file": "tests/test_explain_engine.py", "source_location": "L100", "_callable": true}, {"id": "$graphify-root$_tests_test_explain_engine_testcachekey_test_empty_inputs", "label": ".test_empty_inputs()", "file_type": "code", "source_file": "tests/test_explain_engine.py", "source_location": "L104", "_callable": true}, {"id": "$graphify-root$_tests_test_explain_engine_testcachekey_test_different_day_index_different_key", "label": ".test_different_day_index_different_key()", "file_type": "code", "source_file": "tests/test_explain_engine.py", "source_location": "L108", "_callable": true}, {"id": "$graphify-root$_tests_test_explain_engine_testgraphcontext", "label": "TestGraphContext", "file_type": "code", "source_file": "tests/test_explain_engine.py", "source_location": "L120", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_tests_test_explain_engine_testgraphcontext_test_none_graph_returns_none", "label": ".test_none_graph_returns_none()", "file_type": "code", "source_file": "tests/test_explain_engine.py", "source_location": "L121", "_callable": true}, {"id": "$graphify-root$_tests_test_explain_engine_testgraphcontext_test_disabled_graph_returns_none", "label": ".test_disabled_graph_returns_none()", "file_type": "code", "source_file": "tests/test_explain_engine.py", "source_location": "L124", "_callable": true}, {"id": "$graphify-root$_tests_test_explain_engine_testgraphcontext_test_empty_poi_name_returns_none", "label": ".test_empty_poi_name_returns_none()", "file_type": "code", "source_file": "tests/test_explain_engine.py", "source_location": "L127", "_callable": true}, {"id": "$graphify-root$_tests_test_explain_engine_testgraphcontext_test_no_match_returns_none", "label": ".test_no_match_returns_none()", "file_type": "code", "source_file": "tests/test_explain_engine.py", "source_location": "L130", "_callable": true}, {"id": "$graphify-root$_tests_test_explain_engine_testgraphcontext_test_match_includes_region_and_category", "label": ".test_match_includes_region_and_category()", "file_type": "code", "source_file": "tests/test_explain_engine.py", "source_location": "L135", "_callable": true}, {"id": "$graphify-root$_tests_test_explain_engine_testgraphcontext_test_match_includes_nearby_alternatives", "label": ".test_match_includes_nearby_alternatives()", "file_type": "code", "source_file": "tests/test_explain_engine.py", "source_location": "L140", "_callable": true}, {"id": "$graphify-root$_tests_test_explain_engine_testgraphcontext_test_no_nearby_omits_key", "label": ".test_no_nearby_omits_key()", "file_type": "code", "source_file": "tests/test_explain_engine.py", "source_location": "L145", "_callable": true}, {"id": "$graphify-root$_tests_test_explain_engine_testbuilduserprompt", "label": "TestBuildUserPrompt", "file_type": "code", "source_file": "tests/test_explain_engine.py", "source_location": "L154", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_tests_test_explain_engine_testbuilduserprompt_test_contains_plan_info", "label": ".test_contains_plan_info()", "file_type": "code", "source_file": "tests/test_explain_engine.py", "source_location": "L155", "_callable": true}, {"id": "$graphify-root$_tests_test_explain_engine_testbuilduserprompt_test_hard_fail_in_prompt", "label": ".test_hard_fail_in_prompt()", "file_type": "code", "source_file": "tests/test_explain_engine.py", "source_location": "L160", "_callable": true}, {"id": "$graphify-root$_tests_test_explain_engine_testbuilduserprompt_test_warning_in_prompt", "label": ".test_warning_in_prompt()", "file_type": "code", "source_file": "tests/test_explain_engine.py", "source_location": "L165", "_callable": true}, {"id": "$graphify-root$_tests_test_explain_engine_testbuilduserprompt_test_penalty_in_prompt", "label": ".test_penalty_in_prompt()", "file_type": "code", "source_file": "tests/test_explain_engine.py", "source_location": "L169", "_callable": true}, {"id": "$graphify-root$_tests_test_explain_engine_testbuilduserprompt_test_scores_included_when_provided", "label": ".test_scores_included_when_provided()", "file_type": "code", "source_file": "tests/test_explain_engine.py", "source_location": "L173", "_callable": true}, {"id": "$graphify-root$_tests_test_explain_engine_testbuilduserprompt_test_overall_item_present", "label": ".test_overall_item_present()", "file_type": "code", "source_file": "tests/test_explain_engine.py", "source_location": "L177", "_callable": true}, {"id": "$graphify-root$_tests_test_explain_engine_testbuilduserprompt_test_graph_evidence_included_when_matched", "label": ".test_graph_evidence_included_when_matched()", "file_type": "code", "source_file": "tests/test_explain_engine.py", "source_location": "L182", "_callable": true}, {"id": "$graphify-root$_tests_test_explain_engine_testbuilduserprompt_test_no_graph_omits_evidence_key", "label": ".test_no_graph_omits_evidence_key()", "file_type": "code", "source_file": "tests/test_explain_engine.py", "source_location": "L190", "_callable": true}, {"id": "$graphify-root$_tests_test_explain_engine_testbuilduserprompt_test_day_index_included_for_hard_fail", "label": ".test_day_index_included_for_hard_fail()", "file_type": "code", "source_file": "tests/test_explain_engine.py", "source_location": "L194", "_callable": true}, {"id": "$graphify-root$_tests_test_explain_engine_testbuilduserprompt_test_day_index_included_for_warning", "label": ".test_day_index_included_for_warning()", "file_type": "code", "source_file": "tests/test_explain_engine.py", "source_location": "L200", "_callable": true}, {"id": "$graphify-root$_tests_test_explain_engine_testbuilduserprompt_test_no_day_index_omits_day_field", "label": ".test_no_day_index_omits_day_field()", "file_type": "code", "source_file": "tests/test_explain_engine.py", "source_location": "L209", "_callable": true}, {"id": "$graphify-root$_tests_test_explain_engine_testbuilduserprompt_test_warning_graph_evidence_uses_first_poi_name", "label": ".test_warning_graph_evidence_uses_first_poi_name()", "file_type": "code", "source_file": "tests/test_explain_engine.py", "source_location": "L213", "_callable": true}, {"id": "$graphify-root$_tests_test_explain_engine_testparsellmresponse", "label": "TestParseLlmResponse", "file_type": "code", "source_file": "tests/test_explain_engine.py", "source_location": "L225", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_tests_test_explain_engine_testparsellmresponse_test_parses_valid_json_array", "label": ".test_parses_valid_json_array()", "file_type": "code", "source_file": "tests/test_explain_engine.py", "source_location": "L226", "_callable": true}, {"id": "$graphify-root$_tests_test_explain_engine_testparsellmresponse_test_strips_code_block_wrapper", "label": ".test_strips_code_block_wrapper()", "file_type": "code", "source_file": "tests/test_explain_engine.py", "source_location": "L240", "_callable": true}, {"id": "$graphify-root$_tests_test_explain_engine_testparsellmresponse_test_multiple_items", "label": ".test_multiple_items()", "file_type": "code", "source_file": "tests/test_explain_engine.py", "source_location": "L246", "_callable": true}, {"id": "$graphify-root$_tests_test_explain_engine_testparsellmresponse_test_returns_explanation_items", "label": ".test_returns_explanation_items()", "file_type": "code", "source_file": "tests/test_explain_engine.py", "source_location": "L254", "_callable": true}, {"id": "$graphify-root$_tests_test_explain_engine_testparsellmresponse_test_day_index_echoed_back", "label": ".test_day_index_echoed_back()", "file_type": "code", "source_file": "tests/test_explain_engine.py", "source_location": "L262", "_callable": true}, {"id": "$graphify-root$_tests_test_explain_engine_testparsellmresponse_test_missing_day_index_defaults_to_none", "label": ".test_missing_day_index_defaults_to_none()", "file_type": "code", "source_file": "tests/test_explain_engine.py", "source_location": "L270", "_callable": true}, {"id": "$graphify-root$_tests_test_explain_engine_testfallback", "label": "TestFallback", "file_type": "code", "source_file": "tests/test_explain_engine.py", "source_location": "L283", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_tests_test_explain_engine_testfallback_test_hard_fail_becomes_critical", "label": ".test_hard_fail_becomes_critical()", "file_type": "code", "source_file": "tests/test_explain_engine.py", "source_location": "L284", "_callable": true}, {"id": "$graphify-root$_tests_test_explain_engine_testfallback_test_warning_becomes_warning", "label": ".test_warning_becomes_warning()", "file_type": "code", "source_file": "tests/test_explain_engine.py", "source_location": "L289", "_callable": true}, {"id": "$graphify-root$_tests_test_explain_engine_testfallback_test_large_penalty_is_critical", "label": ".test_large_penalty_is_critical()", "file_type": "code", "source_file": "tests/test_explain_engine.py", "source_location": "L294", "_callable": true}, {"id": "$graphify-root$_tests_test_explain_engine_testfallback_test_small_penalty_is_warning", "label": ".test_small_penalty_is_warning()", "file_type": "code", "source_file": "tests/test_explain_engine.py", "source_location": "L299", "_callable": true}, {"id": "$graphify-root$_tests_test_explain_engine_testfallback_test_always_has_overall_item", "label": ".test_always_has_overall_item()", "file_type": "code", "source_file": "tests/test_explain_engine.py", "source_location": "L304", "_callable": true}, {"id": "$graphify-root$_tests_test_explain_engine_testfallback_test_failed_overall_is_critical", "label": ".test_failed_overall_is_critical()", "file_type": "code", "source_file": "tests/test_explain_engine.py", "source_location": "L314", "_callable": true}, {"id": "$graphify-root$_tests_test_explain_engine_testfallback_test_passed_overall_is_ok", "label": ".test_passed_overall_is_ok()", "file_type": "code", "source_file": "tests/test_explain_engine.py", "source_location": "L319", "_callable": true}, {"id": "$graphify-root$_tests_test_explain_engine_testfallback_test_hard_fail_day_index_propagated_and_prefixed", "label": ".test_hard_fail_day_index_propagated_and_prefixed()", "file_type": "code", "source_file": "tests/test_explain_engine.py", "source_location": "L324", "_callable": true}, {"id": "$graphify-root$_tests_test_explain_engine_testfallback_test_warning_day_index_propagated_and_prefixed", "label": ".test_warning_day_index_propagated_and_prefixed()", "file_type": "code", "source_file": "tests/test_explain_engine.py", "source_location": "L332", "_callable": true}, {"id": "$graphify-root$_tests_test_explain_engine_testfallback_test_no_day_index_no_prefix", "label": ".test_no_day_index_no_prefix()", "file_type": "code", "source_file": "tests/test_explain_engine.py", "source_location": "L340", "_callable": true}, {"id": "$graphify-root$_tests_test_explain_engine_testexplainenginenollm", "label": "TestExplainEngineNoLLM", "file_type": "code", "source_file": "tests/test_explain_engine.py", "source_location": "L351", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_tests_test_explain_engine_testexplainenginenollm_setup_method", "label": ".setup_method()", "file_type": "code", "source_file": "tests/test_explain_engine.py", "source_location": "L352", "_callable": true}, {"id": "$graphify-root$_tests_test_explain_engine_testexplainenginenollm_test_is_available_false_without_key", "label": ".test_is_available_false_without_key()", "file_type": "code", "source_file": "tests/test_explain_engine.py", "source_location": "L356", "_callable": true}, {"id": "$graphify-root$_tests_test_explain_engine_testexplainenginenollm_test_generate_returns_list_of_explanation_items", "label": ".test_generate_returns_list_of_explanation_items()", "file_type": "code", "source_file": "tests/test_explain_engine.py", "source_location": "L359", "_callable": true}, {"id": "$graphify-root$_tests_test_explain_engine_testexplainenginenollm_test_no_issues_returns_ok_overall", "label": ".test_no_issues_returns_ok_overall()", "file_type": "code", "source_file": "tests/test_explain_engine.py", "source_location": "L372", "_callable": true}, {"id": "$graphify-root$_tests_test_explain_engine_testexplainenginenollm_test_hard_fail_present_in_results", "label": ".test_hard_fail_present_in_results()", "file_type": "code", "source_file": "tests/test_explain_engine.py", "source_location": "L381", "_callable": true}, {"id": "$graphify-root$_tests_test_explain_engine_testexplainenginenollm_test_warning_present_in_results", "label": ".test_warning_present_in_results()", "file_type": "code", "source_file": "tests/test_explain_engine.py", "source_location": "L389", "_callable": true}, {"id": "$graphify-root$_tests_test_explain_engine_testexplainenginenollm_test_penalty_present_in_results", "label": ".test_penalty_present_in_results()", "file_type": "code", "source_file": "tests/test_explain_engine.py", "source_location": "L397", "_callable": true}, {"id": "$graphify-root$_tests_test_explain_engine_testexplainenginemockllm", "label": "TestExplainEngineMockLLM", "file_type": "code", "source_file": "tests/test_explain_engine.py", "source_location": "L410", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_tests_test_explain_engine_testexplainenginemockllm_make_mock_client", "label": "._make_mock_client()", "file_type": "code", "source_file": "tests/test_explain_engine.py", "source_location": "L411", "_callable": true}, {"id": "$graphify-root$_tests_test_explain_engine_testexplainenginemockllm_test_llm_response_used_when_available", "label": ".test_llm_response_used_when_available()", "file_type": "code", "source_file": "tests/test_explain_engine.py", "source_location": "L421", "_callable": true}, {"id": "$graphify-root$_tests_test_explain_engine_testexplainenginemockllm_test_llm_failure_falls_back_gracefully", "label": ".test_llm_failure_falls_back_gracefully()", "file_type": "code", "source_file": "tests/test_explain_engine.py", "source_location": "L445", "_callable": true}, {"id": "$graphify-root$_tests_test_explain_engine_testexplainenginemockllm_test_cache_prevents_second_llm_call", "label": ".test_cache_prevents_second_llm_call()", "file_type": "code", "source_file": "tests/test_explain_engine.py", "source_location": "L456", "_callable": true}, {"id": "$graphify-root$_tests_test_explain_engine_testexplainenginemockllm_test_is_available_with_client", "label": ".test_is_available_with_client()", "file_type": "code", "source_file": "tests/test_explain_engine.py", "source_location": "L472", "_callable": true}, {"id": "$graphify-root$_tests_test_explain_engine_testexplainenginemockllm_test_graph_evidence_reaches_llm_prompt", "label": ".test_graph_evidence_reaches_llm_prompt()", "file_type": "code", "source_file": "tests/test_explain_engine.py", "source_location": "L477", "_callable": true}, {"id": "$graphify-root$_tests_test_explain_engine_testexplainenginegraphdefault", "label": "TestExplainEngineGraphDefault", "file_type": "code", "source_file": "tests/test_explain_engine.py", "source_location": "L496", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_tests_test_explain_engine_testexplainenginegraphdefault_test_default_graph_disabled_without_env", "label": ".test_default_graph_disabled_without_env()", "file_type": "code", "source_file": "tests/test_explain_engine.py", "source_location": "L497", "_callable": true}, {"id": "$graphify-root$_tests_test_explain_engine_testbuildalternatives", "label": "TestBuildAlternatives", "file_type": "code", "source_file": "tests/test_explain_engine.py", "source_location": "L507", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_tests_test_explain_engine_testbuildalternatives_test_no_hard_fails_returns_empty", "label": ".test_no_hard_fails_returns_empty()", "file_type": "code", "source_file": "tests/test_explain_engine.py", "source_location": "L508", "_callable": true}, {"id": "$graphify-root$_tests_test_explain_engine_testbuildalternatives_test_disabled_graph_returns_empty", "label": ".test_disabled_graph_returns_empty()", "file_type": "code", "source_file": "tests/test_explain_engine.py", "source_location": "L512", "_callable": true}, {"id": "$graphify-root$_tests_test_explain_engine_testbuildalternatives_test_hard_fail_without_poi_name_skipped", "label": ".test_hard_fail_without_poi_name_skipped()", "file_type": "code", "source_file": "tests/test_explain_engine.py", "source_location": "L518", "_callable": true}, {"id": "$graphify-root$_tests_test_explain_engine_testbuildalternatives_test_match_returns_alternatives_keyed_by_poi_name", "label": ".test_match_returns_alternatives_keyed_by_poi_name()", "file_type": "code", "source_file": "tests/test_explain_engine.py", "source_location": "L524", "_callable": true}, {"id": "$graphify-root$_tests_test_explain_engine_testbuildalternatives_test_no_nearby_omits_poi", "label": ".test_no_nearby_omits_poi()", "file_type": "code", "source_file": "tests/test_explain_engine.py", "source_location": "L532", "_callable": true}, {"id": "$graphify-root$_tests_test_explain_engine_testbuildalternatives_test_no_search_match_omits_poi", "label": ".test_no_search_match_omits_poi()", "file_type": "code", "source_file": "tests/test_explain_engine.py", "source_location": "L540", "_callable": true}, {"id": "$graphify-root$_tests_test_explain_engine_testbuildalternatives_test_duplicate_poi_name_only_looked_up_once", "label": ".test_duplicate_poi_name_only_looked_up_once()", "file_type": "code", "source_file": "tests/test_explain_engine.py", "source_location": "L548", "_callable": true}, {"id": "$graphify-root$_tests_test_explain_engine_rationale_1", "label": "Tests for ExplainEngine (TDD) \u2014 LLM\uc740 mock\uc73c\ub85c \ub300\uccb4.", "file_type": "rationale", "source_file": "tests/test_explain_engine.py", "source_location": "L1"}, {"id": "$graphify-root$_tests_test_explain_engine_rationale_66", "label": "GraphRetriever \uc2a4\ud141 \u2014 \uc2e4\uc81c Neo4j \uc5f0\uacb0 \uc5c6\uc774 \uc131\uc0b0\uc77c\ucd9c\ubd09 \uac80\uc0c9 \uacb0\uacfc\ub97c \ud749\ub0b4\ub0b8\ub2e4.", "file_type": "rationale", "source_file": "tests/test_explain_engine.py", "source_location": "L66"}], "edges": [{"source": "$graphify-root$_tests_test_explain_engine_py", "target": "json", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L4", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_py", "target": "unittest_mock", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L5", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L7", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_py", "target": "src_data_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L9", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_py", "target": "src_explain_explain_engine", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L20", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_py", "target": "$graphify-root$_tests_test_explain_engine_make_plan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L34", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_make_plan", "target": "itineraryplan", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L34", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_py", "target": "$graphify-root$_tests_test_explain_engine_make_scores", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L43", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_make_scores", "target": "scores", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L43", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_py", "target": "$graphify-root$_tests_test_explain_engine_make_hard_fail", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L47", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_make_hard_fail", "target": "hardfail", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L47", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_py", "target": "$graphify-root$_tests_test_explain_engine_make_warning", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L57", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_make_warning", "target": "warning", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L57", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_py", "target": "$graphify-root$_tests_test_explain_engine_make_graph_stub", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L65", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_py", "target": "$graphify-root$_tests_test_explain_engine_make_disabled_graph_stub", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L83", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_py", "target": "$graphify-root$_tests_test_explain_engine_testcachekey", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L93", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testcachekey", "target": "$graphify-root$_tests_test_explain_engine_testcachekey_test_same_inputs_same_key", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L94", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testcachekey", "target": "$graphify-root$_tests_test_explain_engine_testcachekey_test_different_score_different_key", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L100", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testcachekey", "target": "$graphify-root$_tests_test_explain_engine_testcachekey_test_empty_inputs", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L104", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testcachekey", "target": "$graphify-root$_tests_test_explain_engine_testcachekey_test_different_day_index_different_key", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L108", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_py", "target": "$graphify-root$_tests_test_explain_engine_testgraphcontext", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L120", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testgraphcontext", "target": "$graphify-root$_tests_test_explain_engine_testgraphcontext_test_none_graph_returns_none", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L121", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testgraphcontext", "target": "$graphify-root$_tests_test_explain_engine_testgraphcontext_test_disabled_graph_returns_none", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L124", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testgraphcontext", "target": "$graphify-root$_tests_test_explain_engine_testgraphcontext_test_empty_poi_name_returns_none", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L127", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testgraphcontext", "target": "$graphify-root$_tests_test_explain_engine_testgraphcontext_test_no_match_returns_none", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L130", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testgraphcontext", "target": "$graphify-root$_tests_test_explain_engine_testgraphcontext_test_match_includes_region_and_category", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L135", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testgraphcontext", "target": "$graphify-root$_tests_test_explain_engine_testgraphcontext_test_match_includes_nearby_alternatives", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L140", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testgraphcontext", "target": "$graphify-root$_tests_test_explain_engine_testgraphcontext_test_no_nearby_omits_key", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L145", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_py", "target": "$graphify-root$_tests_test_explain_engine_testbuilduserprompt", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L154", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testbuilduserprompt", "target": "$graphify-root$_tests_test_explain_engine_testbuilduserprompt_test_contains_plan_info", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L155", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testbuilduserprompt", "target": "$graphify-root$_tests_test_explain_engine_testbuilduserprompt_test_hard_fail_in_prompt", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L160", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testbuilduserprompt", "target": "$graphify-root$_tests_test_explain_engine_testbuilduserprompt_test_warning_in_prompt", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L165", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testbuilduserprompt", "target": "$graphify-root$_tests_test_explain_engine_testbuilduserprompt_test_penalty_in_prompt", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L169", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testbuilduserprompt", "target": "$graphify-root$_tests_test_explain_engine_testbuilduserprompt_test_scores_included_when_provided", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L173", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testbuilduserprompt", "target": "$graphify-root$_tests_test_explain_engine_testbuilduserprompt_test_overall_item_present", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L177", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testbuilduserprompt", "target": "$graphify-root$_tests_test_explain_engine_testbuilduserprompt_test_graph_evidence_included_when_matched", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L182", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testbuilduserprompt", "target": "$graphify-root$_tests_test_explain_engine_testbuilduserprompt_test_no_graph_omits_evidence_key", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L190", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testbuilduserprompt", "target": "$graphify-root$_tests_test_explain_engine_testbuilduserprompt_test_day_index_included_for_hard_fail", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L194", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testbuilduserprompt", "target": "$graphify-root$_tests_test_explain_engine_testbuilduserprompt_test_day_index_included_for_warning", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L200", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testbuilduserprompt", "target": "$graphify-root$_tests_test_explain_engine_testbuilduserprompt_test_no_day_index_omits_day_field", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L209", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testbuilduserprompt", "target": "$graphify-root$_tests_test_explain_engine_testbuilduserprompt_test_warning_graph_evidence_uses_first_poi_name", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L213", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_py", "target": "$graphify-root$_tests_test_explain_engine_testparsellmresponse", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L225", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testparsellmresponse", "target": "$graphify-root$_tests_test_explain_engine_testparsellmresponse_test_parses_valid_json_array", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L226", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testparsellmresponse", "target": "$graphify-root$_tests_test_explain_engine_testparsellmresponse_test_strips_code_block_wrapper", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L240", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testparsellmresponse", "target": "$graphify-root$_tests_test_explain_engine_testparsellmresponse_test_multiple_items", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L246", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testparsellmresponse", "target": "$graphify-root$_tests_test_explain_engine_testparsellmresponse_test_returns_explanation_items", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L254", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testparsellmresponse", "target": "$graphify-root$_tests_test_explain_engine_testparsellmresponse_test_day_index_echoed_back", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L262", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testparsellmresponse", "target": "$graphify-root$_tests_test_explain_engine_testparsellmresponse_test_missing_day_index_defaults_to_none", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L270", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_py", "target": "$graphify-root$_tests_test_explain_engine_testfallback", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L283", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testfallback", "target": "$graphify-root$_tests_test_explain_engine_testfallback_test_hard_fail_becomes_critical", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L284", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testfallback", "target": "$graphify-root$_tests_test_explain_engine_testfallback_test_warning_becomes_warning", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L289", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testfallback", "target": "$graphify-root$_tests_test_explain_engine_testfallback_test_large_penalty_is_critical", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L294", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testfallback", "target": "$graphify-root$_tests_test_explain_engine_testfallback_test_small_penalty_is_warning", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L299", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testfallback", "target": "$graphify-root$_tests_test_explain_engine_testfallback_test_always_has_overall_item", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L304", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testfallback", "target": "$graphify-root$_tests_test_explain_engine_testfallback_test_failed_overall_is_critical", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L314", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testfallback", "target": "$graphify-root$_tests_test_explain_engine_testfallback_test_passed_overall_is_ok", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L319", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testfallback", "target": "$graphify-root$_tests_test_explain_engine_testfallback_test_hard_fail_day_index_propagated_and_prefixed", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L324", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testfallback", "target": "$graphify-root$_tests_test_explain_engine_testfallback_test_warning_day_index_propagated_and_prefixed", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L332", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testfallback", "target": "$graphify-root$_tests_test_explain_engine_testfallback_test_no_day_index_no_prefix", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L340", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_py", "target": "$graphify-root$_tests_test_explain_engine_testexplainenginenollm", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L351", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testexplainenginenollm", "target": "$graphify-root$_tests_test_explain_engine_testexplainenginenollm_setup_method", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L352", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testexplainenginenollm", "target": "$graphify-root$_tests_test_explain_engine_testexplainenginenollm_test_is_available_false_without_key", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L356", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testexplainenginenollm", "target": "$graphify-root$_tests_test_explain_engine_testexplainenginenollm_test_generate_returns_list_of_explanation_items", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L359", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testexplainenginenollm", "target": "$graphify-root$_tests_test_explain_engine_testexplainenginenollm_test_no_issues_returns_ok_overall", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L372", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testexplainenginenollm", "target": "$graphify-root$_tests_test_explain_engine_testexplainenginenollm_test_hard_fail_present_in_results", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L381", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testexplainenginenollm", "target": "$graphify-root$_tests_test_explain_engine_testexplainenginenollm_test_warning_present_in_results", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L389", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testexplainenginenollm", "target": "$graphify-root$_tests_test_explain_engine_testexplainenginenollm_test_penalty_present_in_results", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L397", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_py", "target": "$graphify-root$_tests_test_explain_engine_testexplainenginemockllm", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L410", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testexplainenginemockllm", "target": "$graphify-root$_tests_test_explain_engine_testexplainenginemockllm_make_mock_client", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L411", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testexplainenginemockllm", "target": "$graphify-root$_tests_test_explain_engine_testexplainenginemockllm_test_llm_response_used_when_available", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L421", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testexplainenginemockllm", "target": "$graphify-root$_tests_test_explain_engine_testexplainenginemockllm_test_llm_failure_falls_back_gracefully", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L445", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testexplainenginemockllm", "target": "$graphify-root$_tests_test_explain_engine_testexplainenginemockllm_test_cache_prevents_second_llm_call", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L456", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testexplainenginemockllm", "target": "$graphify-root$_tests_test_explain_engine_testexplainenginemockllm_test_is_available_with_client", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L472", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testexplainenginemockllm", "target": "$graphify-root$_tests_test_explain_engine_testexplainenginemockllm_test_graph_evidence_reaches_llm_prompt", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L477", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_py", "target": "$graphify-root$_tests_test_explain_engine_testexplainenginegraphdefault", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L496", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testexplainenginegraphdefault", "target": "$graphify-root$_tests_test_explain_engine_testexplainenginegraphdefault_test_default_graph_disabled_without_env", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L497", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_py", "target": "$graphify-root$_tests_test_explain_engine_testbuildalternatives", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L507", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testbuildalternatives", "target": "$graphify-root$_tests_test_explain_engine_testbuildalternatives_test_no_hard_fails_returns_empty", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L508", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testbuildalternatives", "target": "$graphify-root$_tests_test_explain_engine_testbuildalternatives_test_disabled_graph_returns_empty", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L512", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testbuildalternatives", "target": "$graphify-root$_tests_test_explain_engine_testbuildalternatives_test_hard_fail_without_poi_name_skipped", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L518", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testbuildalternatives", "target": "$graphify-root$_tests_test_explain_engine_testbuildalternatives_test_match_returns_alternatives_keyed_by_poi_name", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L524", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testbuildalternatives", "target": "$graphify-root$_tests_test_explain_engine_testbuildalternatives_test_no_nearby_omits_poi", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L532", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testbuildalternatives", "target": "$graphify-root$_tests_test_explain_engine_testbuildalternatives_test_no_search_match_omits_poi", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L540", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testbuildalternatives", "target": "$graphify-root$_tests_test_explain_engine_testbuildalternatives_test_duplicate_poi_name_only_looked_up_once", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L548", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_make_plan", "target": "itineraryplan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L35", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_make_scores", "target": "scores", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L44", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_make_hard_fail", "target": "hardfail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L48", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_make_warning", "target": "warning", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L58", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testcachekey_test_same_inputs_same_key", "target": "$graphify-root$_tests_test_explain_engine_make_hard_fail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L95", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testcachekey_test_same_inputs_same_key", "target": "$graphify-root$_tests_test_explain_engine_make_warning", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L96", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testcachekey_test_different_score_different_key", "target": "$graphify-root$_tests_test_explain_engine_make_hard_fail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L101", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testcachekey_test_different_day_index_different_key", "target": "$graphify-root$_tests_test_explain_engine_make_hard_fail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L109", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testgraphcontext_test_disabled_graph_returns_none", "target": "$graphify-root$_tests_test_explain_engine_make_disabled_graph_stub", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L125", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testgraphcontext_test_empty_poi_name_returns_none", "target": "$graphify-root$_tests_test_explain_engine_make_graph_stub", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L128", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testgraphcontext_test_no_match_returns_none", "target": "$graphify-root$_tests_test_explain_engine_make_graph_stub", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L131", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testgraphcontext_test_match_includes_region_and_category", "target": "$graphify-root$_tests_test_explain_engine_make_graph_stub", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L136", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testgraphcontext_test_match_includes_nearby_alternatives", "target": "$graphify-root$_tests_test_explain_engine_make_graph_stub", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L141", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testgraphcontext_test_no_nearby_omits_key", "target": "$graphify-root$_tests_test_explain_engine_make_graph_stub", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L146", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testbuilduserprompt_test_contains_plan_info", "target": "$graphify-root$_tests_test_explain_engine_make_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L156", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testbuilduserprompt_test_hard_fail_in_prompt", "target": "$graphify-root$_tests_test_explain_engine_make_hard_fail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L161", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testbuilduserprompt_test_hard_fail_in_prompt", "target": "$graphify-root$_tests_test_explain_engine_make_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L161", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testbuilduserprompt_test_warning_in_prompt", "target": "$graphify-root$_tests_test_explain_engine_make_warning", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L166", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testbuilduserprompt_test_warning_in_prompt", "target": "$graphify-root$_tests_test_explain_engine_make_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L166", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testbuilduserprompt_test_penalty_in_prompt", "target": "$graphify-root$_tests_test_explain_engine_make_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L170", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testbuilduserprompt_test_scores_included_when_provided", "target": "$graphify-root$_tests_test_explain_engine_make_scores", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L174", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testbuilduserprompt_test_scores_included_when_provided", "target": "$graphify-root$_tests_test_explain_engine_make_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L174", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testbuilduserprompt_test_overall_item_present", "target": "$graphify-root$_tests_test_explain_engine_make_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L178", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testbuilduserprompt_test_graph_evidence_included_when_matched", "target": "$graphify-root$_tests_test_explain_engine_make_hard_fail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L184", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testbuilduserprompt_test_graph_evidence_included_when_matched", "target": "$graphify-root$_tests_test_explain_engine_make_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L184", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testbuilduserprompt_test_graph_evidence_included_when_matched", "target": "$graphify-root$_tests_test_explain_engine_make_graph_stub", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L185", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testbuilduserprompt_test_no_graph_omits_evidence_key", "target": "$graphify-root$_tests_test_explain_engine_make_hard_fail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L191", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testbuilduserprompt_test_no_graph_omits_evidence_key", "target": "$graphify-root$_tests_test_explain_engine_make_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L191", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testbuilduserprompt_test_day_index_included_for_hard_fail", "target": "$graphify-root$_tests_test_explain_engine_make_hard_fail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L195", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testbuilduserprompt_test_day_index_included_for_hard_fail", "target": "$graphify-root$_tests_test_explain_engine_make_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L197", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testbuilduserprompt_test_day_index_included_for_warning", "target": "$graphify-root$_tests_test_explain_engine_make_warning", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L201", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testbuilduserprompt_test_day_index_included_for_warning", "target": "$graphify-root$_tests_test_explain_engine_make_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L204", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testbuilduserprompt_test_no_day_index_omits_day_field", "target": "$graphify-root$_tests_test_explain_engine_make_hard_fail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L210", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testbuilduserprompt_test_no_day_index_omits_day_field", "target": "$graphify-root$_tests_test_explain_engine_make_warning", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L210", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testbuilduserprompt_test_no_day_index_omits_day_field", "target": "$graphify-root$_tests_test_explain_engine_make_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L210", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testbuilduserprompt_test_warning_graph_evidence_uses_first_poi_name", "target": "$graphify-root$_tests_test_explain_engine_make_warning", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L214", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testbuilduserprompt_test_warning_graph_evidence_uses_first_poi_name", "target": "$graphify-root$_tests_test_explain_engine_make_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L216", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testbuilduserprompt_test_warning_graph_evidence_uses_first_poi_name", "target": "$graphify-root$_tests_test_explain_engine_make_graph_stub", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L216", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testfallback_test_hard_fail_becomes_critical", "target": "$graphify-root$_tests_test_explain_engine_make_hard_fail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L285", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testfallback_test_warning_becomes_warning", "target": "$graphify-root$_tests_test_explain_engine_make_warning", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L290", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testfallback_test_always_has_overall_item", "target": "$graphify-root$_tests_test_explain_engine_make_hard_fail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L306", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testfallback_test_always_has_overall_item", "target": "$graphify-root$_tests_test_explain_engine_make_warning", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L307", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testfallback_test_failed_overall_is_critical", "target": "$graphify-root$_tests_test_explain_engine_make_hard_fail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L315", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testfallback_test_hard_fail_day_index_propagated_and_prefixed", "target": "$graphify-root$_tests_test_explain_engine_make_hard_fail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L325", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testfallback_test_warning_day_index_propagated_and_prefixed", "target": "$graphify-root$_tests_test_explain_engine_make_warning", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L333", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testfallback_test_no_day_index_no_prefix", "target": "$graphify-root$_tests_test_explain_engine_make_hard_fail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L341", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testexplainenginenollm_test_generate_returns_list_of_explanation_items", "target": "$graphify-root$_tests_test_explain_engine_make_hard_fail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L361", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testexplainenginenollm_test_generate_returns_list_of_explanation_items", "target": "$graphify-root$_tests_test_explain_engine_make_warning", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L362", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testexplainenginenollm_test_generate_returns_list_of_explanation_items", "target": "$graphify-root$_tests_test_explain_engine_make_scores", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L365", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testexplainenginenollm_test_generate_returns_list_of_explanation_items", "target": "$graphify-root$_tests_test_explain_engine_make_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L366", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testexplainenginenollm_test_no_issues_returns_ok_overall", "target": "$graphify-root$_tests_test_explain_engine_make_scores", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L375", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testexplainenginenollm_test_no_issues_returns_ok_overall", "target": "$graphify-root$_tests_test_explain_engine_make_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L375", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testexplainenginenollm_test_hard_fail_present_in_results", "target": "$graphify-root$_tests_test_explain_engine_make_hard_fail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L383", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testexplainenginenollm_test_hard_fail_present_in_results", "target": "$graphify-root$_tests_test_explain_engine_make_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L384", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testexplainenginenollm_test_warning_present_in_results", "target": "$graphify-root$_tests_test_explain_engine_make_warning", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L391", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testexplainenginenollm_test_warning_present_in_results", "target": "$graphify-root$_tests_test_explain_engine_make_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L392", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testexplainenginenollm_test_penalty_present_in_results", "target": "$graphify-root$_tests_test_explain_engine_make_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L400", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testexplainenginemockllm_test_llm_response_used_when_available", "target": "$graphify-root$_tests_test_explain_engine_testexplainenginemockllm_make_mock_client", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L437", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testexplainenginemockllm_test_llm_response_used_when_available", "target": "$graphify-root$_tests_test_explain_engine_make_hard_fail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L439", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testexplainenginemockllm_test_llm_response_used_when_available", "target": "$graphify-root$_tests_test_explain_engine_make_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L440", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testexplainenginemockllm_test_llm_failure_falls_back_gracefully", "target": "$graphify-root$_tests_test_explain_engine_make_hard_fail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L450", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testexplainenginemockllm_test_llm_failure_falls_back_gracefully", "target": "$graphify-root$_tests_test_explain_engine_make_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L451", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testexplainenginemockllm_test_cache_prevents_second_llm_call", "target": "$graphify-root$_tests_test_explain_engine_testexplainenginemockllm_make_mock_client", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L464", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testexplainenginemockllm_test_cache_prevents_second_llm_call", "target": "$graphify-root$_tests_test_explain_engine_make_hard_fail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L467", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testexplainenginemockllm_test_cache_prevents_second_llm_call", "target": "$graphify-root$_tests_test_explain_engine_make_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L468", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testexplainenginemockllm_test_graph_evidence_reaches_llm_prompt", "target": "$graphify-root$_tests_test_explain_engine_testexplainenginemockllm_make_mock_client", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L485", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testexplainenginemockllm_test_graph_evidence_reaches_llm_prompt", "target": "$graphify-root$_tests_test_explain_engine_make_graph_stub", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L486", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testexplainenginemockllm_test_graph_evidence_reaches_llm_prompt", "target": "$graphify-root$_tests_test_explain_engine_make_hard_fail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L488", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testexplainenginemockllm_test_graph_evidence_reaches_llm_prompt", "target": "$graphify-root$_tests_test_explain_engine_make_plan", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L489", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testbuildalternatives_test_no_hard_fails_returns_empty", "target": "$graphify-root$_tests_test_explain_engine_make_graph_stub", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L509", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testbuildalternatives_test_disabled_graph_returns_empty", "target": "$graphify-root$_tests_test_explain_engine_make_disabled_graph_stub", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L513", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testbuildalternatives_test_disabled_graph_returns_empty", "target": "$graphify-root$_tests_test_explain_engine_make_hard_fail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L514", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testbuildalternatives_test_hard_fail_without_poi_name_skipped", "target": "$graphify-root$_tests_test_explain_engine_make_graph_stub", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L519", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testbuildalternatives_test_hard_fail_without_poi_name_skipped", "target": "$graphify-root$_tests_test_explain_engine_make_hard_fail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L520", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testbuildalternatives_test_match_returns_alternatives_keyed_by_poi_name", "target": "$graphify-root$_tests_test_explain_engine_make_graph_stub", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L525", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testbuildalternatives_test_match_returns_alternatives_keyed_by_poi_name", "target": "$graphify-root$_tests_test_explain_engine_make_hard_fail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L526", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testbuildalternatives_test_no_nearby_omits_poi", "target": "$graphify-root$_tests_test_explain_engine_make_graph_stub", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L534", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testbuildalternatives_test_no_nearby_omits_poi", "target": "$graphify-root$_tests_test_explain_engine_make_hard_fail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L536", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testbuildalternatives_test_no_search_match_omits_poi", "target": "$graphify-root$_tests_test_explain_engine_make_graph_stub", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L541", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testbuildalternatives_test_no_search_match_omits_poi", "target": "$graphify-root$_tests_test_explain_engine_make_hard_fail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L544", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testbuildalternatives_test_duplicate_poi_name_only_looked_up_once", "target": "$graphify-root$_tests_test_explain_engine_make_graph_stub", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L549", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_testbuildalternatives_test_duplicate_poi_name_only_looked_up_once", "target": "$graphify-root$_tests_test_explain_engine_make_hard_fail", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L551", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_rationale_1", "target": "$graphify-root$_tests_test_explain_engine_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_tests_test_explain_engine_rationale_66", "target": "$graphify-root$_tests_test_explain_engine_make_graph_stub", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_explain_engine.py", "source_location": "L66", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_tests_test_explain_engine_make_plan", "callee": "DayPlan", "is_member_call": false, "source_file": "tests/test_explain_engine.py", "source_location": "L36", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_make_plan", "callee": "PlaceInput", "is_member_call": false, "source_file": "tests/test_explain_engine.py", "source_location": "L36", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_make_plan", "callee": "PlaceInput", "is_member_call": false, "source_file": "tests/test_explain_engine.py", "source_location": "L36", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_make_graph_stub", "callee": "MagicMock", "is_member_call": false, "source_file": "tests/test_explain_engine.py", "source_location": "L67", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_make_graph_stub", "callee": "PlaceEvidence", "is_member_call": false, "source_file": "tests/test_explain_engine.py", "source_location": "L70", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_make_graph_stub", "callee": "AlternativePOI", "is_member_call": false, "source_file": "tests/test_explain_engine.py", "source_location": "L77", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_make_disabled_graph_stub", "callee": "MagicMock", "is_member_call": false, "source_file": "tests/test_explain_engine.py", "source_location": "L84", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testcachekey_test_same_inputs_same_key", "callee": "_cache_key", "is_member_call": false, "source_file": "tests/test_explain_engine.py", "source_location": "L98", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testcachekey_test_same_inputs_same_key", "callee": "_cache_key", "is_member_call": false, "source_file": "tests/test_explain_engine.py", "source_location": "L98", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testcachekey_test_different_score_different_key", "callee": "_cache_key", "is_member_call": false, "source_file": "tests/test_explain_engine.py", "source_location": "L102", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testcachekey_test_different_score_different_key", "callee": "_cache_key", "is_member_call": false, "source_file": "tests/test_explain_engine.py", "source_location": "L102", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testcachekey_test_empty_inputs", "callee": "_cache_key", "is_member_call": false, "source_file": "tests/test_explain_engine.py", "source_location": "L105", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testcachekey_test_empty_inputs", "callee": "str", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "tests/test_explain_engine.py", "source_location": "L106"}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testcachekey_test_different_day_index_different_key", "callee": "_cache_key", "is_member_call": false, "source_file": "tests/test_explain_engine.py", "source_location": "L113", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testcachekey_test_different_day_index_different_key", "callee": "_cache_key", "is_member_call": false, "source_file": "tests/test_explain_engine.py", "source_location": "L113", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testgraphcontext_test_none_graph_returns_none", "callee": "_graph_context", "is_member_call": false, "source_file": "tests/test_explain_engine.py", "source_location": "L122", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testgraphcontext_test_disabled_graph_returns_none", "callee": "_graph_context", "is_member_call": false, "source_file": "tests/test_explain_engine.py", "source_location": "L125", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testgraphcontext_test_empty_poi_name_returns_none", "callee": "_graph_context", "is_member_call": false, "source_file": "tests/test_explain_engine.py", "source_location": "L128", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testgraphcontext_test_no_match_returns_none", "callee": "_graph_context", "is_member_call": false, "source_file": "tests/test_explain_engine.py", "source_location": "L133", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testgraphcontext_test_match_includes_region_and_category", "callee": "_graph_context", "is_member_call": false, "source_file": "tests/test_explain_engine.py", "source_location": "L136", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testgraphcontext_test_match_includes_nearby_alternatives", "callee": "_graph_context", "is_member_call": false, "source_file": "tests/test_explain_engine.py", "source_location": "L141", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testgraphcontext_test_no_nearby_omits_key", "callee": "_graph_context", "is_member_call": false, "source_file": "tests/test_explain_engine.py", "source_location": "L146", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testbuilduserprompt_test_contains_plan_info", "callee": "_build_user_prompt", "is_member_call": false, "source_file": "tests/test_explain_engine.py", "source_location": "L156", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testbuilduserprompt_test_hard_fail_in_prompt", "callee": "_build_user_prompt", "is_member_call": false, "source_file": "tests/test_explain_engine.py", "source_location": "L161", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testbuilduserprompt_test_warning_in_prompt", "callee": "_build_user_prompt", "is_member_call": false, "source_file": "tests/test_explain_engine.py", "source_location": "L166", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testbuilduserprompt_test_penalty_in_prompt", "callee": "_build_user_prompt", "is_member_call": false, "source_file": "tests/test_explain_engine.py", "source_location": "L170", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testbuilduserprompt_test_scores_included_when_provided", "callee": "_build_user_prompt", "is_member_call": false, "source_file": "tests/test_explain_engine.py", "source_location": "L174", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testbuilduserprompt_test_scores_included_when_provided", "callee": "lower", "is_member_call": true, "source_file": "tests/test_explain_engine.py", "source_location": "L175", "receiver": "prompt"}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testbuilduserprompt_test_overall_item_present", "callee": "_build_user_prompt", "is_member_call": false, "source_file": "tests/test_explain_engine.py", "source_location": "L178", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testbuilduserprompt_test_graph_evidence_included_when_matched", "callee": "_build_user_prompt", "is_member_call": false, "source_file": "tests/test_explain_engine.py", "source_location": "L183", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testbuilduserprompt_test_no_graph_omits_evidence_key", "callee": "_build_user_prompt", "is_member_call": false, "source_file": "tests/test_explain_engine.py", "source_location": "L191", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testbuilduserprompt_test_day_index_included_for_hard_fail", "callee": "_build_user_prompt", "is_member_call": false, "source_file": "tests/test_explain_engine.py", "source_location": "L197", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testbuilduserprompt_test_day_index_included_for_warning", "callee": "_build_user_prompt", "is_member_call": false, "source_file": "tests/test_explain_engine.py", "source_location": "L204", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testbuilduserprompt_test_no_day_index_omits_day_field", "callee": "_build_user_prompt", "is_member_call": false, "source_file": "tests/test_explain_engine.py", "source_location": "L210", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testbuilduserprompt_test_no_day_index_omits_day_field", "callee": "split", "is_member_call": true, "source_file": "tests/test_explain_engine.py", "source_location": "L211", "receiver": "prompt"}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testbuilduserprompt_test_warning_graph_evidence_uses_first_poi_name", "callee": "_build_user_prompt", "is_member_call": false, "source_file": "tests/test_explain_engine.py", "source_location": "L216", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testparsellmresponse_test_parses_valid_json_array", "callee": "dumps", "is_member_call": true, "source_file": "tests/test_explain_engine.py", "source_location": "L227", "receiver": "json"}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testparsellmresponse_test_parses_valid_json_array", "callee": "_parse_llm_response", "is_member_call": false, "source_file": "tests/test_explain_engine.py", "source_location": "L235", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testparsellmresponse_test_strips_code_block_wrapper", "callee": "_parse_llm_response", "is_member_call": false, "source_file": "tests/test_explain_engine.py", "source_location": "L242", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testparsellmresponse_test_multiple_items", "callee": "dumps", "is_member_call": true, "source_file": "tests/test_explain_engine.py", "source_location": "L247", "receiver": "json"}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testparsellmresponse_test_multiple_items", "callee": "_parse_llm_response", "is_member_call": false, "source_file": "tests/test_explain_engine.py", "source_location": "L251", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testparsellmresponse_test_returns_explanation_items", "callee": "dumps", "is_member_call": true, "source_file": "tests/test_explain_engine.py", "source_location": "L255", "receiver": "json"}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testparsellmresponse_test_returns_explanation_items", "callee": "_parse_llm_response", "is_member_call": false, "source_file": "tests/test_explain_engine.py", "source_location": "L259", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testparsellmresponse_test_returns_explanation_items", "callee": "ExplanationItem", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "tests/test_explain_engine.py", "source_location": "L260"}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testparsellmresponse_test_day_index_echoed_back", "callee": "dumps", "is_member_call": true, "source_file": "tests/test_explain_engine.py", "source_location": "L263", "receiver": "json"}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testparsellmresponse_test_day_index_echoed_back", "callee": "_parse_llm_response", "is_member_call": false, "source_file": "tests/test_explain_engine.py", "source_location": "L267", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testparsellmresponse_test_missing_day_index_defaults_to_none", "callee": "dumps", "is_member_call": true, "source_file": "tests/test_explain_engine.py", "source_location": "L271", "receiver": "json"}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testparsellmresponse_test_missing_day_index_defaults_to_none", "callee": "_parse_llm_response", "is_member_call": false, "source_file": "tests/test_explain_engine.py", "source_location": "L275", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testfallback_test_hard_fail_becomes_critical", "callee": "_fallback", "is_member_call": false, "source_file": "tests/test_explain_engine.py", "source_location": "L285", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testfallback_test_warning_becomes_warning", "callee": "_fallback", "is_member_call": false, "source_file": "tests/test_explain_engine.py", "source_location": "L290", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testfallback_test_large_penalty_is_critical", "callee": "_fallback", "is_member_call": false, "source_file": "tests/test_explain_engine.py", "source_location": "L295", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testfallback_test_small_penalty_is_warning", "callee": "_fallback", "is_member_call": false, "source_file": "tests/test_explain_engine.py", "source_location": "L300", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testfallback_test_always_has_overall_item", "callee": "_fallback", "is_member_call": false, "source_file": "tests/test_explain_engine.py", "source_location": "L310", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testfallback_test_failed_overall_is_critical", "callee": "_fallback", "is_member_call": false, "source_file": "tests/test_explain_engine.py", "source_location": "L315", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testfallback_test_passed_overall_is_ok", "callee": "_fallback", "is_member_call": false, "source_file": "tests/test_explain_engine.py", "source_location": "L320", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testfallback_test_hard_fail_day_index_propagated_and_prefixed", "callee": "_fallback", "is_member_call": false, "source_file": "tests/test_explain_engine.py", "source_location": "L327", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testfallback_test_hard_fail_day_index_propagated_and_prefixed", "callee": "startswith", "is_member_call": true, "source_file": "tests/test_explain_engine.py", "source_location": "L330", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testfallback_test_warning_day_index_propagated_and_prefixed", "callee": "_fallback", "is_member_call": false, "source_file": "tests/test_explain_engine.py", "source_location": "L335", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testfallback_test_warning_day_index_propagated_and_prefixed", "callee": "startswith", "is_member_call": true, "source_file": "tests/test_explain_engine.py", "source_location": "L338", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testfallback_test_no_day_index_no_prefix", "callee": "_fallback", "is_member_call": false, "source_file": "tests/test_explain_engine.py", "source_location": "L341", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testfallback_test_no_day_index_no_prefix", "callee": "startswith", "is_member_call": true, "source_file": "tests/test_explain_engine.py", "source_location": "L344", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testexplainenginenollm_setup_method", "callee": "ExplainEngine", "is_member_call": false, "source_file": "tests/test_explain_engine.py", "source_location": "L354", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testexplainenginenollm_test_is_available_false_without_key", "callee": "is_available", "is_member_call": true, "source_file": "tests/test_explain_engine.py", "source_location": "L357", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testexplainenginenollm_test_generate_returns_list_of_explanation_items", "callee": "generate", "is_member_call": true, "source_file": "tests/test_explain_engine.py", "source_location": "L360", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testexplainenginenollm_test_generate_returns_list_of_explanation_items", "callee": "list", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "tests/test_explain_engine.py", "source_location": "L369"}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testexplainenginenollm_test_generate_returns_list_of_explanation_items", "callee": "ExplanationItem", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "tests/test_explain_engine.py", "source_location": "L370"}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testexplainenginenollm_test_no_issues_returns_ok_overall", "callee": "generate", "is_member_call": true, "source_file": "tests/test_explain_engine.py", "source_location": "L373", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testexplainenginenollm_test_hard_fail_present_in_results", "callee": "generate", "is_member_call": true, "source_file": "tests/test_explain_engine.py", "source_location": "L382", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testexplainenginenollm_test_warning_present_in_results", "callee": "generate", "is_member_call": true, "source_file": "tests/test_explain_engine.py", "source_location": "L390", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testexplainenginenollm_test_penalty_present_in_results", "callee": "generate", "is_member_call": true, "source_file": "tests/test_explain_engine.py", "source_location": "L398", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testexplainenginemockllm_make_mock_client", "callee": "dumps", "is_member_call": true, "source_file": "tests/test_explain_engine.py", "source_location": "L412", "receiver": "json"}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testexplainenginemockllm_make_mock_client", "callee": "MagicMock", "is_member_call": false, "source_file": "tests/test_explain_engine.py", "source_location": "L413", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testexplainenginemockllm_make_mock_client", "callee": "MagicMock", "is_member_call": false, "source_file": "tests/test_explain_engine.py", "source_location": "L415", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testexplainenginemockllm_make_mock_client", "callee": "MagicMock", "is_member_call": false, "source_file": "tests/test_explain_engine.py", "source_location": "L417", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testexplainenginemockllm_test_llm_response_used_when_available", "callee": "ExplainEngine", "is_member_call": false, "source_file": "tests/test_explain_engine.py", "source_location": "L437", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testexplainenginemockllm_test_llm_response_used_when_available", "callee": "generate", "is_member_call": true, "source_file": "tests/test_explain_engine.py", "source_location": "L438", "receiver": "engine"}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testexplainenginemockllm_test_llm_failure_falls_back_gracefully", "callee": "MagicMock", "is_member_call": false, "source_file": "tests/test_explain_engine.py", "source_location": "L446", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testexplainenginemockllm_test_llm_failure_falls_back_gracefully", "callee": "Exception", "is_member_call": false, "source_file": "tests/test_explain_engine.py", "source_location": "L447", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testexplainenginemockllm_test_llm_failure_falls_back_gracefully", "callee": "ExplainEngine", "is_member_call": false, "source_file": "tests/test_explain_engine.py", "source_location": "L448", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testexplainenginemockllm_test_llm_failure_falls_back_gracefully", "callee": "generate", "is_member_call": true, "source_file": "tests/test_explain_engine.py", "source_location": "L449", "receiver": "engine"}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testexplainenginemockllm_test_llm_failure_falls_back_gracefully", "callee": "ExplanationItem", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "tests/test_explain_engine.py", "source_location": "L454"}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testexplainenginemockllm_test_cache_prevents_second_llm_call", "callee": "clear", "is_member_call": true, "source_file": "tests/test_explain_engine.py", "source_location": "L458", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testexplainenginemockllm_test_cache_prevents_second_llm_call", "callee": "ExplainEngine", "is_member_call": false, "source_file": "tests/test_explain_engine.py", "source_location": "L465", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testexplainenginemockllm_test_cache_prevents_second_llm_call", "callee": "generate", "is_member_call": true, "source_file": "tests/test_explain_engine.py", "source_location": "L468", "receiver": "engine"}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testexplainenginemockllm_test_cache_prevents_second_llm_call", "callee": "generate", "is_member_call": true, "source_file": "tests/test_explain_engine.py", "source_location": "L469", "receiver": "engine"}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testexplainenginemockllm_test_is_available_with_client", "callee": "MagicMock", "is_member_call": false, "source_file": "tests/test_explain_engine.py", "source_location": "L473", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testexplainenginemockllm_test_is_available_with_client", "callee": "ExplainEngine", "is_member_call": false, "source_file": "tests/test_explain_engine.py", "source_location": "L474", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testexplainenginemockllm_test_is_available_with_client", "callee": "is_available", "is_member_call": true, "source_file": "tests/test_explain_engine.py", "source_location": "L475", "receiver": "engine"}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testexplainenginemockllm_test_graph_evidence_reaches_llm_prompt", "callee": "clear", "is_member_call": true, "source_file": "tests/test_explain_engine.py", "source_location": "L479", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testexplainenginemockllm_test_graph_evidence_reaches_llm_prompt", "callee": "ExplainEngine", "is_member_call": false, "source_file": "tests/test_explain_engine.py", "source_location": "L486", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testexplainenginemockllm_test_graph_evidence_reaches_llm_prompt", "callee": "generate", "is_member_call": true, "source_file": "tests/test_explain_engine.py", "source_location": "L487", "receiver": "engine"}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testexplainenginegraphdefault_test_default_graph_disabled_without_env", "callee": "delenv", "is_member_call": true, "source_file": "tests/test_explain_engine.py", "source_location": "L498", "receiver": "monkeypatch"}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testexplainenginegraphdefault_test_default_graph_disabled_without_env", "callee": "ExplainEngine", "is_member_call": false, "source_file": "tests/test_explain_engine.py", "source_location": "L499", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testbuildalternatives_test_no_hard_fails_returns_empty", "callee": "ExplainEngine", "is_member_call": false, "source_file": "tests/test_explain_engine.py", "source_location": "L509", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testbuildalternatives_test_no_hard_fails_returns_empty", "callee": "build_alternatives", "is_member_call": true, "source_file": "tests/test_explain_engine.py", "source_location": "L510", "receiver": "engine"}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testbuildalternatives_test_disabled_graph_returns_empty", "callee": "ExplainEngine", "is_member_call": false, "source_file": "tests/test_explain_engine.py", "source_location": "L513", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testbuildalternatives_test_disabled_graph_returns_empty", "callee": "build_alternatives", "is_member_call": true, "source_file": "tests/test_explain_engine.py", "source_location": "L516", "receiver": "engine"}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testbuildalternatives_test_hard_fail_without_poi_name_skipped", "callee": "ExplainEngine", "is_member_call": false, "source_file": "tests/test_explain_engine.py", "source_location": "L519", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testbuildalternatives_test_hard_fail_without_poi_name_skipped", "callee": "build_alternatives", "is_member_call": true, "source_file": "tests/test_explain_engine.py", "source_location": "L522", "receiver": "engine"}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testbuildalternatives_test_match_returns_alternatives_keyed_by_poi_name", "callee": "ExplainEngine", "is_member_call": false, "source_file": "tests/test_explain_engine.py", "source_location": "L525", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testbuildalternatives_test_match_returns_alternatives_keyed_by_poi_name", "callee": "build_alternatives", "is_member_call": true, "source_file": "tests/test_explain_engine.py", "source_location": "L528", "receiver": "engine"}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testbuildalternatives_test_no_nearby_omits_poi", "callee": "ExplainEngine", "is_member_call": false, "source_file": "tests/test_explain_engine.py", "source_location": "L533", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testbuildalternatives_test_no_nearby_omits_poi", "callee": "build_alternatives", "is_member_call": true, "source_file": "tests/test_explain_engine.py", "source_location": "L538", "receiver": "engine"}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testbuildalternatives_test_no_search_match_omits_poi", "callee": "ExplainEngine", "is_member_call": false, "source_file": "tests/test_explain_engine.py", "source_location": "L543", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testbuildalternatives_test_no_search_match_omits_poi", "callee": "build_alternatives", "is_member_call": true, "source_file": "tests/test_explain_engine.py", "source_location": "L546", "receiver": "engine"}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testbuildalternatives_test_duplicate_poi_name_only_looked_up_once", "callee": "ExplainEngine", "is_member_call": false, "source_file": "tests/test_explain_engine.py", "source_location": "L550", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_explain_engine_testbuildalternatives_test_duplicate_poi_name_only_looked_up_once", "callee": "build_alternatives", "is_member_call": true, "source_file": "tests/test_explain_engine.py", "source_location": "L555", "receiver": "engine"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/c6a1439abb298710266bf3f026fda27743a6aa0606c227edf47b45d4b4dbbe5b.json b/graphify-out/cache/ast/v0.9.31/c6a1439abb298710266bf3f026fda27743a6aa0606c227edf47b45d4b4dbbe5b.json new file mode 100644 index 0000000..6078158 --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/c6a1439abb298710266bf3f026fda27743a6aa0606c227edf47b45d4b4dbbe5b.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_src_data_restaurant_catalog_py", "label": "restaurant_catalog.py", "file_type": "code", "source_file": "src/data/restaurant_catalog.py", "source_location": "L1"}, {"id": "$graphify-root$_src_data_restaurant_catalog_normalize", "label": "_normalize()", "file_type": "code", "source_file": "src/data/restaurant_catalog.py", "source_location": "L20", "_callable": true}, {"id": "$graphify-root$_src_data_restaurant_catalog_restaurantcatalog", "label": "RestaurantCatalog", "file_type": "code", "source_file": "src/data/restaurant_catalog.py", "source_location": "L24", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_src_data_restaurant_catalog_restaurantcatalog_init", "label": ".__init__()", "file_type": "code", "source_file": "src/data/restaurant_catalog.py", "source_location": "L27", "_callable": true}, {"id": "$graphify-root$_src_data_restaurant_catalog_restaurantcatalog_from_csv", "label": ".from_csv()", "file_type": "code", "source_file": "src/data/restaurant_catalog.py", "source_location": "L31", "_callable": true}, {"id": "path", "label": "Path", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/data/restaurant_catalog.py"}, {"id": "$graphify-root$_src_data_restaurant_catalog_restaurantcatalog_from_default", "label": ".from_default()", "file_type": "code", "source_file": "src/data/restaurant_catalog.py", "source_location": "L50", "_callable": true}, {"id": "$graphify-root$_src_data_restaurant_catalog_restaurantcatalog_nearby", "label": ".nearby()", "file_type": "code", "source_file": "src/data/restaurant_catalog.py", "source_location": "L53", "_callable": true}, {"id": "alternativepoi", "label": "AlternativePOI", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/data/restaurant_catalog.py"}, {"id": "$graphify-root$_src_data_restaurant_catalog_rationale_1", "label": "\uc81c\uc8fc \uc74c\uc2dd\uc810 \uadfc\uc811 \uac80\uc0c9 \uce74\ud0c8\ub85c\uadf8 \u2014 data/jeju_places.csv \uae30\ubc18. RepairEngine\uc758 Outlier Deletion \uc81c\uc548\u2026", "file_type": "rationale", "source_file": "src/data/restaurant_catalog.py", "source_location": "L1"}, {"id": "$graphify-root$_src_data_restaurant_catalog_rationale_25", "label": "\uce74\ud14c\uace0\ub9ac=\uc74c\uc2dd\uc810(FD) \uc7a5\uc18c\uc758 \uc88c\ud45c \uadfc\uc811 \uac80\uc0c9.", "file_type": "rationale", "source_file": "src/data/restaurant_catalog.py", "source_location": "L25"}, {"id": "$graphify-root$_src_data_restaurant_catalog_rationale_61", "label": "\ubc18\uacbd \ub0b4 \uac00\uc7a5 \uac00\uae4c\uc6b4 \uc74c\uc2dd\uc810 \ubaa9\ub85d (\uac70\ub9ac\uc21c, exclude_name \uc790\uae30 \uc790\uc2e0 \uc81c\uc678).", "file_type": "rationale", "source_file": "src/data/restaurant_catalog.py", "source_location": "L61"}], "edges": [{"source": "$graphify-root$_src_data_restaurant_catalog_py", "target": "csv", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/data/restaurant_catalog.py", "source_location": "L11", "weight": 1.0}, {"source": "$graphify-root$_src_data_restaurant_catalog_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/data/restaurant_catalog.py", "source_location": "L12", "weight": 1.0}, {"source": "$graphify-root$_src_data_restaurant_catalog_py", "target": "src_data_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/data/restaurant_catalog.py", "source_location": "L14", "weight": 1.0}, {"source": "$graphify-root$_src_data_restaurant_catalog_py", "target": "src_utils_geo", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/data/restaurant_catalog.py", "source_location": "L15", "weight": 1.0}, {"source": "$graphify-root$_src_data_restaurant_catalog_py", "target": "$graphify-root$_src_data_restaurant_catalog_normalize", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/data/restaurant_catalog.py", "source_location": "L20", "weight": 1.0}, {"source": "$graphify-root$_src_data_restaurant_catalog_py", "target": "$graphify-root$_src_data_restaurant_catalog_restaurantcatalog", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/data/restaurant_catalog.py", "source_location": "L24", "weight": 1.0}, {"source": "$graphify-root$_src_data_restaurant_catalog_restaurantcatalog", "target": "$graphify-root$_src_data_restaurant_catalog_restaurantcatalog_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/data/restaurant_catalog.py", "source_location": "L27", "weight": 1.0}, {"source": "$graphify-root$_src_data_restaurant_catalog_restaurantcatalog", "target": "$graphify-root$_src_data_restaurant_catalog_restaurantcatalog_from_csv", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/data/restaurant_catalog.py", "source_location": "L31", "weight": 1.0}, {"source": "$graphify-root$_src_data_restaurant_catalog_restaurantcatalog_from_csv", "target": "path", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/data/restaurant_catalog.py", "source_location": "L31", "weight": 1.0}, {"source": "$graphify-root$_src_data_restaurant_catalog_restaurantcatalog_from_csv", "target": "$graphify-root$_src_data_restaurant_catalog_restaurantcatalog", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "src/data/restaurant_catalog.py", "source_location": "L31", "weight": 1.0}, {"source": "$graphify-root$_src_data_restaurant_catalog_restaurantcatalog", "target": "$graphify-root$_src_data_restaurant_catalog_restaurantcatalog_from_default", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/data/restaurant_catalog.py", "source_location": "L50", "weight": 1.0}, {"source": "$graphify-root$_src_data_restaurant_catalog_restaurantcatalog_from_default", "target": "$graphify-root$_src_data_restaurant_catalog_restaurantcatalog", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "src/data/restaurant_catalog.py", "source_location": "L50", "weight": 1.0}, {"source": "$graphify-root$_src_data_restaurant_catalog_restaurantcatalog", "target": "$graphify-root$_src_data_restaurant_catalog_restaurantcatalog_nearby", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/data/restaurant_catalog.py", "source_location": "L53", "weight": 1.0}, {"source": "$graphify-root$_src_data_restaurant_catalog_restaurantcatalog_nearby", "target": "alternativepoi", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/data/restaurant_catalog.py", "source_location": "L53", "weight": 1.0}, {"source": "$graphify-root$_src_data_restaurant_catalog_restaurantcatalog_from_default", "target": "$graphify-root$_src_data_restaurant_catalog_restaurantcatalog_from_csv", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/data/restaurant_catalog.py", "source_location": "L51", "weight": 1.0}, {"source": "$graphify-root$_src_data_restaurant_catalog_restaurantcatalog_from_default", "target": "path", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/data/restaurant_catalog.py", "source_location": "L51", "weight": 1.0}, {"source": "$graphify-root$_src_data_restaurant_catalog_restaurantcatalog_nearby", "target": "$graphify-root$_src_data_restaurant_catalog_normalize", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/data/restaurant_catalog.py", "source_location": "L62", "weight": 1.0}, {"source": "$graphify-root$_src_data_restaurant_catalog_restaurantcatalog_nearby", "target": "alternativepoi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/data/restaurant_catalog.py", "source_location": "L72", "weight": 1.0}, {"source": "$graphify-root$_src_data_restaurant_catalog_rationale_1", "target": "$graphify-root$_src_data_restaurant_catalog_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/data/restaurant_catalog.py", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_src_data_restaurant_catalog_rationale_25", "target": "$graphify-root$_src_data_restaurant_catalog_restaurantcatalog", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/data/restaurant_catalog.py", "source_location": "L25", "weight": 1.0}, {"source": "$graphify-root$_src_data_restaurant_catalog_rationale_61", "target": "$graphify-root$_src_data_restaurant_catalog_restaurantcatalog_nearby", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/data/restaurant_catalog.py", "source_location": "L61", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_src_data_restaurant_catalog_normalize", "callee": "lower", "is_member_call": true, "source_file": "src/data/restaurant_catalog.py", "source_location": "L21", "receiver": null}, {"caller_nid": "$graphify-root$_src_data_restaurant_catalog_normalize", "callee": "strip", "is_member_call": true, "source_file": "src/data/restaurant_catalog.py", "source_location": "L21", "receiver": "name"}, {"caller_nid": "$graphify-root$_src_data_restaurant_catalog_restaurantcatalog_from_csv", "callee": "exists", "is_member_call": true, "source_file": "src/data/restaurant_catalog.py", "source_location": "L33", "receiver": "path"}, {"caller_nid": "$graphify-root$_src_data_restaurant_catalog_restaurantcatalog_from_csv", "callee": "cls", "is_member_call": false, "source_file": "src/data/restaurant_catalog.py", "source_location": "L34", "receiver": null}, {"caller_nid": "$graphify-root$_src_data_restaurant_catalog_restaurantcatalog_from_csv", "callee": "DictReader", "is_member_call": true, "source_file": "src/data/restaurant_catalog.py", "source_location": "L36", "receiver": "csv"}, {"caller_nid": "$graphify-root$_src_data_restaurant_catalog_restaurantcatalog_from_csv", "callee": "f", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "src/data/restaurant_catalog.py", "source_location": "L36"}, {"caller_nid": "$graphify-root$_src_data_restaurant_catalog_restaurantcatalog_from_csv", "callee": "get", "is_member_call": true, "source_file": "src/data/restaurant_catalog.py", "source_location": "L37", "receiver": "row"}, {"caller_nid": "$graphify-root$_src_data_restaurant_catalog_restaurantcatalog_from_csv", "callee": "strip", "is_member_call": true, "source_file": "src/data/restaurant_catalog.py", "source_location": "L39", "receiver": null}, {"caller_nid": "$graphify-root$_src_data_restaurant_catalog_restaurantcatalog_from_csv", "callee": "get", "is_member_call": true, "source_file": "src/data/restaurant_catalog.py", "source_location": "L39", "receiver": "row"}, {"caller_nid": "$graphify-root$_src_data_restaurant_catalog_restaurantcatalog_from_csv", "callee": "ValueError", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "src/data/restaurant_catalog.py", "source_location": "L44"}, {"caller_nid": "$graphify-root$_src_data_restaurant_catalog_restaurantcatalog_from_csv", "callee": "TypeError", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "src/data/restaurant_catalog.py", "source_location": "L44"}, {"caller_nid": "$graphify-root$_src_data_restaurant_catalog_restaurantcatalog_from_csv", "callee": "KeyError", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "src/data/restaurant_catalog.py", "source_location": "L44"}, {"caller_nid": "$graphify-root$_src_data_restaurant_catalog_restaurantcatalog_from_csv", "callee": "append", "is_member_call": true, "source_file": "src/data/restaurant_catalog.py", "source_location": "L46", "receiver": "restaurants"}, {"caller_nid": "$graphify-root$_src_data_restaurant_catalog_restaurantcatalog_from_csv", "callee": "cls", "is_member_call": false, "source_file": "src/data/restaurant_catalog.py", "source_location": "L47", "receiver": null}, {"caller_nid": "$graphify-root$_src_data_restaurant_catalog_restaurantcatalog_nearby", "callee": "haversine_km", "is_member_call": false, "source_file": "src/data/restaurant_catalog.py", "source_location": "L67", "receiver": null}, {"caller_nid": "$graphify-root$_src_data_restaurant_catalog_restaurantcatalog_nearby", "callee": "append", "is_member_call": true, "source_file": "src/data/restaurant_catalog.py", "source_location": "L69", "receiver": "candidates"}, {"caller_nid": "$graphify-root$_src_data_restaurant_catalog_restaurantcatalog_nearby", "callee": "sort", "is_member_call": true, "source_file": "src/data/restaurant_catalog.py", "source_location": "L70", "receiver": "candidates"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/c7b785c4eeb6cd80fb8ef2cdbcba02265a18cd641e3e91bb098108575e736aeb.json b/graphify-out/cache/ast/v0.9.31/c7b785c4eeb6cd80fb8ef2cdbcba02265a18cd641e3e91bb098108575e736aeb.json new file mode 100644 index 0000000..89810d1 --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/c7b785c4eeb6cd80fb8ef2cdbcba02265a18cd641e3e91bb098108575e736aeb.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_tests_test_vrptw_engine_py", "label": "test_vrptw_engine.py", "file_type": "code", "source_file": "tests/test_vrptw_engine.py", "source_location": "L1"}, {"id": "$graphify-root$_tests_test_vrptw_engine_make_place", "label": "make_place()", "file_type": "code", "source_file": "tests/test_vrptw_engine.py", "source_location": "L24", "_callable": true}, {"id": "vrptwplace", "label": "VRPTWPlace", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/tests/test_vrptw_engine.py"}, {"id": "$graphify-root$_tests_test_vrptw_engine_testhaversinematrix", "label": "TestHaversineMatrix", "file_type": "code", "source_file": "tests/test_vrptw_engine.py", "source_location": "L54", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_tests_test_vrptw_engine_testhaversinematrix_test_same_point_is_zero", "label": ".test_same_point_is_zero()", "file_type": "code", "source_file": "tests/test_vrptw_engine.py", "source_location": "L55", "_callable": true}, {"id": "$graphify-root$_tests_test_vrptw_engine_testhaversinematrix_test_known_distance", "label": ".test_known_distance()", "file_type": "code", "source_file": "tests/test_vrptw_engine.py", "source_location": "L59", "_callable": true}, {"id": "$graphify-root$_tests_test_vrptw_engine_testhaversinematrix_test_symmetry", "label": ".test_symmetry()", "file_type": "code", "source_file": "tests/test_vrptw_engine.py", "source_location": "L66", "_callable": true}, {"id": "$graphify-root$_tests_test_vrptw_engine_testcachedroutematrix", "label": "TestCachedRouteMatrix", "file_type": "code", "source_file": "tests/test_vrptw_engine.py", "source_location": "L75", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_tests_test_vrptw_engine_testcachedroutematrix_test_cache_hit", "label": ".test_cache_hit()", "file_type": "code", "source_file": "tests/test_vrptw_engine.py", "source_location": "L76", "_callable": true}, {"id": "$graphify-root$_tests_test_vrptw_engine_testcachedroutematrix_test_cache_miss_falls_back_to_haversine", "label": ".test_cache_miss_falls_back_to_haversine()", "file_type": "code", "source_file": "tests/test_vrptw_engine.py", "source_location": "L81", "_callable": true}, {"id": "$graphify-root$_tests_test_vrptw_engine_testcachedroutematrix_test_reverse_key_fallback", "label": ".test_reverse_key_fallback()", "file_type": "code", "source_file": "tests/test_vrptw_engine.py", "source_location": "L87", "_callable": true}, {"id": "$graphify-root$_tests_test_vrptw_engine_testcachedroutematrix_test_load_from_dict", "label": ".test_load_from_dict()", "file_type": "code", "source_file": "tests/test_vrptw_engine.py", "source_location": "L93", "_callable": true}, {"id": "$graphify-root$_tests_test_vrptw_engine_testdepotconstraint", "label": "TestDepotConstraint", "file_type": "code", "source_file": "tests/test_vrptw_engine.py", "source_location": "L105", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_tests_test_vrptw_engine_testdepotconstraint_engine_with_haversine", "label": "._engine_with_haversine()", "file_type": "code", "source_file": "tests/test_vrptw_engine.py", "source_location": "L106", "_callable": true}, {"id": "vrptwengine", "label": "VRPTWEngine", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/tests/test_vrptw_engine.py"}, {"id": "$graphify-root$_tests_test_vrptw_engine_testdepotconstraint_test_2n3d_day1_must_end_at_depot", "label": ".test_2n3d_day1_must_end_at_depot()", "file_type": "code", "source_file": "tests/test_vrptw_engine.py", "source_location": "L109", "_callable": true}, {"id": "$graphify-root$_tests_test_vrptw_engine_testdepotconstraint_test_2n3d_middle_day_must_start_and_end_at_depot", "label": ".test_2n3d_middle_day_must_start_and_end_at_depot()", "file_type": "code", "source_file": "tests/test_vrptw_engine.py", "source_location": "L126", "_callable": true}, {"id": "$graphify-root$_tests_test_vrptw_engine_testdepotconstraint_test_1n2d_no_depot_constraint_applied", "label": ".test_1n2d_no_depot_constraint_applied()", "file_type": "code", "source_file": "tests/test_vrptw_engine.py", "source_location": "L139", "_callable": true}, {"id": "$graphify-root$_tests_test_vrptw_engine_testtimewindowfeasibility", "label": "TestTimeWindowFeasibility", "file_type": "code", "source_file": "tests/test_vrptw_engine.py", "source_location": "L161", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_tests_test_vrptw_engine_testtimewindowfeasibility_engine", "label": "._engine()", "file_type": "code", "source_file": "tests/test_vrptw_engine.py", "source_location": "L162", "_callable": true}, {"id": "$graphify-root$_tests_test_vrptw_engine_testtimewindowfeasibility_test_feasible_schedule_passes", "label": ".test_feasible_schedule_passes()", "file_type": "code", "source_file": "tests/test_vrptw_engine.py", "source_location": "L165", "_callable": true}, {"id": "$graphify-root$_tests_test_vrptw_engine_testtimewindowfeasibility_test_infeasible_close_time_triggers_critical", "label": ".test_infeasible_close_time_triggers_critical()", "file_type": "code", "source_file": "tests/test_vrptw_engine.py", "source_location": "L174", "_callable": true}, {"id": "$graphify-root$_tests_test_vrptw_engine_testtimewindowfeasibility_test_safety_margin_warning", "label": ".test_safety_margin_warning()", "file_type": "code", "source_file": "tests/test_vrptw_engine.py", "source_location": "L185", "_callable": true}, {"id": "$graphify-root$_tests_test_vrptw_engine_testefficiencygap", "label": "TestEfficiencyGap", "file_type": "code", "source_file": "tests/test_vrptw_engine.py", "source_location": "L203", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_tests_test_vrptw_engine_testefficiencygap_test_optimal_order_same_as_user_gives_zero_gap", "label": ".test_optimal_order_same_as_user_gives_zero_gap()", "file_type": "code", "source_file": "tests/test_vrptw_engine.py", "source_location": "L204", "_callable": true}, {"id": "$graphify-root$_tests_test_vrptw_engine_testefficiencygap_test_reversed_inefficient_route_shows_gap", "label": ".test_reversed_inefficient_route_shows_gap()", "file_type": "code", "source_file": "tests/test_vrptw_engine.py", "source_location": "L212", "_callable": true}, {"id": "$graphify-root$_tests_test_vrptw_engine_testfatiguescore", "label": "TestFatigueScore", "file_type": "code", "source_file": "tests/test_vrptw_engine.py", "source_location": "L225", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_tests_test_vrptw_engine_testfatiguescore_test_12h_schedule_no_fatigue_penalty", "label": ".test_12h_schedule_no_fatigue_penalty()", "file_type": "code", "source_file": "tests/test_vrptw_engine.py", "source_location": "L226", "_callable": true}, {"id": "$graphify-root$_tests_test_vrptw_engine_testfatiguescore_test_long_schedule_triggers_fatigue", "label": ".test_long_schedule_triggers_fatigue()", "file_type": "code", "source_file": "tests/test_vrptw_engine.py", "source_location": "L239", "_callable": true}, {"id": "$graphify-root$_tests_test_vrptw_engine_testortoolsdegradation", "label": "TestORToolsDegradation", "file_type": "code", "source_file": "tests/test_vrptw_engine.py", "source_location": "L256", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_tests_test_vrptw_engine_testortoolsdegradation_test_missing_ortools_still_returns_result", "label": ".test_missing_ortools_still_returns_result()", "file_type": "code", "source_file": "tests/test_vrptw_engine.py", "source_location": "L257", "_callable": true}, {"id": "$graphify-root$_tests_test_vrptw_engine_testriskscore", "label": "TestRiskScore", "file_type": "code", "source_file": "tests/test_vrptw_engine.py", "source_location": "L277", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_tests_test_vrptw_engine_testriskscore_test_risk_score_in_0_100", "label": ".test_risk_score_in_0_100()", "file_type": "code", "source_file": "tests/test_vrptw_engine.py", "source_location": "L278", "_callable": true}, {"id": "$graphify-root$_tests_test_vrptw_engine_testriskscore_test_pass_fail_threshold", "label": ".test_pass_fail_threshold()", "file_type": "code", "source_file": "tests/test_vrptw_engine.py", "source_location": "L284", "_callable": true}, {"id": "$graphify-root$_tests_test_vrptw_engine_test_constants_accessible", "label": "test_constants_accessible()", "file_type": "code", "source_file": "tests/test_vrptw_engine.py", "source_location": "L298", "_callable": true}, {"id": "$graphify-root$_tests_test_vrptw_engine_testmodelvalidation", "label": "TestModelValidation", "file_type": "code", "source_file": "tests/test_vrptw_engine.py", "source_location": "L308", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_tests_test_vrptw_engine_testmodelvalidation_test_invalid_lat_raises", "label": ".test_invalid_lat_raises()", "file_type": "code", "source_file": "tests/test_vrptw_engine.py", "source_location": "L309", "_callable": true}, {"id": "$graphify-root$_tests_test_vrptw_engine_testmodelvalidation_test_invalid_lng_raises", "label": ".test_invalid_lng_raises()", "file_type": "code", "source_file": "tests/test_vrptw_engine.py", "source_location": "L313", "_callable": true}, {"id": "$graphify-root$_tests_test_vrptw_engine_testmodelvalidation_test_invalid_time_format_raises", "label": ".test_invalid_time_format_raises()", "file_type": "code", "source_file": "tests/test_vrptw_engine.py", "source_location": "L317", "_callable": true}, {"id": "$graphify-root$_tests_test_vrptw_engine_testmodelvalidation_test_invalid_time_value_raises", "label": ".test_invalid_time_value_raises()", "file_type": "code", "source_file": "tests/test_vrptw_engine.py", "source_location": "L321", "_callable": true}, {"id": "$graphify-root$_tests_test_vrptw_engine_testmodelvalidation_test_negative_stay_raises", "label": ".test_negative_stay_raises()", "file_type": "code", "source_file": "tests/test_vrptw_engine.py", "source_location": "L325", "_callable": true}, {"id": "$graphify-root$_tests_test_vrptw_engine_testmodelvalidation_test_zero_stay_allowed_for_depot", "label": ".test_zero_stay_allowed_for_depot()", "file_type": "code", "source_file": "tests/test_vrptw_engine.py", "source_location": "L329", "_callable": true}, {"id": "$graphify-root$_tests_test_vrptw_engine_testmodelvalidation_test_empty_day_raises", "label": ".test_empty_day_raises()", "file_type": "code", "source_file": "tests/test_vrptw_engine.py", "source_location": "L334", "_callable": true}, {"id": "$graphify-root$_tests_test_vrptw_engine_testmodelvalidation_test_empty_days_raises", "label": ".test_empty_days_raises()", "file_type": "code", "source_file": "tests/test_vrptw_engine.py", "source_location": "L338", "_callable": true}, {"id": "$graphify-root$_tests_test_vrptw_engine_testmodelvalidation_test_open_minutes_property", "label": ".test_open_minutes_property()", "file_type": "code", "source_file": "tests/test_vrptw_engine.py", "source_location": "L342", "_callable": true}, {"id": "$graphify-root$_tests_test_vrptw_engine_testmodelvalidation_test_close_minutes_property", "label": ".test_close_minutes_property()", "file_type": "code", "source_file": "tests/test_vrptw_engine.py", "source_location": "L346", "_callable": true}, {"id": "$graphify-root$_tests_test_vrptw_engine_testefficiencygapthreshold", "label": "TestEfficiencyGapThreshold", "file_type": "code", "source_file": "tests/test_vrptw_engine.py", "source_location": "L355", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_tests_test_vrptw_engine_testefficiencygapthreshold_test_gap_over_threshold_adds_warning", "label": ".test_gap_over_threshold_adds_warning()", "file_type": "code", "source_file": "tests/test_vrptw_engine.py", "source_location": "L356", "_callable": true}, {"id": "$graphify-root$_tests_test_vrptw_engine_testmultidayresult", "label": "TestMultiDayResult", "file_type": "code", "source_file": "tests/test_vrptw_engine.py", "source_location": "L376", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_tests_test_vrptw_engine_testmultidayresult_test_multi_day_returns_per_day_comparison", "label": ".test_multi_day_returns_per_day_comparison()", "file_type": "code", "source_file": "tests/test_vrptw_engine.py", "source_location": "L377", "_callable": true}, {"id": "$graphify-root$_tests_test_vrptw_engine_testmultidayresult_test_multi_day_user_total_travel_is_sum", "label": ".test_multi_day_user_total_travel_is_sum()", "file_type": "code", "source_file": "tests/test_vrptw_engine.py", "source_location": "L391", "_callable": true}, {"id": "$graphify-root$_tests_test_vrptw_engine_testmultidayresult_test_single_place_day_no_travel", "label": ".test_single_place_day_no_travel()", "file_type": "code", "source_file": "tests/test_vrptw_engine.py", "source_location": "L404", "_callable": true}, {"id": "$graphify-root$_tests_test_vrptw_engine_test_summary_contains_score", "label": "test_summary_contains_score()", "file_type": "code", "source_file": "tests/test_vrptw_engine.py", "source_location": "L415", "_callable": true}, {"id": "$graphify-root$_tests_test_vrptw_engine_test_deep_dive_items_have_all_fields", "label": "test_deep_dive_items_have_all_fields()", "file_type": "code", "source_file": "tests/test_vrptw_engine.py", "source_location": "L427", "_callable": true}, {"id": "$graphify-root$_tests_test_vrptw_engine_test_cached_matrix_from_actual_file", "label": "test_cached_matrix_from_actual_file()", "file_type": "code", "source_file": "tests/test_vrptw_engine.py", "source_location": "L444", "_callable": true}, {"id": "$graphify-root$_tests_test_vrptw_engine_rationale_1", "label": "Tests for VRPTW validation engine (TDD).", "file_type": "rationale", "source_file": "tests/test_vrptw_engine.py", "source_location": "L1"}, {"id": "$graphify-root$_tests_test_vrptw_engine_rationale_88", "label": "If only the reverse direction is cached, use it.", "file_type": "rationale", "source_file": "tests/test_vrptw_engine.py", "source_location": "L88"}, {"id": "$graphify-root$_tests_test_vrptw_engine_rationale_110", "label": "2\ubc153\uc77c: day1 last place must be depot.", "file_type": "rationale", "source_file": "tests/test_vrptw_engine.py", "source_location": "L110"}, {"id": "$graphify-root$_tests_test_vrptw_engine_rationale_140", "label": "1\ubc152\uc77c: depot constraint NOT enforced.", "file_type": "rationale", "source_file": "tests/test_vrptw_engine.py", "source_location": "L140"}, {"id": "$graphify-root$_tests_test_vrptw_engine_rationale_175", "label": "A place that closes at 09:05 \u2014 impossible to visit after travel from A.", "file_type": "rationale", "source_file": "tests/test_vrptw_engine.py", "source_location": "L175"}, {"id": "$graphify-root$_tests_test_vrptw_engine_rationale_186", "label": "Arrival within 60 min of close triggers safety margin warning.", "file_type": "rationale", "source_file": "tests/test_vrptw_engine.py", "source_location": "L186"}, {"id": "$graphify-root$_tests_test_vrptw_engine_rationale_205", "label": "With 2 POIs the optimal is always the same, gap should be 0 or minimal.", "file_type": "rationale", "source_file": "tests/test_vrptw_engine.py", "source_location": "L205"}, {"id": "$graphify-root$_tests_test_vrptw_engine_rationale_213", "label": "A\u2192C\u2192B is longer than A\u2192B\u2192C when laid out linearly.", "file_type": "rationale", "source_file": "tests/test_vrptw_engine.py", "source_location": "L213"}, {"id": "$graphify-root$_tests_test_vrptw_engine_rationale_258", "label": "When ortools is not available, engine still returns a VRPTWResult.", "file_type": "rationale", "source_file": "tests/test_vrptw_engine.py", "source_location": "L258"}, {"id": "$graphify-root$_tests_test_vrptw_engine_rationale_357", "label": "If efficiency gap > 20%, a deep_dive WARNING should appear.", "file_type": "rationale", "source_file": "tests/test_vrptw_engine.py", "source_location": "L357"}, {"id": "$graphify-root$_tests_test_vrptw_engine_rationale_428", "label": "Every DeepDiveItem must have non-empty fact, rule, risk, suggestion.", "file_type": "rationale", "source_file": "tests/test_vrptw_engine.py", "source_location": "L428"}, {"id": "$graphify-root$_tests_test_vrptw_engine_rationale_445", "label": "Smoke test: load real cache_route.json and verify at least one hit.", "file_type": "rationale", "source_file": "tests/test_vrptw_engine.py", "source_location": "L445"}], "edges": [{"source": "$graphify-root$_tests_test_vrptw_engine_py", "target": "math", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L4", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L5", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_py", "target": "unittest_mock", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L6", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L8", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_py", "target": "src_data_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L10", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_py", "target": "src_validation_vrptw_engine", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L11", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_py", "target": "$graphify-root$_tests_test_vrptw_engine_make_place", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L24", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_make_place", "target": "vrptwplace", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L24", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_py", "target": "$graphify-root$_tests_test_vrptw_engine_testhaversinematrix", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L54", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_testhaversinematrix", "target": "$graphify-root$_tests_test_vrptw_engine_testhaversinematrix_test_same_point_is_zero", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L55", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_testhaversinematrix", "target": "$graphify-root$_tests_test_vrptw_engine_testhaversinematrix_test_known_distance", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L59", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_testhaversinematrix", "target": "$graphify-root$_tests_test_vrptw_engine_testhaversinematrix_test_symmetry", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L66", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_py", "target": "$graphify-root$_tests_test_vrptw_engine_testcachedroutematrix", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L75", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_testcachedroutematrix", "target": "$graphify-root$_tests_test_vrptw_engine_testcachedroutematrix_test_cache_hit", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L76", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_testcachedroutematrix", "target": "$graphify-root$_tests_test_vrptw_engine_testcachedroutematrix_test_cache_miss_falls_back_to_haversine", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L81", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_testcachedroutematrix", "target": "$graphify-root$_tests_test_vrptw_engine_testcachedroutematrix_test_reverse_key_fallback", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L87", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_testcachedroutematrix", "target": "$graphify-root$_tests_test_vrptw_engine_testcachedroutematrix_test_load_from_dict", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L93", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_py", "target": "$graphify-root$_tests_test_vrptw_engine_testdepotconstraint", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L105", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_testdepotconstraint", "target": "$graphify-root$_tests_test_vrptw_engine_testdepotconstraint_engine_with_haversine", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L106", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_testdepotconstraint_engine_with_haversine", "target": "vrptwengine", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L106", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_testdepotconstraint", "target": "$graphify-root$_tests_test_vrptw_engine_testdepotconstraint_test_2n3d_day1_must_end_at_depot", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L109", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_testdepotconstraint", "target": "$graphify-root$_tests_test_vrptw_engine_testdepotconstraint_test_2n3d_middle_day_must_start_and_end_at_depot", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L126", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_testdepotconstraint", "target": "$graphify-root$_tests_test_vrptw_engine_testdepotconstraint_test_1n2d_no_depot_constraint_applied", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L139", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_py", "target": "$graphify-root$_tests_test_vrptw_engine_testtimewindowfeasibility", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L161", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_testtimewindowfeasibility", "target": "$graphify-root$_tests_test_vrptw_engine_testtimewindowfeasibility_engine", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L162", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_testtimewindowfeasibility_engine", "target": "vrptwengine", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L162", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_testtimewindowfeasibility", "target": "$graphify-root$_tests_test_vrptw_engine_testtimewindowfeasibility_test_feasible_schedule_passes", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L165", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_testtimewindowfeasibility", "target": "$graphify-root$_tests_test_vrptw_engine_testtimewindowfeasibility_test_infeasible_close_time_triggers_critical", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L174", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_testtimewindowfeasibility", "target": "$graphify-root$_tests_test_vrptw_engine_testtimewindowfeasibility_test_safety_margin_warning", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L185", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_py", "target": "$graphify-root$_tests_test_vrptw_engine_testefficiencygap", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L203", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_testefficiencygap", "target": "$graphify-root$_tests_test_vrptw_engine_testefficiencygap_test_optimal_order_same_as_user_gives_zero_gap", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L204", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_testefficiencygap", "target": "$graphify-root$_tests_test_vrptw_engine_testefficiencygap_test_reversed_inefficient_route_shows_gap", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L212", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_py", "target": "$graphify-root$_tests_test_vrptw_engine_testfatiguescore", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L225", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_testfatiguescore", "target": "$graphify-root$_tests_test_vrptw_engine_testfatiguescore_test_12h_schedule_no_fatigue_penalty", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L226", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_testfatiguescore", "target": "$graphify-root$_tests_test_vrptw_engine_testfatiguescore_test_long_schedule_triggers_fatigue", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L239", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_py", "target": "$graphify-root$_tests_test_vrptw_engine_testortoolsdegradation", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L256", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_testortoolsdegradation", "target": "$graphify-root$_tests_test_vrptw_engine_testortoolsdegradation_test_missing_ortools_still_returns_result", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L257", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_py", "target": "$graphify-root$_tests_test_vrptw_engine_testriskscore", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L277", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_testriskscore", "target": "$graphify-root$_tests_test_vrptw_engine_testriskscore_test_risk_score_in_0_100", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L278", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_testriskscore", "target": "$graphify-root$_tests_test_vrptw_engine_testriskscore_test_pass_fail_threshold", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L284", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_py", "target": "$graphify-root$_tests_test_vrptw_engine_test_constants_accessible", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L298", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_py", "target": "$graphify-root$_tests_test_vrptw_engine_testmodelvalidation", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L308", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_testmodelvalidation", "target": "$graphify-root$_tests_test_vrptw_engine_testmodelvalidation_test_invalid_lat_raises", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L309", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_testmodelvalidation", "target": "$graphify-root$_tests_test_vrptw_engine_testmodelvalidation_test_invalid_lng_raises", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L313", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_testmodelvalidation", "target": "$graphify-root$_tests_test_vrptw_engine_testmodelvalidation_test_invalid_time_format_raises", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L317", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_testmodelvalidation", "target": "$graphify-root$_tests_test_vrptw_engine_testmodelvalidation_test_invalid_time_value_raises", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L321", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_testmodelvalidation", "target": "$graphify-root$_tests_test_vrptw_engine_testmodelvalidation_test_negative_stay_raises", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L325", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_testmodelvalidation", "target": "$graphify-root$_tests_test_vrptw_engine_testmodelvalidation_test_zero_stay_allowed_for_depot", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L329", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_testmodelvalidation", "target": "$graphify-root$_tests_test_vrptw_engine_testmodelvalidation_test_empty_day_raises", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L334", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_testmodelvalidation", "target": "$graphify-root$_tests_test_vrptw_engine_testmodelvalidation_test_empty_days_raises", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L338", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_testmodelvalidation", "target": "$graphify-root$_tests_test_vrptw_engine_testmodelvalidation_test_open_minutes_property", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L342", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_testmodelvalidation", "target": "$graphify-root$_tests_test_vrptw_engine_testmodelvalidation_test_close_minutes_property", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L346", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_py", "target": "$graphify-root$_tests_test_vrptw_engine_testefficiencygapthreshold", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L355", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_testefficiencygapthreshold", "target": "$graphify-root$_tests_test_vrptw_engine_testefficiencygapthreshold_test_gap_over_threshold_adds_warning", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L356", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_py", "target": "$graphify-root$_tests_test_vrptw_engine_testmultidayresult", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L376", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_testmultidayresult", "target": "$graphify-root$_tests_test_vrptw_engine_testmultidayresult_test_multi_day_returns_per_day_comparison", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L377", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_testmultidayresult", "target": "$graphify-root$_tests_test_vrptw_engine_testmultidayresult_test_multi_day_user_total_travel_is_sum", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L391", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_testmultidayresult", "target": "$graphify-root$_tests_test_vrptw_engine_testmultidayresult_test_single_place_day_no_travel", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L404", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_py", "target": "$graphify-root$_tests_test_vrptw_engine_test_summary_contains_score", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L415", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_py", "target": "$graphify-root$_tests_test_vrptw_engine_test_deep_dive_items_have_all_fields", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L427", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_py", "target": "$graphify-root$_tests_test_vrptw_engine_test_cached_matrix_from_actual_file", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L444", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_make_place", "target": "vrptwplace", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L33", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_testcachedroutematrix_test_load_from_dict", "target": "$graphify-root$_tests_test_vrptw_engine_make_place", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L96", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_testdepotconstraint_engine_with_haversine", "target": "vrptwengine", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L107", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_testdepotconstraint_test_2n3d_day1_must_end_at_depot", "target": "$graphify-root$_tests_test_vrptw_engine_testdepotconstraint_engine_with_haversine", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L118", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_testdepotconstraint_test_2n3d_middle_day_must_start_and_end_at_depot", "target": "$graphify-root$_tests_test_vrptw_engine_testdepotconstraint_engine_with_haversine", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L134", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_testdepotconstraint_test_1n2d_no_depot_constraint_applied", "target": "$graphify-root$_tests_test_vrptw_engine_testdepotconstraint_engine_with_haversine", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L147", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_testtimewindowfeasibility_engine", "target": "vrptwengine", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L163", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_testtimewindowfeasibility_test_feasible_schedule_passes", "target": "$graphify-root$_tests_test_vrptw_engine_testtimewindowfeasibility_engine", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L169", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_testtimewindowfeasibility_test_infeasible_close_time_triggers_critical", "target": "$graphify-root$_tests_test_vrptw_engine_make_place", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L176", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_testtimewindowfeasibility_test_infeasible_close_time_triggers_critical", "target": "$graphify-root$_tests_test_vrptw_engine_testtimewindowfeasibility_engine", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L180", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_testtimewindowfeasibility_test_safety_margin_warning", "target": "$graphify-root$_tests_test_vrptw_engine_make_place", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L189", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_testtimewindowfeasibility_test_safety_margin_warning", "target": "$graphify-root$_tests_test_vrptw_engine_testtimewindowfeasibility_engine", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L193", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_testefficiencygap_test_optimal_order_same_as_user_gives_zero_gap", "target": "vrptwengine", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L207", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_testefficiencygap_test_reversed_inefficient_route_shows_gap", "target": "vrptwengine", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L215", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_testfatiguescore_test_12h_schedule_no_fatigue_penalty", "target": "$graphify-root$_tests_test_vrptw_engine_make_place", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L229", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_testfatiguescore_test_12h_schedule_no_fatigue_penalty", "target": "vrptwengine", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L233", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_testfatiguescore_test_long_schedule_triggers_fatigue", "target": "$graphify-root$_tests_test_vrptw_engine_make_place", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L242", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_testfatiguescore_test_long_schedule_triggers_fatigue", "target": "vrptwengine", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L246", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_testortoolsdegradation_test_missing_ortools_still_returns_result", "target": "vrptwengine", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L265", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_testriskscore_test_risk_score_in_0_100", "target": "vrptwengine", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L280", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_testriskscore_test_pass_fail_threshold", "target": "vrptwengine", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L286", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_testmodelvalidation_test_invalid_lat_raises", "target": "vrptwplace", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L311", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_testmodelvalidation_test_invalid_lng_raises", "target": "vrptwplace", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L315", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_testmodelvalidation_test_invalid_time_format_raises", "target": "vrptwplace", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L319", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_testmodelvalidation_test_invalid_time_value_raises", "target": "vrptwplace", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L323", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_testmodelvalidation_test_negative_stay_raises", "target": "vrptwplace", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L327", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_testmodelvalidation_test_zero_stay_allowed_for_depot", "target": "vrptwplace", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L330", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_testmodelvalidation_test_open_minutes_property", "target": "$graphify-root$_tests_test_vrptw_engine_make_place", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L343", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_testmodelvalidation_test_close_minutes_property", "target": "$graphify-root$_tests_test_vrptw_engine_make_place", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L347", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_testefficiencygapthreshold_test_gap_over_threshold_adds_warning", "target": "$graphify-root$_tests_test_vrptw_engine_make_place", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L360", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_testefficiencygapthreshold_test_gap_over_threshold_adds_warning", "target": "vrptwengine", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L364", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_testmultidayresult_test_multi_day_returns_per_day_comparison", "target": "vrptwengine", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L384", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_testmultidayresult_test_multi_day_user_total_travel_is_sum", "target": "vrptwengine", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L398", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_testmultidayresult_test_single_place_day_no_travel", "target": "vrptwengine", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L406", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_test_summary_contains_score", "target": "vrptwengine", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L417", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_test_deep_dive_items_have_all_fields", "target": "$graphify-root$_tests_test_vrptw_engine_make_place", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L429", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_test_deep_dive_items_have_all_fields", "target": "vrptwengine", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L431", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_test_cached_matrix_from_actual_file", "target": "$graphify-root$_tests_test_vrptw_engine_make_place", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L454", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_rationale_1", "target": "$graphify-root$_tests_test_vrptw_engine_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_rationale_88", "target": "$graphify-root$_tests_test_vrptw_engine_testcachedroutematrix_test_reverse_key_fallback", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L88", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_rationale_110", "target": "$graphify-root$_tests_test_vrptw_engine_testdepotconstraint_test_2n3d_day1_must_end_at_depot", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L110", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_rationale_140", "target": "$graphify-root$_tests_test_vrptw_engine_testdepotconstraint_test_1n2d_no_depot_constraint_applied", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L140", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_rationale_175", "target": "$graphify-root$_tests_test_vrptw_engine_testtimewindowfeasibility_test_infeasible_close_time_triggers_critical", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L175", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_rationale_186", "target": "$graphify-root$_tests_test_vrptw_engine_testtimewindowfeasibility_test_safety_margin_warning", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L186", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_rationale_205", "target": "$graphify-root$_tests_test_vrptw_engine_testefficiencygap_test_optimal_order_same_as_user_gives_zero_gap", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L205", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_rationale_213", "target": "$graphify-root$_tests_test_vrptw_engine_testefficiencygap_test_reversed_inefficient_route_shows_gap", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L213", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_rationale_258", "target": "$graphify-root$_tests_test_vrptw_engine_testortoolsdegradation_test_missing_ortools_still_returns_result", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L258", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_rationale_357", "target": "$graphify-root$_tests_test_vrptw_engine_testefficiencygapthreshold_test_gap_over_threshold_adds_warning", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L357", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_rationale_428", "target": "$graphify-root$_tests_test_vrptw_engine_test_deep_dive_items_have_all_fields", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L428", "weight": 1.0}, {"source": "$graphify-root$_tests_test_vrptw_engine_rationale_445", "target": "$graphify-root$_tests_test_vrptw_engine_test_cached_matrix_from_actual_file", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_vrptw_engine.py", "source_location": "L445", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testhaversinematrix_test_same_point_is_zero", "callee": "HaversineMatrix", "is_member_call": false, "source_file": "tests/test_vrptw_engine.py", "source_location": "L56", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testhaversinematrix_test_same_point_is_zero", "callee": "get_travel_time", "is_member_call": true, "source_file": "tests/test_vrptw_engine.py", "source_location": "L57", "receiver": "m"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testhaversinematrix_test_same_point_is_zero", "callee": "DEPOT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "tests/test_vrptw_engine.py", "source_location": "L57"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testhaversinematrix_test_same_point_is_zero", "callee": "DEPOT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "tests/test_vrptw_engine.py", "source_location": "L57"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testhaversinematrix_test_known_distance", "callee": "HaversineMatrix", "is_member_call": false, "source_file": "tests/test_vrptw_engine.py", "source_location": "L62", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testhaversinematrix_test_known_distance", "callee": "get_travel_time", "is_member_call": true, "source_file": "tests/test_vrptw_engine.py", "source_location": "L63", "receiver": "m"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testhaversinematrix_test_known_distance", "callee": "POI_A", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "tests/test_vrptw_engine.py", "source_location": "L63"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testhaversinematrix_test_known_distance", "callee": "POI_B", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "tests/test_vrptw_engine.py", "source_location": "L63"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testhaversinematrix_test_symmetry", "callee": "HaversineMatrix", "is_member_call": false, "source_file": "tests/test_vrptw_engine.py", "source_location": "L67", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testhaversinematrix_test_symmetry", "callee": "get_travel_time", "is_member_call": true, "source_file": "tests/test_vrptw_engine.py", "source_location": "L68", "receiver": "m"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testhaversinematrix_test_symmetry", "callee": "POI_A", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "tests/test_vrptw_engine.py", "source_location": "L68"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testhaversinematrix_test_symmetry", "callee": "POI_B", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "tests/test_vrptw_engine.py", "source_location": "L68"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testhaversinematrix_test_symmetry", "callee": "get_travel_time", "is_member_call": true, "source_file": "tests/test_vrptw_engine.py", "source_location": "L68", "receiver": "m"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testhaversinematrix_test_symmetry", "callee": "POI_B", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "tests/test_vrptw_engine.py", "source_location": "L68"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testhaversinematrix_test_symmetry", "callee": "POI_A", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "tests/test_vrptw_engine.py", "source_location": "L68"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testcachedroutematrix_test_cache_hit", "callee": "CachedRouteMatrix", "is_member_call": false, "source_file": "tests/test_vrptw_engine.py", "source_location": "L78", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testcachedroutematrix_test_cache_hit", "callee": "get_travel_time", "is_member_call": true, "source_file": "tests/test_vrptw_engine.py", "source_location": "L79", "receiver": "m"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testcachedroutematrix_test_cache_hit", "callee": "POI_A", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "tests/test_vrptw_engine.py", "source_location": "L79"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testcachedroutematrix_test_cache_hit", "callee": "POI_B", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "tests/test_vrptw_engine.py", "source_location": "L79"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testcachedroutematrix_test_cache_miss_falls_back_to_haversine", "callee": "CachedRouteMatrix", "is_member_call": false, "source_file": "tests/test_vrptw_engine.py", "source_location": "L82", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testcachedroutematrix_test_cache_miss_falls_back_to_haversine", "callee": "get_travel_time", "is_member_call": true, "source_file": "tests/test_vrptw_engine.py", "source_location": "L83", "receiver": "m"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testcachedroutematrix_test_cache_miss_falls_back_to_haversine", "callee": "POI_A", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "tests/test_vrptw_engine.py", "source_location": "L83"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testcachedroutematrix_test_cache_miss_falls_back_to_haversine", "callee": "POI_B", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "tests/test_vrptw_engine.py", "source_location": "L83"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testcachedroutematrix_test_cache_miss_falls_back_to_haversine", "callee": "get_travel_time", "is_member_call": true, "source_file": "tests/test_vrptw_engine.py", "source_location": "L84", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testcachedroutematrix_test_cache_miss_falls_back_to_haversine", "callee": "POI_A", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "tests/test_vrptw_engine.py", "source_location": "L84"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testcachedroutematrix_test_cache_miss_falls_back_to_haversine", "callee": "POI_B", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "tests/test_vrptw_engine.py", "source_location": "L84"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testcachedroutematrix_test_cache_miss_falls_back_to_haversine", "callee": "HaversineMatrix", "is_member_call": false, "source_file": "tests/test_vrptw_engine.py", "source_location": "L84", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testcachedroutematrix_test_reverse_key_fallback", "callee": "CachedRouteMatrix", "is_member_call": false, "source_file": "tests/test_vrptw_engine.py", "source_location": "L90", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testcachedroutematrix_test_reverse_key_fallback", "callee": "get_travel_time", "is_member_call": true, "source_file": "tests/test_vrptw_engine.py", "source_location": "L91", "receiver": "m"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testcachedroutematrix_test_reverse_key_fallback", "callee": "POI_A", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "tests/test_vrptw_engine.py", "source_location": "L91"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testcachedroutematrix_test_reverse_key_fallback", "callee": "POI_B", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "tests/test_vrptw_engine.py", "source_location": "L91"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testcachedroutematrix_test_load_from_dict", "callee": "CachedRouteMatrix", "is_member_call": false, "source_file": "tests/test_vrptw_engine.py", "source_location": "L95", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testcachedroutematrix_test_load_from_dict", "callee": "get_travel_time", "is_member_call": true, "source_file": "tests/test_vrptw_engine.py", "source_location": "L98", "receiver": "m"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testdepotconstraint_engine_with_haversine", "callee": "HaversineMatrix", "is_member_call": false, "source_file": "tests/test_vrptw_engine.py", "source_location": "L107", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testdepotconstraint_test_2n3d_day1_must_end_at_depot", "callee": "VRPTWRequest", "is_member_call": false, "source_file": "tests/test_vrptw_engine.py", "source_location": "L111", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testdepotconstraint_test_2n3d_day1_must_end_at_depot", "callee": "VRPTWDay", "is_member_call": false, "source_file": "tests/test_vrptw_engine.py", "source_location": "L113", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testdepotconstraint_test_2n3d_day1_must_end_at_depot", "callee": "DEPOT", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "tests/test_vrptw_engine.py", "source_location": "L113"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testdepotconstraint_test_2n3d_day1_must_end_at_depot", "callee": "POI_A", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "tests/test_vrptw_engine.py", "source_location": "L113"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testdepotconstraint_test_2n3d_day1_must_end_at_depot", "callee": "POI_B", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "tests/test_vrptw_engine.py", "source_location": "L113"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testdepotconstraint_test_2n3d_day1_must_end_at_depot", "callee": "VRPTWDay", "is_member_call": false, "source_file": "tests/test_vrptw_engine.py", "source_location": "L114", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testdepotconstraint_test_2n3d_day1_must_end_at_depot", "callee": "DEPOT", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "tests/test_vrptw_engine.py", "source_location": "L114"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testdepotconstraint_test_2n3d_day1_must_end_at_depot", "callee": "POI_C", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "tests/test_vrptw_engine.py", "source_location": "L114"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testdepotconstraint_test_2n3d_day1_must_end_at_depot", "callee": "DEPOT", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "tests/test_vrptw_engine.py", "source_location": "L114"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testdepotconstraint_test_2n3d_day1_must_end_at_depot", "callee": "VRPTWDay", "is_member_call": false, "source_file": "tests/test_vrptw_engine.py", "source_location": "L115", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testdepotconstraint_test_2n3d_day1_must_end_at_depot", "callee": "DEPOT", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "tests/test_vrptw_engine.py", "source_location": "L115"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testdepotconstraint_test_2n3d_day1_must_end_at_depot", "callee": "POI_A", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "tests/test_vrptw_engine.py", "source_location": "L115"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testdepotconstraint_test_2n3d_day1_must_end_at_depot", "callee": "validate", "is_member_call": true, "source_file": "tests/test_vrptw_engine.py", "source_location": "L119", "receiver": "engine"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testdepotconstraint_test_2n3d_day1_must_end_at_depot", "callee": "lower", "is_member_call": true, "source_file": "tests/test_vrptw_engine.py", "source_location": "L121", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testdepotconstraint_test_2n3d_middle_day_must_start_and_end_at_depot", "callee": "VRPTWRequest", "is_member_call": false, "source_file": "tests/test_vrptw_engine.py", "source_location": "L127", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testdepotconstraint_test_2n3d_middle_day_must_start_and_end_at_depot", "callee": "VRPTWDay", "is_member_call": false, "source_file": "tests/test_vrptw_engine.py", "source_location": "L129", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testdepotconstraint_test_2n3d_middle_day_must_start_and_end_at_depot", "callee": "DEPOT", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "tests/test_vrptw_engine.py", "source_location": "L129"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testdepotconstraint_test_2n3d_middle_day_must_start_and_end_at_depot", "callee": "POI_A", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "tests/test_vrptw_engine.py", "source_location": "L129"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testdepotconstraint_test_2n3d_middle_day_must_start_and_end_at_depot", "callee": "DEPOT", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "tests/test_vrptw_engine.py", "source_location": "L129"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testdepotconstraint_test_2n3d_middle_day_must_start_and_end_at_depot", "callee": "VRPTWDay", "is_member_call": false, "source_file": "tests/test_vrptw_engine.py", "source_location": "L130", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testdepotconstraint_test_2n3d_middle_day_must_start_and_end_at_depot", "callee": "POI_A", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "tests/test_vrptw_engine.py", "source_location": "L130"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testdepotconstraint_test_2n3d_middle_day_must_start_and_end_at_depot", "callee": "POI_B", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "tests/test_vrptw_engine.py", "source_location": "L130"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testdepotconstraint_test_2n3d_middle_day_must_start_and_end_at_depot", "callee": "POI_C", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "tests/test_vrptw_engine.py", "source_location": "L130"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testdepotconstraint_test_2n3d_middle_day_must_start_and_end_at_depot", "callee": "VRPTWDay", "is_member_call": false, "source_file": "tests/test_vrptw_engine.py", "source_location": "L131", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testdepotconstraint_test_2n3d_middle_day_must_start_and_end_at_depot", "callee": "DEPOT", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "tests/test_vrptw_engine.py", "source_location": "L131"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testdepotconstraint_test_2n3d_middle_day_must_start_and_end_at_depot", "callee": "POI_B", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "tests/test_vrptw_engine.py", "source_location": "L131"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testdepotconstraint_test_2n3d_middle_day_must_start_and_end_at_depot", "callee": "validate", "is_member_call": true, "source_file": "tests/test_vrptw_engine.py", "source_location": "L135", "receiver": "engine"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testdepotconstraint_test_2n3d_middle_day_must_start_and_end_at_depot", "callee": "lower", "is_member_call": true, "source_file": "tests/test_vrptw_engine.py", "source_location": "L136", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testdepotconstraint_test_1n2d_no_depot_constraint_applied", "callee": "VRPTWRequest", "is_member_call": false, "source_file": "tests/test_vrptw_engine.py", "source_location": "L141", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testdepotconstraint_test_1n2d_no_depot_constraint_applied", "callee": "VRPTWDay", "is_member_call": false, "source_file": "tests/test_vrptw_engine.py", "source_location": "L143", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testdepotconstraint_test_1n2d_no_depot_constraint_applied", "callee": "POI_A", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "tests/test_vrptw_engine.py", "source_location": "L143"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testdepotconstraint_test_1n2d_no_depot_constraint_applied", "callee": "POI_B", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "tests/test_vrptw_engine.py", "source_location": "L143"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testdepotconstraint_test_1n2d_no_depot_constraint_applied", "callee": "VRPTWDay", "is_member_call": false, "source_file": "tests/test_vrptw_engine.py", "source_location": "L144", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testdepotconstraint_test_1n2d_no_depot_constraint_applied", "callee": "POI_B", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "tests/test_vrptw_engine.py", "source_location": "L144"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testdepotconstraint_test_1n2d_no_depot_constraint_applied", "callee": "POI_C", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "tests/test_vrptw_engine.py", "source_location": "L144"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testdepotconstraint_test_1n2d_no_depot_constraint_applied", "callee": "validate", "is_member_call": true, "source_file": "tests/test_vrptw_engine.py", "source_location": "L148", "receiver": "engine"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testdepotconstraint_test_1n2d_no_depot_constraint_applied", "callee": "lower", "is_member_call": true, "source_file": "tests/test_vrptw_engine.py", "source_location": "L151", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testdepotconstraint_test_1n2d_no_depot_constraint_applied", "callee": "lower", "is_member_call": true, "source_file": "tests/test_vrptw_engine.py", "source_location": "L151", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testtimewindowfeasibility_engine", "callee": "HaversineMatrix", "is_member_call": false, "source_file": "tests/test_vrptw_engine.py", "source_location": "L163", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testtimewindowfeasibility_test_feasible_schedule_passes", "callee": "VRPTWRequest", "is_member_call": false, "source_file": "tests/test_vrptw_engine.py", "source_location": "L166", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testtimewindowfeasibility_test_feasible_schedule_passes", "callee": "VRPTWDay", "is_member_call": false, "source_file": "tests/test_vrptw_engine.py", "source_location": "L167", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testtimewindowfeasibility_test_feasible_schedule_passes", "callee": "POI_A", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "tests/test_vrptw_engine.py", "source_location": "L167"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testtimewindowfeasibility_test_feasible_schedule_passes", "callee": "POI_B", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "tests/test_vrptw_engine.py", "source_location": "L167"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testtimewindowfeasibility_test_feasible_schedule_passes", "callee": "validate", "is_member_call": true, "source_file": "tests/test_vrptw_engine.py", "source_location": "L170", "receiver": "engine"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testtimewindowfeasibility_test_feasible_schedule_passes", "callee": "lower", "is_member_call": true, "source_file": "tests/test_vrptw_engine.py", "source_location": "L171", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testtimewindowfeasibility_test_infeasible_close_time_triggers_critical", "callee": "VRPTWRequest", "is_member_call": false, "source_file": "tests/test_vrptw_engine.py", "source_location": "L177", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testtimewindowfeasibility_test_infeasible_close_time_triggers_critical", "callee": "VRPTWDay", "is_member_call": false, "source_file": "tests/test_vrptw_engine.py", "source_location": "L178", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testtimewindowfeasibility_test_infeasible_close_time_triggers_critical", "callee": "POI_A", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "tests/test_vrptw_engine.py", "source_location": "L178"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testtimewindowfeasibility_test_infeasible_close_time_triggers_critical", "callee": "validate", "is_member_call": true, "source_file": "tests/test_vrptw_engine.py", "source_location": "L181", "receiver": "engine"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testtimewindowfeasibility_test_safety_margin_warning", "callee": "VRPTWRequest", "is_member_call": false, "source_file": "tests/test_vrptw_engine.py", "source_location": "L190", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testtimewindowfeasibility_test_safety_margin_warning", "callee": "VRPTWDay", "is_member_call": false, "source_file": "tests/test_vrptw_engine.py", "source_location": "L191", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testtimewindowfeasibility_test_safety_margin_warning", "callee": "POI_A", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "tests/test_vrptw_engine.py", "source_location": "L191"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testtimewindowfeasibility_test_safety_margin_warning", "callee": "validate", "is_member_call": true, "source_file": "tests/test_vrptw_engine.py", "source_location": "L194", "receiver": "engine"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testtimewindowfeasibility_test_safety_margin_warning", "callee": "lower", "is_member_call": true, "source_file": "tests/test_vrptw_engine.py", "source_location": "L195", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testefficiencygap_test_optimal_order_same_as_user_gives_zero_gap", "callee": "VRPTWRequest", "is_member_call": false, "source_file": "tests/test_vrptw_engine.py", "source_location": "L206", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testefficiencygap_test_optimal_order_same_as_user_gives_zero_gap", "callee": "VRPTWDay", "is_member_call": false, "source_file": "tests/test_vrptw_engine.py", "source_location": "L206", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testefficiencygap_test_optimal_order_same_as_user_gives_zero_gap", "callee": "POI_A", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "tests/test_vrptw_engine.py", "source_location": "L206"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testefficiencygap_test_optimal_order_same_as_user_gives_zero_gap", "callee": "POI_B", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "tests/test_vrptw_engine.py", "source_location": "L206"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testefficiencygap_test_optimal_order_same_as_user_gives_zero_gap", "callee": "HaversineMatrix", "is_member_call": false, "source_file": "tests/test_vrptw_engine.py", "source_location": "L207", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testefficiencygap_test_optimal_order_same_as_user_gives_zero_gap", "callee": "validate", "is_member_call": true, "source_file": "tests/test_vrptw_engine.py", "source_location": "L208", "receiver": "engine"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testefficiencygap_test_reversed_inefficient_route_shows_gap", "callee": "VRPTWRequest", "is_member_call": false, "source_file": "tests/test_vrptw_engine.py", "source_location": "L214", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testefficiencygap_test_reversed_inefficient_route_shows_gap", "callee": "VRPTWDay", "is_member_call": false, "source_file": "tests/test_vrptw_engine.py", "source_location": "L214", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testefficiencygap_test_reversed_inefficient_route_shows_gap", "callee": "POI_A", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "tests/test_vrptw_engine.py", "source_location": "L214"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testefficiencygap_test_reversed_inefficient_route_shows_gap", "callee": "POI_C", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "tests/test_vrptw_engine.py", "source_location": "L214"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testefficiencygap_test_reversed_inefficient_route_shows_gap", "callee": "POI_B", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "tests/test_vrptw_engine.py", "source_location": "L214"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testefficiencygap_test_reversed_inefficient_route_shows_gap", "callee": "HaversineMatrix", "is_member_call": false, "source_file": "tests/test_vrptw_engine.py", "source_location": "L215", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testefficiencygap_test_reversed_inefficient_route_shows_gap", "callee": "validate", "is_member_call": true, "source_file": "tests/test_vrptw_engine.py", "source_location": "L216", "receiver": "engine"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testfatiguescore_test_12h_schedule_no_fatigue_penalty", "callee": "VRPTWRequest", "is_member_call": false, "source_file": "tests/test_vrptw_engine.py", "source_location": "L232", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testfatiguescore_test_12h_schedule_no_fatigue_penalty", "callee": "VRPTWDay", "is_member_call": false, "source_file": "tests/test_vrptw_engine.py", "source_location": "L232", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testfatiguescore_test_12h_schedule_no_fatigue_penalty", "callee": "HaversineMatrix", "is_member_call": false, "source_file": "tests/test_vrptw_engine.py", "source_location": "L233", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testfatiguescore_test_12h_schedule_no_fatigue_penalty", "callee": "validate", "is_member_call": true, "source_file": "tests/test_vrptw_engine.py", "source_location": "L234", "receiver": "engine"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testfatiguescore_test_12h_schedule_no_fatigue_penalty", "callee": "lower", "is_member_call": true, "source_file": "tests/test_vrptw_engine.py", "source_location": "L235", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testfatiguescore_test_long_schedule_triggers_fatigue", "callee": "VRPTWRequest", "is_member_call": false, "source_file": "tests/test_vrptw_engine.py", "source_location": "L245", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testfatiguescore_test_long_schedule_triggers_fatigue", "callee": "VRPTWDay", "is_member_call": false, "source_file": "tests/test_vrptw_engine.py", "source_location": "L245", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testfatiguescore_test_long_schedule_triggers_fatigue", "callee": "HaversineMatrix", "is_member_call": false, "source_file": "tests/test_vrptw_engine.py", "source_location": "L246", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testfatiguescore_test_long_schedule_triggers_fatigue", "callee": "validate", "is_member_call": true, "source_file": "tests/test_vrptw_engine.py", "source_location": "L247", "receiver": "engine"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testfatiguescore_test_long_schedule_triggers_fatigue", "callee": "lower", "is_member_call": true, "source_file": "tests/test_vrptw_engine.py", "source_location": "L248", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testortoolsdegradation_test_missing_ortools_still_returns_result", "callee": "VRPTWRequest", "is_member_call": false, "source_file": "tests/test_vrptw_engine.py", "source_location": "L259", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testortoolsdegradation_test_missing_ortools_still_returns_result", "callee": "VRPTWDay", "is_member_call": false, "source_file": "tests/test_vrptw_engine.py", "source_location": "L259", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testortoolsdegradation_test_missing_ortools_still_returns_result", "callee": "POI_A", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "tests/test_vrptw_engine.py", "source_location": "L259"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testortoolsdegradation_test_missing_ortools_still_returns_result", "callee": "POI_B", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "tests/test_vrptw_engine.py", "source_location": "L259"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testortoolsdegradation_test_missing_ortools_still_returns_result", "callee": "HaversineMatrix", "is_member_call": false, "source_file": "tests/test_vrptw_engine.py", "source_location": "L265", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testortoolsdegradation_test_missing_ortools_still_returns_result", "callee": "validate", "is_member_call": true, "source_file": "tests/test_vrptw_engine.py", "source_location": "L266", "receiver": "engine"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testortoolsdegradation_test_missing_ortools_still_returns_result", "callee": "VRPTWResult", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "tests/test_vrptw_engine.py", "source_location": "L267"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testriskscore_test_risk_score_in_0_100", "callee": "VRPTWRequest", "is_member_call": false, "source_file": "tests/test_vrptw_engine.py", "source_location": "L279", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testriskscore_test_risk_score_in_0_100", "callee": "VRPTWDay", "is_member_call": false, "source_file": "tests/test_vrptw_engine.py", "source_location": "L279", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testriskscore_test_risk_score_in_0_100", "callee": "POI_A", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "tests/test_vrptw_engine.py", "source_location": "L279"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testriskscore_test_risk_score_in_0_100", "callee": "POI_B", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "tests/test_vrptw_engine.py", "source_location": "L279"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testriskscore_test_risk_score_in_0_100", "callee": "HaversineMatrix", "is_member_call": false, "source_file": "tests/test_vrptw_engine.py", "source_location": "L280", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testriskscore_test_risk_score_in_0_100", "callee": "validate", "is_member_call": true, "source_file": "tests/test_vrptw_engine.py", "source_location": "L281", "receiver": "engine"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testriskscore_test_pass_fail_threshold", "callee": "VRPTWRequest", "is_member_call": false, "source_file": "tests/test_vrptw_engine.py", "source_location": "L285", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testriskscore_test_pass_fail_threshold", "callee": "VRPTWDay", "is_member_call": false, "source_file": "tests/test_vrptw_engine.py", "source_location": "L285", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testriskscore_test_pass_fail_threshold", "callee": "POI_A", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "tests/test_vrptw_engine.py", "source_location": "L285"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testriskscore_test_pass_fail_threshold", "callee": "POI_B", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "tests/test_vrptw_engine.py", "source_location": "L285"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testriskscore_test_pass_fail_threshold", "callee": "HaversineMatrix", "is_member_call": false, "source_file": "tests/test_vrptw_engine.py", "source_location": "L286", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testriskscore_test_pass_fail_threshold", "callee": "validate", "is_member_call": true, "source_file": "tests/test_vrptw_engine.py", "source_location": "L287", "receiver": "engine"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testmodelvalidation_test_invalid_lat_raises", "callee": "raises", "is_member_call": true, "source_file": "tests/test_vrptw_engine.py", "source_location": "L310", "receiver": "pytest"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testmodelvalidation_test_invalid_lat_raises", "callee": "Exception", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "tests/test_vrptw_engine.py", "source_location": "L310"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testmodelvalidation_test_invalid_lng_raises", "callee": "raises", "is_member_call": true, "source_file": "tests/test_vrptw_engine.py", "source_location": "L314", "receiver": "pytest"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testmodelvalidation_test_invalid_lng_raises", "callee": "Exception", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "tests/test_vrptw_engine.py", "source_location": "L314"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testmodelvalidation_test_invalid_time_format_raises", "callee": "raises", "is_member_call": true, "source_file": "tests/test_vrptw_engine.py", "source_location": "L318", "receiver": "pytest"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testmodelvalidation_test_invalid_time_format_raises", "callee": "Exception", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "tests/test_vrptw_engine.py", "source_location": "L318"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testmodelvalidation_test_invalid_time_value_raises", "callee": "raises", "is_member_call": true, "source_file": "tests/test_vrptw_engine.py", "source_location": "L322", "receiver": "pytest"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testmodelvalidation_test_invalid_time_value_raises", "callee": "Exception", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "tests/test_vrptw_engine.py", "source_location": "L322"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testmodelvalidation_test_negative_stay_raises", "callee": "raises", "is_member_call": true, "source_file": "tests/test_vrptw_engine.py", "source_location": "L326", "receiver": "pytest"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testmodelvalidation_test_negative_stay_raises", "callee": "Exception", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "tests/test_vrptw_engine.py", "source_location": "L326"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testmodelvalidation_test_empty_day_raises", "callee": "raises", "is_member_call": true, "source_file": "tests/test_vrptw_engine.py", "source_location": "L335", "receiver": "pytest"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testmodelvalidation_test_empty_day_raises", "callee": "Exception", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "tests/test_vrptw_engine.py", "source_location": "L335"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testmodelvalidation_test_empty_day_raises", "callee": "VRPTWDay", "is_member_call": false, "source_file": "tests/test_vrptw_engine.py", "source_location": "L336", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testmodelvalidation_test_empty_days_raises", "callee": "raises", "is_member_call": true, "source_file": "tests/test_vrptw_engine.py", "source_location": "L339", "receiver": "pytest"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testmodelvalidation_test_empty_days_raises", "callee": "Exception", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "tests/test_vrptw_engine.py", "source_location": "L339"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testmodelvalidation_test_empty_days_raises", "callee": "VRPTWRequest", "is_member_call": false, "source_file": "tests/test_vrptw_engine.py", "source_location": "L340", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testefficiencygapthreshold_test_gap_over_threshold_adds_warning", "callee": "VRPTWRequest", "is_member_call": false, "source_file": "tests/test_vrptw_engine.py", "source_location": "L363", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testefficiencygapthreshold_test_gap_over_threshold_adds_warning", "callee": "VRPTWDay", "is_member_call": false, "source_file": "tests/test_vrptw_engine.py", "source_location": "L363", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testefficiencygapthreshold_test_gap_over_threshold_adds_warning", "callee": "HaversineMatrix", "is_member_call": false, "source_file": "tests/test_vrptw_engine.py", "source_location": "L364", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testefficiencygapthreshold_test_gap_over_threshold_adds_warning", "callee": "validate", "is_member_call": true, "source_file": "tests/test_vrptw_engine.py", "source_location": "L365", "receiver": "engine"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testmultidayresult_test_multi_day_returns_per_day_comparison", "callee": "VRPTWRequest", "is_member_call": false, "source_file": "tests/test_vrptw_engine.py", "source_location": "L378", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testmultidayresult_test_multi_day_returns_per_day_comparison", "callee": "VRPTWDay", "is_member_call": false, "source_file": "tests/test_vrptw_engine.py", "source_location": "L380", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testmultidayresult_test_multi_day_returns_per_day_comparison", "callee": "POI_A", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "tests/test_vrptw_engine.py", "source_location": "L380"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testmultidayresult_test_multi_day_returns_per_day_comparison", "callee": "POI_B", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "tests/test_vrptw_engine.py", "source_location": "L380"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testmultidayresult_test_multi_day_returns_per_day_comparison", "callee": "VRPTWDay", "is_member_call": false, "source_file": "tests/test_vrptw_engine.py", "source_location": "L381", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testmultidayresult_test_multi_day_returns_per_day_comparison", "callee": "POI_B", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "tests/test_vrptw_engine.py", "source_location": "L381"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testmultidayresult_test_multi_day_returns_per_day_comparison", "callee": "POI_C", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "tests/test_vrptw_engine.py", "source_location": "L381"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testmultidayresult_test_multi_day_returns_per_day_comparison", "callee": "HaversineMatrix", "is_member_call": false, "source_file": "tests/test_vrptw_engine.py", "source_location": "L384", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testmultidayresult_test_multi_day_returns_per_day_comparison", "callee": "validate", "is_member_call": true, "source_file": "tests/test_vrptw_engine.py", "source_location": "L385", "receiver": "engine"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testmultidayresult_test_multi_day_user_total_travel_is_sum", "callee": "VRPTWRequest", "is_member_call": false, "source_file": "tests/test_vrptw_engine.py", "source_location": "L392", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testmultidayresult_test_multi_day_user_total_travel_is_sum", "callee": "VRPTWDay", "is_member_call": false, "source_file": "tests/test_vrptw_engine.py", "source_location": "L394", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testmultidayresult_test_multi_day_user_total_travel_is_sum", "callee": "POI_A", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "tests/test_vrptw_engine.py", "source_location": "L394"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testmultidayresult_test_multi_day_user_total_travel_is_sum", "callee": "POI_B", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "tests/test_vrptw_engine.py", "source_location": "L394"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testmultidayresult_test_multi_day_user_total_travel_is_sum", "callee": "VRPTWDay", "is_member_call": false, "source_file": "tests/test_vrptw_engine.py", "source_location": "L395", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testmultidayresult_test_multi_day_user_total_travel_is_sum", "callee": "POI_B", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "tests/test_vrptw_engine.py", "source_location": "L395"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testmultidayresult_test_multi_day_user_total_travel_is_sum", "callee": "POI_C", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "tests/test_vrptw_engine.py", "source_location": "L395"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testmultidayresult_test_multi_day_user_total_travel_is_sum", "callee": "HaversineMatrix", "is_member_call": false, "source_file": "tests/test_vrptw_engine.py", "source_location": "L398", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testmultidayresult_test_multi_day_user_total_travel_is_sum", "callee": "validate", "is_member_call": true, "source_file": "tests/test_vrptw_engine.py", "source_location": "L399", "receiver": "engine"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testmultidayresult_test_single_place_day_no_travel", "callee": "VRPTWRequest", "is_member_call": false, "source_file": "tests/test_vrptw_engine.py", "source_location": "L405", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testmultidayresult_test_single_place_day_no_travel", "callee": "VRPTWDay", "is_member_call": false, "source_file": "tests/test_vrptw_engine.py", "source_location": "L405", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testmultidayresult_test_single_place_day_no_travel", "callee": "POI_A", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "tests/test_vrptw_engine.py", "source_location": "L405"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testmultidayresult_test_single_place_day_no_travel", "callee": "HaversineMatrix", "is_member_call": false, "source_file": "tests/test_vrptw_engine.py", "source_location": "L406", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_testmultidayresult_test_single_place_day_no_travel", "callee": "validate", "is_member_call": true, "source_file": "tests/test_vrptw_engine.py", "source_location": "L407", "receiver": "engine"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_test_summary_contains_score", "callee": "VRPTWRequest", "is_member_call": false, "source_file": "tests/test_vrptw_engine.py", "source_location": "L416", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_test_summary_contains_score", "callee": "VRPTWDay", "is_member_call": false, "source_file": "tests/test_vrptw_engine.py", "source_location": "L416", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_test_summary_contains_score", "callee": "POI_A", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "tests/test_vrptw_engine.py", "source_location": "L416"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_test_summary_contains_score", "callee": "POI_B", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "tests/test_vrptw_engine.py", "source_location": "L416"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_test_summary_contains_score", "callee": "HaversineMatrix", "is_member_call": false, "source_file": "tests/test_vrptw_engine.py", "source_location": "L417", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_test_summary_contains_score", "callee": "validate", "is_member_call": true, "source_file": "tests/test_vrptw_engine.py", "source_location": "L418", "receiver": "engine"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_test_deep_dive_items_have_all_fields", "callee": "VRPTWRequest", "is_member_call": false, "source_file": "tests/test_vrptw_engine.py", "source_location": "L430", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_test_deep_dive_items_have_all_fields", "callee": "VRPTWDay", "is_member_call": false, "source_file": "tests/test_vrptw_engine.py", "source_location": "L430", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_test_deep_dive_items_have_all_fields", "callee": "POI_A", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "tests/test_vrptw_engine.py", "source_location": "L430"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_test_deep_dive_items_have_all_fields", "callee": "HaversineMatrix", "is_member_call": false, "source_file": "tests/test_vrptw_engine.py", "source_location": "L431", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_test_deep_dive_items_have_all_fields", "callee": "validate", "is_member_call": true, "source_file": "tests/test_vrptw_engine.py", "source_location": "L432", "receiver": "engine"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_test_cached_matrix_from_actual_file", "callee": "join", "is_member_call": true, "source_file": "tests/test_vrptw_engine.py", "source_location": "L447", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_test_cached_matrix_from_actual_file", "callee": "dirname", "is_member_call": true, "source_file": "tests/test_vrptw_engine.py", "source_location": "L448", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_test_cached_matrix_from_actual_file", "callee": "__file__", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "tests/test_vrptw_engine.py", "source_location": "L448"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_test_cached_matrix_from_actual_file", "callee": "exists", "is_member_call": true, "source_file": "tests/test_vrptw_engine.py", "source_location": "L450", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_test_cached_matrix_from_actual_file", "callee": "skip", "is_member_call": true, "source_file": "tests/test_vrptw_engine.py", "source_location": "L451", "receiver": "pytest"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_test_cached_matrix_from_actual_file", "callee": "from_file", "is_member_call": true, "source_file": "tests/test_vrptw_engine.py", "source_location": "L452", "receiver": "CachedRouteMatrix"}, {"caller_nid": "$graphify-root$_tests_test_vrptw_engine_test_cached_matrix_from_actual_file", "callee": "get_travel_time", "is_member_call": true, "source_file": "tests/test_vrptw_engine.py", "source_location": "L456", "receiver": "m"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/c7d3ca447b831b996c8fb62a4a4ed76d2e6c33051a260b10ed80d19489db1435.json b/graphify-out/cache/ast/v0.9.31/c7d3ca447b831b996c8fb62a4a4ed76d2e6c33051a260b10ed80d19489db1435.json new file mode 100644 index 0000000..3c76a08 --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/c7d3ca447b831b996c8fb62a4a4ed76d2e6c33051a260b10ed80d19489db1435.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_scripts_build_poi_dataset_py", "label": "build_poi_dataset.py", "file_type": "code", "source_file": "scripts/build_poi_dataset.py", "source_location": "L1"}, {"id": "$graphify-root$_scripts_build_poi_dataset_build_wellness", "label": "build_wellness()", "file_type": "code", "source_file": "scripts/build_poi_dataset.py", "source_location": "L34", "_callable": true}, {"id": "wellnessapiclient", "label": "WellnessAPIClient", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/scripts/build_poi_dataset.py"}, {"id": "$graphify-root$_scripts_build_poi_dataset_build_barrier_free", "label": "build_barrier_free()", "file_type": "code", "source_file": "scripts/build_poi_dataset.py", "source_location": "L49", "_callable": true}, {"id": "barrierfreeapiclient", "label": "BarrierFreeAPIClient", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/scripts/build_poi_dataset.py"}, {"id": "$graphify-root$_scripts_build_poi_dataset_main", "label": "main()", "file_type": "code", "source_file": "scripts/build_poi_dataset.py", "source_location": "L64", "_callable": true}, {"id": "$graphify-root$_scripts_build_poi_dataset_rationale_1", "label": "\uc6f0\ub2c8\uc2a4\u00b7\ubb34\uc7a5\uc560 \uc5ec\ud589\uc9c0 \ub370\uc774\ud130\uc14b \ube4c\ub354. \uacf5\uacf5\ub370\uc774\ud130\ud3ec\ud138 API\ub97c \ud638\ucd9c\ud558\uc5ec \uc804\uccb4 \ubaa9\ub85d\uc744 JSON\uc73c\ub85c \uc800\uc7a5. \uc800\uc7a5 \uacbd\ub85c:\u2026", "file_type": "rationale", "source_file": "scripts/build_poi_dataset.py", "source_location": "L1"}], "edges": [{"source": "$graphify-root$_scripts_build_poi_dataset_py", "target": "asyncio", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/build_poi_dataset.py", "source_location": "L17", "weight": 1.0}, {"source": "$graphify-root$_scripts_build_poi_dataset_py", "target": "json", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/build_poi_dataset.py", "source_location": "L18", "weight": 1.0}, {"source": "$graphify-root$_scripts_build_poi_dataset_py", "target": "sys", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/build_poi_dataset.py", "source_location": "L19", "weight": 1.0}, {"source": "$graphify-root$_scripts_build_poi_dataset_py", "target": "dataclasses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/build_poi_dataset.py", "source_location": "L20", "weight": 1.0}, {"source": "$graphify-root$_scripts_build_poi_dataset_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/build_poi_dataset.py", "source_location": "L21", "weight": 1.0}, {"source": "$graphify-root$_scripts_build_poi_dataset_py", "target": "src_data_barrier_free_api", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/build_poi_dataset.py", "source_location": "L25", "weight": 1.0}, {"source": "$graphify-root$_scripts_build_poi_dataset_py", "target": "src_data_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/build_poi_dataset.py", "source_location": "L26", "weight": 1.0}, {"source": "$graphify-root$_scripts_build_poi_dataset_py", "target": "src_data_wellness_api", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/build_poi_dataset.py", "source_location": "L27", "weight": 1.0}, {"source": "$graphify-root$_scripts_build_poi_dataset_py", "target": "$graphify-root$_scripts_build_poi_dataset_build_wellness", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/build_poi_dataset.py", "source_location": "L34", "weight": 1.0}, {"source": "$graphify-root$_scripts_build_poi_dataset_build_wellness", "target": "wellnessapiclient", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "scripts/build_poi_dataset.py", "source_location": "L34", "weight": 1.0}, {"source": "$graphify-root$_scripts_build_poi_dataset_py", "target": "$graphify-root$_scripts_build_poi_dataset_build_barrier_free", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/build_poi_dataset.py", "source_location": "L49", "weight": 1.0}, {"source": "$graphify-root$_scripts_build_poi_dataset_build_barrier_free", "target": "barrierfreeapiclient", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "scripts/build_poi_dataset.py", "source_location": "L49", "weight": 1.0}, {"source": "$graphify-root$_scripts_build_poi_dataset_py", "target": "$graphify-root$_scripts_build_poi_dataset_main", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/build_poi_dataset.py", "source_location": "L64", "weight": 1.0}, {"source": "$graphify-root$_scripts_build_poi_dataset_main", "target": "$graphify-root$_scripts_build_poi_dataset_build_wellness", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/build_poi_dataset.py", "source_location": "L81", "weight": 1.0}, {"source": "$graphify-root$_scripts_build_poi_dataset_main", "target": "$graphify-root$_scripts_build_poi_dataset_build_barrier_free", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/build_poi_dataset.py", "source_location": "L86", "weight": 1.0}, {"source": "$graphify-root$_scripts_build_poi_dataset_rationale_1", "target": "$graphify-root$_scripts_build_poi_dataset_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "scripts/build_poi_dataset.py", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_scripts_build_poi_dataset_build_wellness", "callee": "fetch_all", "is_member_call": true, "source_file": "scripts/build_poi_dataset.py", "source_location": "L36", "receiver": "client"}, {"caller_nid": "$graphify-root$_scripts_build_poi_dataset_build_wellness", "callee": "asdict", "is_member_call": false, "source_file": "scripts/build_poi_dataset.py", "source_location": "L41", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_build_poi_dataset_build_wellness", "callee": "write_text", "is_member_call": true, "source_file": "scripts/build_poi_dataset.py", "source_location": "L42", "receiver": "WELLNESS_PATH"}, {"caller_nid": "$graphify-root$_scripts_build_poi_dataset_build_wellness", "callee": "dumps", "is_member_call": true, "source_file": "scripts/build_poi_dataset.py", "source_location": "L43", "receiver": "json"}, {"caller_nid": "$graphify-root$_scripts_build_poi_dataset_build_barrier_free", "callee": "fetch_all", "is_member_call": true, "source_file": "scripts/build_poi_dataset.py", "source_location": "L51", "receiver": "client"}, {"caller_nid": "$graphify-root$_scripts_build_poi_dataset_build_barrier_free", "callee": "asdict", "is_member_call": false, "source_file": "scripts/build_poi_dataset.py", "source_location": "L56", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_build_poi_dataset_build_barrier_free", "callee": "write_text", "is_member_call": true, "source_file": "scripts/build_poi_dataset.py", "source_location": "L57", "receiver": "BARRIER_FREE_PATH"}, {"caller_nid": "$graphify-root$_scripts_build_poi_dataset_build_barrier_free", "callee": "dumps", "is_member_call": true, "source_file": "scripts/build_poi_dataset.py", "source_location": "L58", "receiver": "json"}, {"caller_nid": "$graphify-root$_scripts_build_poi_dataset_main", "callee": "mkdir", "is_member_call": true, "source_file": "scripts/build_poi_dataset.py", "source_location": "L65", "receiver": "DATA_DIR"}, {"caller_nid": "$graphify-root$_scripts_build_poi_dataset_main", "callee": "Settings", "is_member_call": false, "source_file": "scripts/build_poi_dataset.py", "source_location": "L67", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_build_poi_dataset_main", "callee": "from_settings", "is_member_call": true, "source_file": "scripts/build_poi_dataset.py", "source_location": "L69", "receiver": "WellnessAPIClient"}, {"caller_nid": "$graphify-root$_scripts_build_poi_dataset_main", "callee": "from_settings", "is_member_call": true, "source_file": "scripts/build_poi_dataset.py", "source_location": "L70", "receiver": "BarrierFreeAPIClient"}, {"caller_nid": "$graphify-root$_scripts_build_poi_dataset_main", "callee": "exit", "is_member_call": true, "source_file": "scripts/build_poi_dataset.py", "source_location": "L77", "receiver": "sys"}, {"caller_nid": "$graphify-root$_scripts_build_poi_dataset_main", "callee": "append", "is_member_call": true, "source_file": "scripts/build_poi_dataset.py", "source_location": "L81", "receiver": "tasks"}, {"caller_nid": "$graphify-root$_scripts_build_poi_dataset_main", "callee": "append", "is_member_call": true, "source_file": "scripts/build_poi_dataset.py", "source_location": "L86", "receiver": "tasks"}, {"caller_nid": "$graphify-root$_scripts_build_poi_dataset_main", "callee": "gather", "is_member_call": true, "source_file": "scripts/build_poi_dataset.py", "source_location": "L90", "receiver": "asyncio"}, {"caller_nid": "$graphify-root$_scripts_build_poi_dataset_main", "callee": "Exception", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/build_poi_dataset.py", "source_location": "L92"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/c9488ccdf6a6a86610a112cb0547d095e2605beae3c248776c39209c65b4f49b.json b/graphify-out/cache/ast/v0.9.31/c9488ccdf6a6a86610a112cb0547d095e2605beae3c248776c39209c65b4f49b.json new file mode 100644 index 0000000..684789a --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/c9488ccdf6a6a86610a112cb0547d095e2605beae3c248776c39209c65b4f49b.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_tests_test_cluster_dispersion_py", "label": "test_cluster_dispersion.py", "file_type": "code", "source_file": "tests/test_cluster_dispersion.py", "source_location": "L1"}, {"id": "$graphify-root$_tests_test_cluster_dispersion_make_place", "label": "_make_place()", "file_type": "code", "source_file": "tests/test_cluster_dispersion.py", "source_location": "L17", "_callable": true}, {"id": "$graphify-root$_tests_test_cluster_dispersion_test_compact_day_no_penalty", "label": "test_compact_day_no_penalty()", "file_type": "code", "source_file": "tests/test_cluster_dispersion.py", "source_location": "L24", "_callable": true}, {"id": "$graphify-root$_tests_test_cluster_dispersion_test_lightning_pattern_high_penalty", "label": "test_lightning_pattern_high_penalty()", "file_type": "code", "source_file": "tests/test_cluster_dispersion.py", "source_location": "L38", "_callable": true}, {"id": "$graphify-root$_tests_test_cluster_dispersion_test_per_day_independence", "label": "test_per_day_independence()", "file_type": "code", "source_file": "tests/test_cluster_dispersion.py", "source_location": "L53", "_callable": true}, {"id": "skipif", "label": "skipif", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/tests/test_cluster_dispersion.py"}, {"id": "$graphify-root$_tests_test_cluster_dispersion_test_geo_cluster_backtrack_gyeongju", "label": "test_geo_cluster_backtrack_gyeongju()", "file_type": "code", "source_file": "tests/test_cluster_dispersion.py", "source_location": "L69", "_callable": true}, {"id": "$graphify-root$_tests_test_cluster_dispersion_test_geo_cluster_no_false_positive_sequential", "label": "test_geo_cluster_no_false_positive_sequential()", "file_type": "code", "source_file": "tests/test_cluster_dispersion.py", "source_location": "L90", "_callable": true}, {"id": "$graphify-root$_tests_test_cluster_dispersion_test_geo_cluster_no_double_penalty_when_m3_fires", "label": "test_geo_cluster_no_double_penalty_when_m3_fires()", "file_type": "code", "source_file": "tests/test_cluster_dispersion.py", "source_location": "L103", "_callable": true}, {"id": "$graphify-root$_tests_test_cluster_dispersion_test_sigungu_switches_only", "label": "test_sigungu_switches_only()", "file_type": "code", "source_file": "tests/test_cluster_dispersion.py", "source_location": "L125", "_callable": true}, {"id": "$graphify-root$_tests_test_cluster_dispersion_rationale_1", "label": "Tests for src/scoring/cluster_dispersion.py \u2014 per-day \uac80\uc99d.", "file_type": "rationale", "source_file": "tests/test_cluster_dispersion.py", "source_location": "L1"}, {"id": "$graphify-root$_tests_test_cluster_dispersion_rationale_25", "label": "\uac19\uc740 \uc2dc\uad70\uad6c + \uac70\ub9ac < 30km \u2192 \ud328\ub110\ud2f0 0.", "file_type": "rationale", "source_file": "tests/test_cluster_dispersion.py", "source_location": "L25"}, {"id": "$graphify-root$_tests_test_cluster_dispersion_rationale_39", "label": "1\uc77c\ucc28\uc5d0 \uc11c\uc6b8\u2194\ubd80\uc0b0 \uc11e\uae30 \u2192 \uac70\ub9ac \uba54\ud2b8\ub9ad CRITICAL + \ucea1 \uc801\uc6a9.", "file_type": "rationale", "source_file": "tests/test_cluster_dispersion.py", "source_location": "L39"}, {"id": "$graphify-root$_tests_test_cluster_dispersion_rationale_54", "label": "Day1=\uc11c\uc6b8 / Day2=\ubd80\uc0b0 (\uac01 day \uc548\uc5d0\uc11c\ub294 \uc751\uc9d1) \u2192 \ud328\ub110\ud2f0 \uc5c6\uc74c.", "file_type": "rationale", "source_file": "tests/test_cluster_dispersion.py", "source_location": "L54"}, {"id": "$graphify-root$_tests_test_cluster_dispersion_rationale_70", "label": "M4: \uacbd\uc8fc \u2014 \ub3d9\uc77c \uc2dc\uad70\uad6c\uc9c0\ub9cc \uc9c0\ub9ac\uc801\uc73c\ub85c \ubd84\uc0b0 \uc655\ubcf5 \u2192 M3=0\uc778\ub370 M4\u22651.", "file_type": "rationale", "source_file": "tests/test_cluster_dispersion.py", "source_location": "L70"}, {"id": "$graphify-root$_tests_test_cluster_dispersion_rationale_91", "label": "M4 false positive: \uac15\ub0a8\u2192\ud64d\ub300 \uc21c\ubc29\ud5a5 \ubc29\ubb38\uc740 \ud328\ub110\ud2f0 \uc5c6\uc5b4\uc57c.", "file_type": "rationale", "source_file": "tests/test_cluster_dispersion.py", "source_location": "L91"}, {"id": "$graphify-root$_tests_test_cluster_dispersion_rationale_104", "label": "M3\uac00 \uc774\ubbf8 \ud0d0\uc9c0\ud55c \uc774\ubca4\ud2b8\uc5d0 M4\uac00 \uc911\ubcf5 \ud328\ub110\ud2f0\ub97c \ucd94\uac00\ud558\uc9c0 \uc54a\ub294\ub2e4. \uac15\ub0a8\uc5ed\u2194\uc5ed\uc0bc\uc5ed: ~0.9km (\uac19\uc740 geo cluster), \ud64d\ub300\uc785\uad6c:\u2026", "file_type": "rationale", "source_file": "tests/test_cluster_dispersion.py", "source_location": "L104"}, {"id": "$graphify-root$_tests_test_cluster_dispersion_rationale_126", "label": "\uac70\ub9ac\ub294 \uc548 \uba40\uc9c0\ub9cc \uc2dc\uad70\uad6c \uc804\ud658 4\ud68c+ \u2192 \uc2dc\uad70\uad6c \ud328\ub110\ud2f0\ub9cc \ubc1c\uc0dd.", "file_type": "rationale", "source_file": "tests/test_cluster_dispersion.py", "source_location": "L126"}], "edges": [{"source": "$graphify-root$_tests_test_cluster_dispersion_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_cluster_dispersion.py", "source_location": "L4", "weight": 1.0}, {"source": "$graphify-root$_tests_test_cluster_dispersion_py", "target": "src_data_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_cluster_dispersion.py", "source_location": "L6", "weight": 1.0}, {"source": "$graphify-root$_tests_test_cluster_dispersion_py", "target": "src_scoring_cluster_dispersion", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_cluster_dispersion.py", "source_location": "L7", "weight": 1.0}, {"source": "$graphify-root$_tests_test_cluster_dispersion_py", "target": "$graphify-root$_tests_test_cluster_dispersion_make_place", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_cluster_dispersion.py", "source_location": "L17", "weight": 1.0}, {"source": "$graphify-root$_tests_test_cluster_dispersion_py", "target": "$graphify-root$_tests_test_cluster_dispersion_test_compact_day_no_penalty", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_cluster_dispersion.py", "source_location": "L24", "weight": 1.0}, {"source": "$graphify-root$_tests_test_cluster_dispersion_py", "target": "$graphify-root$_tests_test_cluster_dispersion_test_lightning_pattern_high_penalty", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_cluster_dispersion.py", "source_location": "L38", "weight": 1.0}, {"source": "$graphify-root$_tests_test_cluster_dispersion_py", "target": "$graphify-root$_tests_test_cluster_dispersion_test_per_day_independence", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_cluster_dispersion.py", "source_location": "L53", "weight": 1.0}, {"source": "$graphify-root$_tests_test_cluster_dispersion_test_geo_cluster_backtrack_gyeongju", "target": "skipif", "relation": "references", "confidence": "EXTRACTED", "source_file": "tests/test_cluster_dispersion.py", "source_location": "L68", "weight": 1.0, "context": "decorator"}, {"source": "$graphify-root$_tests_test_cluster_dispersion_py", "target": "$graphify-root$_tests_test_cluster_dispersion_test_geo_cluster_backtrack_gyeongju", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_cluster_dispersion.py", "source_location": "L69", "weight": 1.0}, {"source": "$graphify-root$_tests_test_cluster_dispersion_test_geo_cluster_no_false_positive_sequential", "target": "skipif", "relation": "references", "confidence": "EXTRACTED", "source_file": "tests/test_cluster_dispersion.py", "source_location": "L89", "weight": 1.0, "context": "decorator"}, {"source": "$graphify-root$_tests_test_cluster_dispersion_py", "target": "$graphify-root$_tests_test_cluster_dispersion_test_geo_cluster_no_false_positive_sequential", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_cluster_dispersion.py", "source_location": "L90", "weight": 1.0}, {"source": "$graphify-root$_tests_test_cluster_dispersion_test_geo_cluster_no_double_penalty_when_m3_fires", "target": "skipif", "relation": "references", "confidence": "EXTRACTED", "source_file": "tests/test_cluster_dispersion.py", "source_location": "L102", "weight": 1.0, "context": "decorator"}, {"source": "$graphify-root$_tests_test_cluster_dispersion_py", "target": "$graphify-root$_tests_test_cluster_dispersion_test_geo_cluster_no_double_penalty_when_m3_fires", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_cluster_dispersion.py", "source_location": "L103", "weight": 1.0}, {"source": "$graphify-root$_tests_test_cluster_dispersion_py", "target": "$graphify-root$_tests_test_cluster_dispersion_test_sigungu_switches_only", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_cluster_dispersion.py", "source_location": "L125", "weight": 1.0}, {"source": "$graphify-root$_tests_test_cluster_dispersion_test_compact_day_no_penalty", "target": "$graphify-root$_tests_test_cluster_dispersion_make_place", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_cluster_dispersion.py", "source_location": "L27", "weight": 1.0}, {"source": "$graphify-root$_tests_test_cluster_dispersion_test_lightning_pattern_high_penalty", "target": "$graphify-root$_tests_test_cluster_dispersion_make_place", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_cluster_dispersion.py", "source_location": "L41", "weight": 1.0}, {"source": "$graphify-root$_tests_test_cluster_dispersion_test_per_day_independence", "target": "$graphify-root$_tests_test_cluster_dispersion_make_place", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_cluster_dispersion.py", "source_location": "L56", "weight": 1.0}, {"source": "$graphify-root$_tests_test_cluster_dispersion_test_geo_cluster_backtrack_gyeongju", "target": "$graphify-root$_tests_test_cluster_dispersion_make_place", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_cluster_dispersion.py", "source_location": "L72", "weight": 1.0}, {"source": "$graphify-root$_tests_test_cluster_dispersion_test_geo_cluster_no_false_positive_sequential", "target": "$graphify-root$_tests_test_cluster_dispersion_make_place", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_cluster_dispersion.py", "source_location": "L93", "weight": 1.0}, {"source": "$graphify-root$_tests_test_cluster_dispersion_test_geo_cluster_no_double_penalty_when_m3_fires", "target": "$graphify-root$_tests_test_cluster_dispersion_make_place", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_cluster_dispersion.py", "source_location": "L111", "weight": 1.0}, {"source": "$graphify-root$_tests_test_cluster_dispersion_test_sigungu_switches_only", "target": "$graphify-root$_tests_test_cluster_dispersion_make_place", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_cluster_dispersion.py", "source_location": "L128", "weight": 1.0}, {"source": "$graphify-root$_tests_test_cluster_dispersion_rationale_1", "target": "$graphify-root$_tests_test_cluster_dispersion_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_cluster_dispersion.py", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_tests_test_cluster_dispersion_rationale_25", "target": "$graphify-root$_tests_test_cluster_dispersion_test_compact_day_no_penalty", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_cluster_dispersion.py", "source_location": "L25", "weight": 1.0}, {"source": "$graphify-root$_tests_test_cluster_dispersion_rationale_39", "target": "$graphify-root$_tests_test_cluster_dispersion_test_lightning_pattern_high_penalty", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_cluster_dispersion.py", "source_location": "L39", "weight": 1.0}, {"source": "$graphify-root$_tests_test_cluster_dispersion_rationale_54", "target": "$graphify-root$_tests_test_cluster_dispersion_test_per_day_independence", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_cluster_dispersion.py", "source_location": "L54", "weight": 1.0}, {"source": "$graphify-root$_tests_test_cluster_dispersion_rationale_70", "target": "$graphify-root$_tests_test_cluster_dispersion_test_geo_cluster_backtrack_gyeongju", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_cluster_dispersion.py", "source_location": "L70", "weight": 1.0}, {"source": "$graphify-root$_tests_test_cluster_dispersion_rationale_91", "target": "$graphify-root$_tests_test_cluster_dispersion_test_geo_cluster_no_false_positive_sequential", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_cluster_dispersion.py", "source_location": "L91", "weight": 1.0}, {"source": "$graphify-root$_tests_test_cluster_dispersion_rationale_104", "target": "$graphify-root$_tests_test_cluster_dispersion_test_geo_cluster_no_double_penalty_when_m3_fires", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_cluster_dispersion.py", "source_location": "L104", "weight": 1.0}, {"source": "$graphify-root$_tests_test_cluster_dispersion_rationale_126", "target": "$graphify-root$_tests_test_cluster_dispersion_test_sigungu_switches_only", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_cluster_dispersion.py", "source_location": "L126", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_tests_test_cluster_dispersion_make_place", "callee": "VRPTWPlace", "is_member_call": false, "source_file": "tests/test_cluster_dispersion.py", "source_location": "L18", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_cluster_dispersion_test_compact_day_no_penalty", "callee": "VRPTWDay", "is_member_call": false, "source_file": "tests/test_cluster_dispersion.py", "source_location": "L26", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_cluster_dispersion_test_compact_day_no_penalty", "callee": "evaluate_cluster_dispersion", "is_member_call": false, "source_file": "tests/test_cluster_dispersion.py", "source_location": "L32", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_cluster_dispersion_test_lightning_pattern_high_penalty", "callee": "VRPTWDay", "is_member_call": false, "source_file": "tests/test_cluster_dispersion.py", "source_location": "L40", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_cluster_dispersion_test_lightning_pattern_high_penalty", "callee": "evaluate_cluster_dispersion", "is_member_call": false, "source_file": "tests/test_cluster_dispersion.py", "source_location": "L46", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_cluster_dispersion_test_per_day_independence", "callee": "VRPTWDay", "is_member_call": false, "source_file": "tests/test_cluster_dispersion.py", "source_location": "L55", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_cluster_dispersion_test_per_day_independence", "callee": "VRPTWDay", "is_member_call": false, "source_file": "tests/test_cluster_dispersion.py", "source_location": "L59", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_cluster_dispersion_test_per_day_independence", "callee": "evaluate_cluster_dispersion", "is_member_call": false, "source_file": "tests/test_cluster_dispersion.py", "source_location": "L64", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_cluster_dispersion_test_geo_cluster_backtrack_gyeongju", "callee": "VRPTWDay", "is_member_call": false, "source_file": "tests/test_cluster_dispersion.py", "source_location": "L71", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_cluster_dispersion_test_geo_cluster_backtrack_gyeongju", "callee": "evaluate_cluster_dispersion", "is_member_call": false, "source_file": "tests/test_cluster_dispersion.py", "source_location": "L79", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_cluster_dispersion_test_geo_cluster_no_false_positive_sequential", "callee": "VRPTWDay", "is_member_call": false, "source_file": "tests/test_cluster_dispersion.py", "source_location": "L92", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_cluster_dispersion_test_geo_cluster_no_false_positive_sequential", "callee": "count_geo_cluster_backtracks", "is_member_call": false, "source_file": "tests/test_cluster_dispersion.py", "source_location": "L98", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_cluster_dispersion_test_geo_cluster_no_double_penalty_when_m3_fires", "callee": "VRPTWDay", "is_member_call": false, "source_file": "tests/test_cluster_dispersion.py", "source_location": "L110", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_cluster_dispersion_test_geo_cluster_no_double_penalty_when_m3_fires", "callee": "evaluate_cluster_dispersion", "is_member_call": false, "source_file": "tests/test_cluster_dispersion.py", "source_location": "L116", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_cluster_dispersion_test_sigungu_switches_only", "callee": "VRPTWDay", "is_member_call": false, "source_file": "tests/test_cluster_dispersion.py", "source_location": "L127", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_cluster_dispersion_test_sigungu_switches_only", "callee": "evaluate_cluster_dispersion", "is_member_call": false, "source_file": "tests/test_cluster_dispersion.py", "source_location": "L135", "receiver": null}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/c99aa95f1b05dac935f12799c24b8d471a5fb159f68eb75ed0aad642e997a0a2.json b/graphify-out/cache/ast/v0.9.31/c99aa95f1b05dac935f12799c24b8d471a5fb159f68eb75ed0aad642e997a0a2.json new file mode 100644 index 0000000..bf213f2 --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/c99aa95f1b05dac935f12799c24b8d471a5fb159f68eb75ed0aad642e997a0a2.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_tests_test_plan_extractor_py", "label": "test_plan_extractor.py", "file_type": "code", "source_file": "tests/test_plan_extractor.py", "source_location": "L1"}, {"id": "$graphify-root$_tests_test_plan_extractor_client_returning", "label": "_client_returning()", "file_type": "code", "source_file": "tests/test_plan_extractor.py", "source_location": "L11", "_callable": true}, {"id": "$graphify-root$_tests_test_plan_extractor_test_extract_from_text_parses_llm_response", "label": "test_extract_from_text_parses_llm_response()", "file_type": "code", "source_file": "tests/test_plan_extractor.py", "source_location": "L19", "_callable": true}, {"id": "$graphify-root$_tests_test_plan_extractor_test_extract_from_text_strips_code_fence", "label": "test_extract_from_text_strips_code_fence()", "file_type": "code", "source_file": "tests/test_plan_extractor.py", "source_location": "L32", "_callable": true}, {"id": "$graphify-root$_tests_test_plan_extractor_test_extract_from_text_empty_raises", "label": "test_extract_from_text_empty_raises()", "file_type": "code", "source_file": "tests/test_plan_extractor.py", "source_location": "L41", "_callable": true}, {"id": "$graphify-root$_tests_test_plan_extractor_test_extract_from_text_without_client_falls_back_to_heuristic", "label": "test_extract_from_text_without_client_falls_back_to_heuristic()", "file_type": "code", "source_file": "tests/test_plan_extractor.py", "source_location": "L47", "_callable": true}, {"id": "$graphify-root$_tests_test_plan_extractor_test_extract_from_document_without_client_raises", "label": "test_extract_from_document_without_client_raises()", "file_type": "code", "source_file": "tests/test_plan_extractor.py", "source_location": "L58", "_callable": true}, {"id": "$graphify-root$_tests_test_plan_extractor_test_extract_from_document_empty_bytes_raises", "label": "test_extract_from_document_empty_bytes_raises()", "file_type": "code", "source_file": "tests/test_plan_extractor.py", "source_location": "L64", "_callable": true}, {"id": "$graphify-root$_tests_test_plan_extractor_test_extract_from_document_sends_document_block_for_pdf", "label": "test_extract_from_document_sends_document_block_for_pdf()", "file_type": "code", "source_file": "tests/test_plan_extractor.py", "source_location": "L70", "_callable": true}, {"id": "$graphify-root$_tests_test_plan_extractor_test_extract_from_document_sends_image_block_for_png", "label": "test_extract_from_document_sends_image_block_for_png()", "file_type": "code", "source_file": "tests/test_plan_extractor.py", "source_location": "L81", "_callable": true}, {"id": "$graphify-root$_tests_test_plan_extractor_test_invalid_json_response_raises", "label": "test_invalid_json_response_raises()", "file_type": "code", "source_file": "tests/test_plan_extractor.py", "source_location": "L91", "_callable": true}, {"id": "$graphify-root$_tests_test_plan_extractor_test_api_call_failure_raises_extraction_error", "label": "test_api_call_failure_raises_extraction_error()", "file_type": "code", "source_file": "tests/test_plan_extractor.py", "source_location": "L97", "_callable": true}, {"id": "$graphify-root$_tests_test_plan_extractor_test_system_prompt_uses_prompt_caching", "label": "test_system_prompt_uses_prompt_caching()", "file_type": "code", "source_file": "tests/test_plan_extractor.py", "source_location": "L106", "_callable": true}, {"id": "$graphify-root$_tests_test_plan_extractor_rationale_1", "label": "PlanExtractor \ud14c\uc2a4\ud2b8 (\uc2e4\uc81c Claude API \ud638\ucd9c X \u2014 \ubaa8\ub450 mock).", "file_type": "rationale", "source_file": "tests/test_plan_extractor.py", "source_location": "L1"}, {"id": "$graphify-root$_tests_test_plan_extractor_rationale_107", "label": "system \ud504\ub86c\ud504\ud2b8\ub294 \ub9e4 \ud638\ucd9c \ub3d9\uc77c\ud558\ubbc0\ub85c ephemeral \uce90\uc2f1 \ub300\uc0c1\uc774\uc5b4\uc57c \ud568(\uc9c0\uc5f0/\ud1a0\ud070 \uc808\uac10).", "file_type": "rationale", "source_file": "tests/test_plan_extractor.py", "source_location": "L107"}], "edges": [{"source": "$graphify-root$_tests_test_plan_extractor_py", "target": "unittest_mock", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_plan_extractor.py", "source_location": "L4", "weight": 1.0}, {"source": "$graphify-root$_tests_test_plan_extractor_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_plan_extractor.py", "source_location": "L6", "weight": 1.0}, {"source": "$graphify-root$_tests_test_plan_extractor_py", "target": "src_explain_plan_extractor", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_plan_extractor.py", "source_location": "L8", "weight": 1.0}, {"source": "$graphify-root$_tests_test_plan_extractor_py", "target": "$graphify-root$_tests_test_plan_extractor_client_returning", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_plan_extractor.py", "source_location": "L11", "weight": 1.0}, {"source": "$graphify-root$_tests_test_plan_extractor_py", "target": "$graphify-root$_tests_test_plan_extractor_test_extract_from_text_parses_llm_response", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_plan_extractor.py", "source_location": "L19", "weight": 1.0}, {"source": "$graphify-root$_tests_test_plan_extractor_py", "target": "$graphify-root$_tests_test_plan_extractor_test_extract_from_text_strips_code_fence", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_plan_extractor.py", "source_location": "L32", "weight": 1.0}, {"source": "$graphify-root$_tests_test_plan_extractor_py", "target": "$graphify-root$_tests_test_plan_extractor_test_extract_from_text_empty_raises", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_plan_extractor.py", "source_location": "L41", "weight": 1.0}, {"source": "$graphify-root$_tests_test_plan_extractor_py", "target": "$graphify-root$_tests_test_plan_extractor_test_extract_from_text_without_client_falls_back_to_heuristic", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_plan_extractor.py", "source_location": "L47", "weight": 1.0}, {"source": "$graphify-root$_tests_test_plan_extractor_py", "target": "$graphify-root$_tests_test_plan_extractor_test_extract_from_document_without_client_raises", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_plan_extractor.py", "source_location": "L58", "weight": 1.0}, {"source": "$graphify-root$_tests_test_plan_extractor_py", "target": "$graphify-root$_tests_test_plan_extractor_test_extract_from_document_empty_bytes_raises", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_plan_extractor.py", "source_location": "L64", "weight": 1.0}, {"source": "$graphify-root$_tests_test_plan_extractor_py", "target": "$graphify-root$_tests_test_plan_extractor_test_extract_from_document_sends_document_block_for_pdf", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_plan_extractor.py", "source_location": "L70", "weight": 1.0}, {"source": "$graphify-root$_tests_test_plan_extractor_py", "target": "$graphify-root$_tests_test_plan_extractor_test_extract_from_document_sends_image_block_for_png", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_plan_extractor.py", "source_location": "L81", "weight": 1.0}, {"source": "$graphify-root$_tests_test_plan_extractor_py", "target": "$graphify-root$_tests_test_plan_extractor_test_invalid_json_response_raises", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_plan_extractor.py", "source_location": "L91", "weight": 1.0}, {"source": "$graphify-root$_tests_test_plan_extractor_py", "target": "$graphify-root$_tests_test_plan_extractor_test_api_call_failure_raises_extraction_error", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_plan_extractor.py", "source_location": "L97", "weight": 1.0}, {"source": "$graphify-root$_tests_test_plan_extractor_py", "target": "$graphify-root$_tests_test_plan_extractor_test_system_prompt_uses_prompt_caching", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_plan_extractor.py", "source_location": "L106", "weight": 1.0}, {"source": "$graphify-root$_tests_test_plan_extractor_test_extract_from_text_parses_llm_response", "target": "$graphify-root$_tests_test_plan_extractor_client_returning", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_plan_extractor.py", "source_location": "L20", "weight": 1.0}, {"source": "$graphify-root$_tests_test_plan_extractor_test_extract_from_text_strips_code_fence", "target": "$graphify-root$_tests_test_plan_extractor_client_returning", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_plan_extractor.py", "source_location": "L33", "weight": 1.0}, {"source": "$graphify-root$_tests_test_plan_extractor_test_extract_from_text_empty_raises", "target": "$graphify-root$_tests_test_plan_extractor_client_returning", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_plan_extractor.py", "source_location": "L42", "weight": 1.0}, {"source": "$graphify-root$_tests_test_plan_extractor_test_extract_from_document_empty_bytes_raises", "target": "$graphify-root$_tests_test_plan_extractor_client_returning", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_plan_extractor.py", "source_location": "L65", "weight": 1.0}, {"source": "$graphify-root$_tests_test_plan_extractor_test_extract_from_document_sends_document_block_for_pdf", "target": "$graphify-root$_tests_test_plan_extractor_client_returning", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_plan_extractor.py", "source_location": "L71", "weight": 1.0}, {"source": "$graphify-root$_tests_test_plan_extractor_test_extract_from_document_sends_image_block_for_png", "target": "$graphify-root$_tests_test_plan_extractor_client_returning", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_plan_extractor.py", "source_location": "L82", "weight": 1.0}, {"source": "$graphify-root$_tests_test_plan_extractor_test_invalid_json_response_raises", "target": "$graphify-root$_tests_test_plan_extractor_client_returning", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_plan_extractor.py", "source_location": "L92", "weight": 1.0}, {"source": "$graphify-root$_tests_test_plan_extractor_test_system_prompt_uses_prompt_caching", "target": "$graphify-root$_tests_test_plan_extractor_client_returning", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_plan_extractor.py", "source_location": "L108", "weight": 1.0}, {"source": "$graphify-root$_tests_test_plan_extractor_rationale_1", "target": "$graphify-root$_tests_test_plan_extractor_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_plan_extractor.py", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_tests_test_plan_extractor_rationale_107", "target": "$graphify-root$_tests_test_plan_extractor_test_system_prompt_uses_prompt_caching", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_plan_extractor.py", "source_location": "L107", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_tests_test_plan_extractor_client_returning", "callee": "MagicMock", "is_member_call": false, "source_file": "tests/test_plan_extractor.py", "source_location": "L12", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_plan_extractor_client_returning", "callee": "MagicMock", "is_member_call": false, "source_file": "tests/test_plan_extractor.py", "source_location": "L13", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_plan_extractor_client_returning", "callee": "MagicMock", "is_member_call": false, "source_file": "tests/test_plan_extractor.py", "source_location": "L15", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_plan_extractor_test_extract_from_text_parses_llm_response", "callee": "PlanExtractor", "is_member_call": false, "source_file": "tests/test_plan_extractor.py", "source_location": "L23", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_plan_extractor_test_extract_from_text_parses_llm_response", "callee": "extract_from_text", "is_member_call": true, "source_file": "tests/test_plan_extractor.py", "source_location": "L25", "receiver": "extractor"}, {"caller_nid": "$graphify-root$_tests_test_plan_extractor_test_extract_from_text_parses_llm_response", "callee": "assert_called_once", "is_member_call": true, "source_file": "tests/test_plan_extractor.py", "source_location": "L29", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_plan_extractor_test_extract_from_text_strips_code_fence", "callee": "PlanExtractor", "is_member_call": false, "source_file": "tests/test_plan_extractor.py", "source_location": "L34", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_plan_extractor_test_extract_from_text_strips_code_fence", "callee": "extract_from_text", "is_member_call": true, "source_file": "tests/test_plan_extractor.py", "source_location": "L36", "receiver": "extractor"}, {"caller_nid": "$graphify-root$_tests_test_plan_extractor_test_extract_from_text_empty_raises", "callee": "PlanExtractor", "is_member_call": false, "source_file": "tests/test_plan_extractor.py", "source_location": "L42", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_plan_extractor_test_extract_from_text_empty_raises", "callee": "raises", "is_member_call": true, "source_file": "tests/test_plan_extractor.py", "source_location": "L43", "receiver": "pytest"}, {"caller_nid": "$graphify-root$_tests_test_plan_extractor_test_extract_from_text_empty_raises", "callee": "PlanExtractionError", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "tests/test_plan_extractor.py", "source_location": "L43"}, {"caller_nid": "$graphify-root$_tests_test_plan_extractor_test_extract_from_text_empty_raises", "callee": "extract_from_text", "is_member_call": true, "source_file": "tests/test_plan_extractor.py", "source_location": "L44", "receiver": "extractor"}, {"caller_nid": "$graphify-root$_tests_test_plan_extractor_test_extract_from_text_without_client_falls_back_to_heuristic", "callee": "PlanExtractor", "is_member_call": false, "source_file": "tests/test_plan_extractor.py", "source_location": "L48", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_plan_extractor_test_extract_from_text_without_client_falls_back_to_heuristic", "callee": "extract_from_text", "is_member_call": true, "source_file": "tests/test_plan_extractor.py", "source_location": "L50", "receiver": "extractor"}, {"caller_nid": "$graphify-root$_tests_test_plan_extractor_test_extract_from_document_without_client_raises", "callee": "PlanExtractor", "is_member_call": false, "source_file": "tests/test_plan_extractor.py", "source_location": "L59", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_plan_extractor_test_extract_from_document_without_client_raises", "callee": "raises", "is_member_call": true, "source_file": "tests/test_plan_extractor.py", "source_location": "L60", "receiver": "pytest"}, {"caller_nid": "$graphify-root$_tests_test_plan_extractor_test_extract_from_document_without_client_raises", "callee": "PlanExtractionError", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "tests/test_plan_extractor.py", "source_location": "L60"}, {"caller_nid": "$graphify-root$_tests_test_plan_extractor_test_extract_from_document_without_client_raises", "callee": "extract_from_document", "is_member_call": true, "source_file": "tests/test_plan_extractor.py", "source_location": "L61", "receiver": "extractor"}, {"caller_nid": "$graphify-root$_tests_test_plan_extractor_test_extract_from_document_empty_bytes_raises", "callee": "PlanExtractor", "is_member_call": false, "source_file": "tests/test_plan_extractor.py", "source_location": "L65", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_plan_extractor_test_extract_from_document_empty_bytes_raises", "callee": "raises", "is_member_call": true, "source_file": "tests/test_plan_extractor.py", "source_location": "L66", "receiver": "pytest"}, {"caller_nid": "$graphify-root$_tests_test_plan_extractor_test_extract_from_document_empty_bytes_raises", "callee": "PlanExtractionError", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "tests/test_plan_extractor.py", "source_location": "L66"}, {"caller_nid": "$graphify-root$_tests_test_plan_extractor_test_extract_from_document_empty_bytes_raises", "callee": "extract_from_document", "is_member_call": true, "source_file": "tests/test_plan_extractor.py", "source_location": "L67", "receiver": "extractor"}, {"caller_nid": "$graphify-root$_tests_test_plan_extractor_test_extract_from_document_sends_document_block_for_pdf", "callee": "PlanExtractor", "is_member_call": false, "source_file": "tests/test_plan_extractor.py", "source_location": "L72", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_plan_extractor_test_extract_from_document_sends_document_block_for_pdf", "callee": "extract_from_document", "is_member_call": true, "source_file": "tests/test_plan_extractor.py", "source_location": "L74", "receiver": "extractor"}, {"caller_nid": "$graphify-root$_tests_test_plan_extractor_test_extract_from_document_sends_image_block_for_png", "callee": "PlanExtractor", "is_member_call": false, "source_file": "tests/test_plan_extractor.py", "source_location": "L83", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_plan_extractor_test_extract_from_document_sends_image_block_for_png", "callee": "extract_from_document", "is_member_call": true, "source_file": "tests/test_plan_extractor.py", "source_location": "L85", "receiver": "extractor"}, {"caller_nid": "$graphify-root$_tests_test_plan_extractor_test_invalid_json_response_raises", "callee": "PlanExtractor", "is_member_call": false, "source_file": "tests/test_plan_extractor.py", "source_location": "L92", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_plan_extractor_test_invalid_json_response_raises", "callee": "raises", "is_member_call": true, "source_file": "tests/test_plan_extractor.py", "source_location": "L93", "receiver": "pytest"}, {"caller_nid": "$graphify-root$_tests_test_plan_extractor_test_invalid_json_response_raises", "callee": "PlanExtractionError", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "tests/test_plan_extractor.py", "source_location": "L93"}, {"caller_nid": "$graphify-root$_tests_test_plan_extractor_test_invalid_json_response_raises", "callee": "extract_from_text", "is_member_call": true, "source_file": "tests/test_plan_extractor.py", "source_location": "L94", "receiver": "extractor"}, {"caller_nid": "$graphify-root$_tests_test_plan_extractor_test_api_call_failure_raises_extraction_error", "callee": "MagicMock", "is_member_call": false, "source_file": "tests/test_plan_extractor.py", "source_location": "L98", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_plan_extractor_test_api_call_failure_raises_extraction_error", "callee": "RuntimeError", "is_member_call": false, "source_file": "tests/test_plan_extractor.py", "source_location": "L99", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_plan_extractor_test_api_call_failure_raises_extraction_error", "callee": "PlanExtractor", "is_member_call": false, "source_file": "tests/test_plan_extractor.py", "source_location": "L100", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_plan_extractor_test_api_call_failure_raises_extraction_error", "callee": "raises", "is_member_call": true, "source_file": "tests/test_plan_extractor.py", "source_location": "L102", "receiver": "pytest"}, {"caller_nid": "$graphify-root$_tests_test_plan_extractor_test_api_call_failure_raises_extraction_error", "callee": "PlanExtractionError", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "tests/test_plan_extractor.py", "source_location": "L102"}, {"caller_nid": "$graphify-root$_tests_test_plan_extractor_test_api_call_failure_raises_extraction_error", "callee": "extract_from_text", "is_member_call": true, "source_file": "tests/test_plan_extractor.py", "source_location": "L103", "receiver": "extractor"}, {"caller_nid": "$graphify-root$_tests_test_plan_extractor_test_system_prompt_uses_prompt_caching", "callee": "PlanExtractor", "is_member_call": false, "source_file": "tests/test_plan_extractor.py", "source_location": "L109", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_plan_extractor_test_system_prompt_uses_prompt_caching", "callee": "extract_from_text", "is_member_call": true, "source_file": "tests/test_plan_extractor.py", "source_location": "L111", "receiver": "extractor"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/caa1ad54c2c0b12774e306037a9557964a2e789ce4aad927bad2453e6758bedf.json b/graphify-out/cache/ast/v0.9.31/caa1ad54c2c0b12774e306037a9557964a2e789ce4aad927bad2453e6758bedf.json new file mode 100644 index 0000000..7532b06 --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/caa1ad54c2c0b12774e306037a9557964a2e789ce4aad927bad2453e6758bedf.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_scripts_load_knowledge_graph_neo4j_py", "label": "load_knowledge_graph_neo4j.py", "file_type": "code", "source_file": "scripts/load_knowledge_graph_neo4j.py", "source_location": "L1"}, {"id": "$graphify-root$_scripts_load_knowledge_graph_neo4j_strip_type_suffix", "label": "_strip_type_suffix()", "file_type": "code", "source_file": "scripts/load_knowledge_graph_neo4j.py", "source_location": "L37", "_callable": true}, {"id": "$graphify-root$_scripts_load_knowledge_graph_neo4j_load_rows", "label": "_load_rows()", "file_type": "code", "source_file": "scripts/load_knowledge_graph_neo4j.py", "source_location": "L45", "_callable": true}, {"id": "$graphify-root$_scripts_load_knowledge_graph_neo4j_run_batched", "label": "_run_batched()", "file_type": "code", "source_file": "scripts/load_knowledge_graph_neo4j.py", "source_location": "L52", "_callable": true}, {"id": "driver", "label": "Driver", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/scripts/load_knowledge_graph_neo4j.py"}, {"id": "$graphify-root$_scripts_load_knowledge_graph_neo4j_main", "label": "main()", "file_type": "code", "source_file": "scripts/load_knowledge_graph_neo4j.py", "source_location": "L61", "_callable": true}], "edges": [{"source": "$graphify-root$_scripts_load_knowledge_graph_neo4j_py", "target": "os", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/load_knowledge_graph_neo4j.py", "source_location": "L17", "weight": 1.0}, {"source": "$graphify-root$_scripts_load_knowledge_graph_neo4j_py", "target": "sys", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/load_knowledge_graph_neo4j.py", "source_location": "L18", "weight": 1.0}, {"source": "$graphify-root$_scripts_load_knowledge_graph_neo4j_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/load_knowledge_graph_neo4j.py", "source_location": "L19", "weight": 1.0}, {"source": "$graphify-root$_scripts_load_knowledge_graph_neo4j_py", "target": "pandas", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/load_knowledge_graph_neo4j.py", "source_location": "L21", "weight": 1.0, "local_alias": "pd"}, {"source": "$graphify-root$_scripts_load_knowledge_graph_neo4j_py", "target": "dotenv", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/load_knowledge_graph_neo4j.py", "source_location": "L22", "weight": 1.0}, {"source": "$graphify-root$_scripts_load_knowledge_graph_neo4j_py", "target": "neo4j", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/load_knowledge_graph_neo4j.py", "source_location": "L23", "weight": 1.0}, {"source": "$graphify-root$_scripts_load_knowledge_graph_neo4j_py", "target": "neo4j_exceptions", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/load_knowledge_graph_neo4j.py", "source_location": "L24", "weight": 1.0}, {"source": "$graphify-root$_scripts_load_knowledge_graph_neo4j_py", "target": "$graphify-root$_scripts_load_knowledge_graph_neo4j_strip_type_suffix", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/load_knowledge_graph_neo4j.py", "source_location": "L37", "weight": 1.0}, {"source": "$graphify-root$_scripts_load_knowledge_graph_neo4j_py", "target": "$graphify-root$_scripts_load_knowledge_graph_neo4j_load_rows", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/load_knowledge_graph_neo4j.py", "source_location": "L45", "weight": 1.0}, {"source": "$graphify-root$_scripts_load_knowledge_graph_neo4j_py", "target": "$graphify-root$_scripts_load_knowledge_graph_neo4j_run_batched", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/load_knowledge_graph_neo4j.py", "source_location": "L52", "weight": 1.0}, {"source": "$graphify-root$_scripts_load_knowledge_graph_neo4j_run_batched", "target": "driver", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "scripts/load_knowledge_graph_neo4j.py", "source_location": "L52", "weight": 1.0}, {"source": "$graphify-root$_scripts_load_knowledge_graph_neo4j_py", "target": "$graphify-root$_scripts_load_knowledge_graph_neo4j_main", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/load_knowledge_graph_neo4j.py", "source_location": "L61", "weight": 1.0}, {"source": "$graphify-root$_scripts_load_knowledge_graph_neo4j_load_rows", "target": "$graphify-root$_scripts_load_knowledge_graph_neo4j_strip_type_suffix", "relation": "indirect_call", "context": "argument", "confidence": "INFERRED", "source_file": "scripts/load_knowledge_graph_neo4j.py", "source_location": "L47", "weight": 1.0}, {"source": "$graphify-root$_scripts_load_knowledge_graph_neo4j_main", "target": "$graphify-root$_scripts_load_knowledge_graph_neo4j_run_batched", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/load_knowledge_graph_neo4j.py", "source_location": "L77", "weight": 1.0}, {"source": "$graphify-root$_scripts_load_knowledge_graph_neo4j_main", "target": "$graphify-root$_scripts_load_knowledge_graph_neo4j_load_rows", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/load_knowledge_graph_neo4j.py", "source_location": "L80", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_scripts_load_knowledge_graph_neo4j_strip_type_suffix", "callee": "startswith", "is_member_call": true, "source_file": "scripts/load_knowledge_graph_neo4j.py", "source_location": "L40", "receiver": "col"}, {"caller_nid": "$graphify-root$_scripts_load_knowledge_graph_neo4j_strip_type_suffix", "callee": "split", "is_member_call": true, "source_file": "scripts/load_knowledge_graph_neo4j.py", "source_location": "L42", "receiver": "col"}, {"caller_nid": "$graphify-root$_scripts_load_knowledge_graph_neo4j_load_rows", "callee": "read_csv", "is_member_call": true, "source_file": "scripts/load_knowledge_graph_neo4j.py", "source_location": "L46", "receiver": "pd"}, {"caller_nid": "$graphify-root$_scripts_load_knowledge_graph_neo4j_load_rows", "callee": "rename", "is_member_call": true, "source_file": "scripts/load_knowledge_graph_neo4j.py", "source_location": "L47", "receiver": "df"}, {"caller_nid": "$graphify-root$_scripts_load_knowledge_graph_neo4j_load_rows", "callee": "where", "is_member_call": true, "source_file": "scripts/load_knowledge_graph_neo4j.py", "source_location": "L48", "receiver": "df"}, {"caller_nid": "$graphify-root$_scripts_load_knowledge_graph_neo4j_load_rows", "callee": "notna", "is_member_call": true, "source_file": "scripts/load_knowledge_graph_neo4j.py", "source_location": "L48", "receiver": "pd"}, {"caller_nid": "$graphify-root$_scripts_load_knowledge_graph_neo4j_load_rows", "callee": "to_dict", "is_member_call": true, "source_file": "scripts/load_knowledge_graph_neo4j.py", "source_location": "L49", "receiver": "df"}, {"caller_nid": "$graphify-root$_scripts_load_knowledge_graph_neo4j_run_batched", "callee": "BATCH_SIZE", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/load_knowledge_graph_neo4j.py", "source_location": "L54"}, {"caller_nid": "$graphify-root$_scripts_load_knowledge_graph_neo4j_run_batched", "callee": "execute_query", "is_member_call": true, "source_file": "scripts/load_knowledge_graph_neo4j.py", "source_location": "L56", "receiver": "driver"}, {"caller_nid": "$graphify-root$_scripts_load_knowledge_graph_neo4j_main", "callee": "load_dotenv", "is_member_call": false, "source_file": "scripts/load_knowledge_graph_neo4j.py", "source_location": "L62", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_load_knowledge_graph_neo4j_main", "callee": "get", "is_member_call": true, "source_file": "scripts/load_knowledge_graph_neo4j.py", "source_location": "L66", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_load_knowledge_graph_neo4j_main", "callee": "driver", "is_member_call": true, "source_file": "scripts/load_knowledge_graph_neo4j.py", "source_location": "L68", "receiver": "GraphDatabase"}, {"caller_nid": "$graphify-root$_scripts_load_knowledge_graph_neo4j_main", "callee": "verify_connectivity", "is_member_call": true, "source_file": "scripts/load_knowledge_graph_neo4j.py", "source_location": "L69", "receiver": "driver"}, {"caller_nid": "$graphify-root$_scripts_load_knowledge_graph_neo4j_main", "callee": "execute_query", "is_member_call": true, "source_file": "scripts/load_knowledge_graph_neo4j.py", "source_location": "L74", "receiver": "driver"}, {"caller_nid": "$graphify-root$_scripts_load_knowledge_graph_neo4j_main", "callee": "BATCH_SIZE", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/load_knowledge_graph_neo4j.py", "source_location": "L145"}, {"caller_nid": "$graphify-root$_scripts_load_knowledge_graph_neo4j_main", "callee": "execute_query", "is_member_call": true, "source_file": "scripts/load_knowledge_graph_neo4j.py", "source_location": "L147", "receiver": "driver"}, {"caller_nid": "$graphify-root$_scripts_load_knowledge_graph_neo4j_main", "callee": "close", "is_member_call": true, "source_file": "scripts/load_knowledge_graph_neo4j.py", "source_location": "L162", "receiver": "driver"}, {"caller_nid": "$graphify-root$_scripts_load_knowledge_graph_neo4j_main", "callee": "exit", "is_member_call": true, "source_file": "scripts/load_knowledge_graph_neo4j.py", "source_location": "L163", "receiver": "sys"}, {"caller_nid": "$graphify-root$_scripts_load_knowledge_graph_neo4j_main", "callee": "close", "is_member_call": true, "source_file": "scripts/load_knowledge_graph_neo4j.py", "source_location": "L165", "receiver": "driver"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/cbcedc6fa0fe399384ca41bf750a73abb2a764fb459d59b3e554690902595190.json b/graphify-out/cache/ast/v0.9.31/cbcedc6fa0fe399384ca41bf750a73abb2a764fb459d59b3e554690902595190.json new file mode 100644 index 0000000..db38aa8 --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/cbcedc6fa0fe399384ca41bf750a73abb2a764fb459d59b3e554690902595190.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_tests_test_kakao_matrix_py", "label": "test_kakao_matrix.py", "file_type": "code", "source_file": "tests/test_kakao_matrix.py", "source_location": "L1"}, {"id": "$graphify-root$_tests_test_kakao_matrix_place", "label": "_place()", "file_type": "code", "source_file": "tests/test_kakao_matrix.py", "source_location": "L13", "_callable": true}, {"id": "vrptwplace", "label": "VRPTWPlace", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/tests/test_kakao_matrix.py"}, {"id": "$graphify-root$_tests_test_kakao_matrix_ok_response", "label": "_ok_response()", "file_type": "code", "source_file": "tests/test_kakao_matrix.py", "source_location": "L20", "_callable": true}, {"id": "$graphify-root$_tests_test_kakao_matrix_httpx_sync_client", "label": "_httpx_sync_client()", "file_type": "code", "source_file": "tests/test_kakao_matrix.py", "source_location": "L33", "_callable": true}, {"id": "$graphify-root$_tests_test_kakao_matrix_testsamepoint", "label": "TestSamePoint", "file_type": "code", "source_file": "tests/test_kakao_matrix.py", "source_location": "L47", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_tests_test_kakao_matrix_testsamepoint_test_same_coords_returns_zero", "label": ".test_same_coords_returns_zero()", "file_type": "code", "source_file": "tests/test_kakao_matrix.py", "source_location": "L48", "_callable": true}, {"id": "$graphify-root$_tests_test_kakao_matrix_testapicall", "label": "TestApiCall", "file_type": "code", "source_file": "tests/test_kakao_matrix.py", "source_location": "L58", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_tests_test_kakao_matrix_testapicall_test_sync_call_populates_cache", "label": ".test_sync_call_populates_cache()", "file_type": "code", "source_file": "tests/test_kakao_matrix.py", "source_location": "L59", "_callable": true}, {"id": "$graphify-root$_tests_test_kakao_matrix_testapicall_test_get_travel_time_uses_cache_after_sync_call", "label": ".test_get_travel_time_uses_cache_after_sync_call()", "file_type": "code", "source_file": "tests/test_kakao_matrix.py", "source_location": "L71", "_callable": true}, {"id": "$graphify-root$_tests_test_kakao_matrix_testapicall_test_get_travel_time_second_call_cache_hit", "label": ".test_get_travel_time_second_call_cache_hit()", "file_type": "code", "source_file": "tests/test_kakao_matrix.py", "source_location": "L85", "_callable": true}, {"id": "$graphify-root$_tests_test_kakao_matrix_testapicall_test_reverse_direction_also_cached", "label": ".test_reverse_direction_also_cached()", "file_type": "code", "source_file": "tests/test_kakao_matrix.py", "source_location": "L98", "_callable": true}, {"id": "$graphify-root$_tests_test_kakao_matrix_testquotaexhaustion", "label": "TestQuotaExhaustion", "file_type": "code", "source_file": "tests/test_kakao_matrix.py", "source_location": "L116", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_tests_test_kakao_matrix_testquotaexhaustion_test_429_sets_quota_exhausted", "label": ".test_429_sets_quota_exhausted()", "file_type": "code", "source_file": "tests/test_kakao_matrix.py", "source_location": "L117", "_callable": true}, {"id": "$graphify-root$_tests_test_kakao_matrix_testquotaexhaustion_test_get_travel_time_haversine_fallback_when_no_cache", "label": ".test_get_travel_time_haversine_fallback_when_no_cache()", "file_type": "code", "source_file": "tests/test_kakao_matrix.py", "source_location": "L132", "_callable": true}, {"id": "$graphify-root$_tests_test_kakao_matrix_testquotaexhaustion_test_after_quota_exhausted_get_travel_time_falls_back", "label": ".test_after_quota_exhausted_get_travel_time_falls_back()", "file_type": "code", "source_file": "tests/test_kakao_matrix.py", "source_location": "L141", "_callable": true}, {"id": "$graphify-root$_tests_test_kakao_matrix_testautherror", "label": "TestAuthError", "file_type": "code", "source_file": "tests/test_kakao_matrix.py", "source_location": "L155", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_tests_test_kakao_matrix_testautherror_test_401_raises", "label": ".test_401_raises()", "file_type": "code", "source_file": "tests/test_kakao_matrix.py", "source_location": "L156", "_callable": true}, {"id": "$graphify-root$_tests_test_kakao_matrix_testcachepersistence", "label": "TestCachePersistence", "file_type": "code", "source_file": "tests/test_kakao_matrix.py", "source_location": "L174", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_tests_test_kakao_matrix_testcachepersistence_test_save_and_load_cache", "label": ".test_save_and_load_cache()", "file_type": "code", "source_file": "tests/test_kakao_matrix.py", "source_location": "L175", "_callable": true}, {"id": "$graphify-root$_tests_test_kakao_matrix_testfromenv", "label": "TestFromEnv", "file_type": "code", "source_file": "tests/test_kakao_matrix.py", "source_location": "L201", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_tests_test_kakao_matrix_testfromenv_test_no_key_raises", "label": ".test_no_key_raises()", "file_type": "code", "source_file": "tests/test_kakao_matrix.py", "source_location": "L202", "_callable": true}, {"id": "$graphify-root$_tests_test_kakao_matrix_testfromenv_test_uses_mobility_key_first", "label": ".test_uses_mobility_key_first()", "file_type": "code", "source_file": "tests/test_kakao_matrix.py", "source_location": "L208", "_callable": true}, {"id": "$graphify-root$_tests_test_kakao_matrix_testfromenv_test_falls_back_to_rest_key", "label": ".test_falls_back_to_rest_key()", "file_type": "code", "source_file": "tests/test_kakao_matrix.py", "source_location": "L214", "_callable": true}, {"id": "$graphify-root$_tests_test_kakao_matrix_testasyncprefetch", "label": "TestAsyncPrefetch", "file_type": "code", "source_file": "tests/test_kakao_matrix.py", "source_location": "L225", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_tests_test_kakao_matrix_testasyncprefetch_test_aprefetch_populates_cache_and_hit_on_get", "label": ".test_aprefetch_populates_cache_and_hit_on_get()", "file_type": "code", "source_file": "tests/test_kakao_matrix.py", "source_location": "L226", "_callable": true}, {"id": "$graphify-root$_tests_test_kakao_matrix_testasyncprefetch_test_aprefetch_deduplicates_bidirectional", "label": ".test_aprefetch_deduplicates_bidirectional()", "file_type": "code", "source_file": "tests/test_kakao_matrix.py", "source_location": "L241", "_callable": true}, {"id": "$graphify-root$_tests_test_kakao_matrix_rationale_1", "label": "KakaoMobilityMatrix \ud14c\uc2a4\ud2b8 (\uc2e4\uc81c API \ud638\ucd9c X \u2014 \ubaa8\ub450 mock).", "file_type": "rationale", "source_file": "tests/test_kakao_matrix.py", "source_location": "L1"}, {"id": "$graphify-root$_tests_test_kakao_matrix_rationale_21", "label": "\uce74\uce74\uc624 \uc815\uc0c1 \uc751\ub2f5 mock \u2014 duration 600\ucd08.", "file_type": "rationale", "source_file": "tests/test_kakao_matrix.py", "source_location": "L21"}, {"id": "$graphify-root$_tests_test_kakao_matrix_rationale_34", "label": "httpx.Client() context manager mock.", "file_type": "rationale", "source_file": "tests/test_kakao_matrix.py", "source_location": "L34"}, {"id": "$graphify-root$_tests_test_kakao_matrix_rationale_227", "label": "aprefetch_matrix \ud6c4 get_travel_time\uc774 \uce90\uc2dc\ub97c \uc0ac\uc6a9\ud55c\ub2e4.", "file_type": "rationale", "source_file": "tests/test_kakao_matrix.py", "source_location": "L227"}, {"id": "$graphify-root$_tests_test_kakao_matrix_rationale_242", "label": "A\u2192B \uce90\uc2dc \uc874\uc7ac \uc2dc B\u2192A prefetch\ub294 \uc2a4\ud0b5\ub41c\ub2e4.", "file_type": "rationale", "source_file": "tests/test_kakao_matrix.py", "source_location": "L242"}], "edges": [{"source": "$graphify-root$_tests_test_kakao_matrix_py", "target": "json", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_kakao_matrix.py", "source_location": "L4", "weight": 1.0}, {"source": "$graphify-root$_tests_test_kakao_matrix_py", "target": "unittest_mock", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_kakao_matrix.py", "source_location": "L5", "weight": 1.0}, {"source": "$graphify-root$_tests_test_kakao_matrix_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_kakao_matrix.py", "source_location": "L7", "weight": 1.0}, {"source": "$graphify-root$_tests_test_kakao_matrix_py", "target": "src_data_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_kakao_matrix.py", "source_location": "L9", "weight": 1.0}, {"source": "$graphify-root$_tests_test_kakao_matrix_py", "target": "src_validation_kakao_matrix", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_kakao_matrix.py", "source_location": "L10", "weight": 1.0}, {"source": "$graphify-root$_tests_test_kakao_matrix_py", "target": "$graphify-root$_tests_test_kakao_matrix_place", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_kakao_matrix.py", "source_location": "L13", "weight": 1.0}, {"source": "$graphify-root$_tests_test_kakao_matrix_place", "target": "vrptwplace", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "tests/test_kakao_matrix.py", "source_location": "L13", "weight": 1.0}, {"source": "$graphify-root$_tests_test_kakao_matrix_py", "target": "$graphify-root$_tests_test_kakao_matrix_ok_response", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_kakao_matrix.py", "source_location": "L20", "weight": 1.0}, {"source": "$graphify-root$_tests_test_kakao_matrix_py", "target": "$graphify-root$_tests_test_kakao_matrix_httpx_sync_client", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_kakao_matrix.py", "source_location": "L33", "weight": 1.0}, {"source": "$graphify-root$_tests_test_kakao_matrix_py", "target": "$graphify-root$_tests_test_kakao_matrix_testsamepoint", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_kakao_matrix.py", "source_location": "L47", "weight": 1.0}, {"source": "$graphify-root$_tests_test_kakao_matrix_testsamepoint", "target": "$graphify-root$_tests_test_kakao_matrix_testsamepoint_test_same_coords_returns_zero", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_kakao_matrix.py", "source_location": "L48", "weight": 1.0}, {"source": "$graphify-root$_tests_test_kakao_matrix_py", "target": "$graphify-root$_tests_test_kakao_matrix_testapicall", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_kakao_matrix.py", "source_location": "L58", "weight": 1.0}, {"source": "$graphify-root$_tests_test_kakao_matrix_testapicall", "target": "$graphify-root$_tests_test_kakao_matrix_testapicall_test_sync_call_populates_cache", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_kakao_matrix.py", "source_location": "L59", "weight": 1.0}, {"source": "$graphify-root$_tests_test_kakao_matrix_testapicall", "target": "$graphify-root$_tests_test_kakao_matrix_testapicall_test_get_travel_time_uses_cache_after_sync_call", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_kakao_matrix.py", "source_location": "L71", "weight": 1.0}, {"source": "$graphify-root$_tests_test_kakao_matrix_testapicall", "target": "$graphify-root$_tests_test_kakao_matrix_testapicall_test_get_travel_time_second_call_cache_hit", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_kakao_matrix.py", "source_location": "L85", "weight": 1.0}, {"source": "$graphify-root$_tests_test_kakao_matrix_testapicall", "target": "$graphify-root$_tests_test_kakao_matrix_testapicall_test_reverse_direction_also_cached", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_kakao_matrix.py", "source_location": "L98", "weight": 1.0}, {"source": "$graphify-root$_tests_test_kakao_matrix_py", "target": "$graphify-root$_tests_test_kakao_matrix_testquotaexhaustion", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_kakao_matrix.py", "source_location": "L116", "weight": 1.0}, {"source": "$graphify-root$_tests_test_kakao_matrix_testquotaexhaustion", "target": "$graphify-root$_tests_test_kakao_matrix_testquotaexhaustion_test_429_sets_quota_exhausted", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_kakao_matrix.py", "source_location": "L117", "weight": 1.0}, {"source": "$graphify-root$_tests_test_kakao_matrix_testquotaexhaustion", "target": "$graphify-root$_tests_test_kakao_matrix_testquotaexhaustion_test_get_travel_time_haversine_fallback_when_no_cache", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_kakao_matrix.py", "source_location": "L132", "weight": 1.0}, {"source": "$graphify-root$_tests_test_kakao_matrix_testquotaexhaustion", "target": "$graphify-root$_tests_test_kakao_matrix_testquotaexhaustion_test_after_quota_exhausted_get_travel_time_falls_back", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_kakao_matrix.py", "source_location": "L141", "weight": 1.0}, {"source": "$graphify-root$_tests_test_kakao_matrix_py", "target": "$graphify-root$_tests_test_kakao_matrix_testautherror", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_kakao_matrix.py", "source_location": "L155", "weight": 1.0}, {"source": "$graphify-root$_tests_test_kakao_matrix_testautherror", "target": "$graphify-root$_tests_test_kakao_matrix_testautherror_test_401_raises", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_kakao_matrix.py", "source_location": "L156", "weight": 1.0}, {"source": "$graphify-root$_tests_test_kakao_matrix_py", "target": "$graphify-root$_tests_test_kakao_matrix_testcachepersistence", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_kakao_matrix.py", "source_location": "L174", "weight": 1.0}, {"source": "$graphify-root$_tests_test_kakao_matrix_testcachepersistence", "target": "$graphify-root$_tests_test_kakao_matrix_testcachepersistence_test_save_and_load_cache", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_kakao_matrix.py", "source_location": "L175", "weight": 1.0}, {"source": "$graphify-root$_tests_test_kakao_matrix_py", "target": "$graphify-root$_tests_test_kakao_matrix_testfromenv", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_kakao_matrix.py", "source_location": "L201", "weight": 1.0}, {"source": "$graphify-root$_tests_test_kakao_matrix_testfromenv", "target": "$graphify-root$_tests_test_kakao_matrix_testfromenv_test_no_key_raises", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_kakao_matrix.py", "source_location": "L202", "weight": 1.0}, {"source": "$graphify-root$_tests_test_kakao_matrix_testfromenv", "target": "$graphify-root$_tests_test_kakao_matrix_testfromenv_test_uses_mobility_key_first", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_kakao_matrix.py", "source_location": "L208", "weight": 1.0}, {"source": "$graphify-root$_tests_test_kakao_matrix_testfromenv", "target": "$graphify-root$_tests_test_kakao_matrix_testfromenv_test_falls_back_to_rest_key", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_kakao_matrix.py", "source_location": "L214", "weight": 1.0}, {"source": "$graphify-root$_tests_test_kakao_matrix_py", "target": "$graphify-root$_tests_test_kakao_matrix_testasyncprefetch", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_kakao_matrix.py", "source_location": "L225", "weight": 1.0}, {"source": "$graphify-root$_tests_test_kakao_matrix_testasyncprefetch", "target": "$graphify-root$_tests_test_kakao_matrix_testasyncprefetch_test_aprefetch_populates_cache_and_hit_on_get", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_kakao_matrix.py", "source_location": "L226", "weight": 1.0}, {"source": "$graphify-root$_tests_test_kakao_matrix_testasyncprefetch", "target": "$graphify-root$_tests_test_kakao_matrix_testasyncprefetch_test_aprefetch_deduplicates_bidirectional", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_kakao_matrix.py", "source_location": "L241", "weight": 1.0}, {"source": "$graphify-root$_tests_test_kakao_matrix_place", "target": "vrptwplace", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_kakao_matrix.py", "source_location": "L14", "weight": 1.0}, {"source": "$graphify-root$_tests_test_kakao_matrix_testsamepoint_test_same_coords_returns_zero", "target": "$graphify-root$_tests_test_kakao_matrix_place", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_kakao_matrix.py", "source_location": "L50", "weight": 1.0}, {"source": "$graphify-root$_tests_test_kakao_matrix_testapicall_test_sync_call_populates_cache", "target": "$graphify-root$_tests_test_kakao_matrix_place", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_kakao_matrix.py", "source_location": "L61", "weight": 1.0}, {"source": "$graphify-root$_tests_test_kakao_matrix_testapicall_test_sync_call_populates_cache", "target": "$graphify-root$_tests_test_kakao_matrix_httpx_sync_client", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_kakao_matrix.py", "source_location": "L65", "weight": 1.0}, {"source": "$graphify-root$_tests_test_kakao_matrix_testapicall_test_sync_call_populates_cache", "target": "$graphify-root$_tests_test_kakao_matrix_ok_response", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_kakao_matrix.py", "source_location": "L65", "weight": 1.0}, {"source": "$graphify-root$_tests_test_kakao_matrix_testapicall_test_get_travel_time_uses_cache_after_sync_call", "target": "$graphify-root$_tests_test_kakao_matrix_place", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_kakao_matrix.py", "source_location": "L73", "weight": 1.0}, {"source": "$graphify-root$_tests_test_kakao_matrix_testapicall_test_get_travel_time_uses_cache_after_sync_call", "target": "$graphify-root$_tests_test_kakao_matrix_httpx_sync_client", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_kakao_matrix.py", "source_location": "L77", "weight": 1.0}, {"source": "$graphify-root$_tests_test_kakao_matrix_testapicall_test_get_travel_time_uses_cache_after_sync_call", "target": "$graphify-root$_tests_test_kakao_matrix_ok_response", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_kakao_matrix.py", "source_location": "L77", "weight": 1.0}, {"source": "$graphify-root$_tests_test_kakao_matrix_testapicall_test_get_travel_time_second_call_cache_hit", "target": "$graphify-root$_tests_test_kakao_matrix_place", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_kakao_matrix.py", "source_location": "L87", "weight": 1.0}, {"source": "$graphify-root$_tests_test_kakao_matrix_testapicall_test_get_travel_time_second_call_cache_hit", "target": "$graphify-root$_tests_test_kakao_matrix_httpx_sync_client", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_kakao_matrix.py", "source_location": "L91", "weight": 1.0}, {"source": "$graphify-root$_tests_test_kakao_matrix_testapicall_test_get_travel_time_second_call_cache_hit", "target": "$graphify-root$_tests_test_kakao_matrix_ok_response", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_kakao_matrix.py", "source_location": "L91", "weight": 1.0}, {"source": "$graphify-root$_tests_test_kakao_matrix_testapicall_test_reverse_direction_also_cached", "target": "$graphify-root$_tests_test_kakao_matrix_place", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_kakao_matrix.py", "source_location": "L100", "weight": 1.0}, {"source": "$graphify-root$_tests_test_kakao_matrix_testapicall_test_reverse_direction_also_cached", "target": "$graphify-root$_tests_test_kakao_matrix_httpx_sync_client", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_kakao_matrix.py", "source_location": "L104", "weight": 1.0}, {"source": "$graphify-root$_tests_test_kakao_matrix_testapicall_test_reverse_direction_also_cached", "target": "$graphify-root$_tests_test_kakao_matrix_ok_response", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_kakao_matrix.py", "source_location": "L104", "weight": 1.0}, {"source": "$graphify-root$_tests_test_kakao_matrix_testquotaexhaustion_test_429_sets_quota_exhausted", "target": "$graphify-root$_tests_test_kakao_matrix_place", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_kakao_matrix.py", "source_location": "L119", "weight": 1.0}, {"source": "$graphify-root$_tests_test_kakao_matrix_testquotaexhaustion_test_429_sets_quota_exhausted", "target": "$graphify-root$_tests_test_kakao_matrix_httpx_sync_client", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_kakao_matrix.py", "source_location": "L126", "weight": 1.0}, {"source": "$graphify-root$_tests_test_kakao_matrix_testquotaexhaustion_test_get_travel_time_haversine_fallback_when_no_cache", "target": "$graphify-root$_tests_test_kakao_matrix_place", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_kakao_matrix.py", "source_location": "L134", "weight": 1.0}, {"source": "$graphify-root$_tests_test_kakao_matrix_testquotaexhaustion_test_after_quota_exhausted_get_travel_time_falls_back", "target": "$graphify-root$_tests_test_kakao_matrix_place", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_kakao_matrix.py", "source_location": "L144", "weight": 1.0}, {"source": "$graphify-root$_tests_test_kakao_matrix_testautherror_test_401_raises", "target": "$graphify-root$_tests_test_kakao_matrix_place", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_kakao_matrix.py", "source_location": "L161", "weight": 1.0}, {"source": "$graphify-root$_tests_test_kakao_matrix_testautherror_test_401_raises", "target": "$graphify-root$_tests_test_kakao_matrix_httpx_sync_client", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_kakao_matrix.py", "source_location": "L165", "weight": 1.0}, {"source": "$graphify-root$_tests_test_kakao_matrix_testcachepersistence_test_save_and_load_cache", "target": "$graphify-root$_tests_test_kakao_matrix_place", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_kakao_matrix.py", "source_location": "L179", "weight": 1.0}, {"source": "$graphify-root$_tests_test_kakao_matrix_testcachepersistence_test_save_and_load_cache", "target": "$graphify-root$_tests_test_kakao_matrix_httpx_sync_client", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_kakao_matrix.py", "source_location": "L183", "weight": 1.0}, {"source": "$graphify-root$_tests_test_kakao_matrix_testcachepersistence_test_save_and_load_cache", "target": "$graphify-root$_tests_test_kakao_matrix_ok_response", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_kakao_matrix.py", "source_location": "L183", "weight": 1.0}, {"source": "$graphify-root$_tests_test_kakao_matrix_testasyncprefetch_test_aprefetch_populates_cache_and_hit_on_get", "target": "$graphify-root$_tests_test_kakao_matrix_place", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_kakao_matrix.py", "source_location": "L231", "weight": 1.0}, {"source": "$graphify-root$_tests_test_kakao_matrix_testasyncprefetch_test_aprefetch_deduplicates_bidirectional", "target": "$graphify-root$_tests_test_kakao_matrix_place", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_kakao_matrix.py", "source_location": "L249", "weight": 1.0}, {"source": "$graphify-root$_tests_test_kakao_matrix_rationale_1", "target": "$graphify-root$_tests_test_kakao_matrix_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_kakao_matrix.py", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_tests_test_kakao_matrix_rationale_21", "target": "$graphify-root$_tests_test_kakao_matrix_ok_response", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_kakao_matrix.py", "source_location": "L21", "weight": 1.0}, {"source": "$graphify-root$_tests_test_kakao_matrix_rationale_34", "target": "$graphify-root$_tests_test_kakao_matrix_httpx_sync_client", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_kakao_matrix.py", "source_location": "L34", "weight": 1.0}, {"source": "$graphify-root$_tests_test_kakao_matrix_rationale_227", "target": "$graphify-root$_tests_test_kakao_matrix_testasyncprefetch_test_aprefetch_populates_cache_and_hit_on_get", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_kakao_matrix.py", "source_location": "L227", "weight": 1.0}, {"source": "$graphify-root$_tests_test_kakao_matrix_rationale_242", "target": "$graphify-root$_tests_test_kakao_matrix_testasyncprefetch_test_aprefetch_deduplicates_bidirectional", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_kakao_matrix.py", "source_location": "L242", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_tests_test_kakao_matrix_ok_response", "callee": "MagicMock", "is_member_call": false, "source_file": "tests/test_kakao_matrix.py", "source_location": "L22", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_kakao_matrix_httpx_sync_client", "callee": "MagicMock", "is_member_call": false, "source_file": "tests/test_kakao_matrix.py", "source_location": "L35", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_kakao_matrix_httpx_sync_client", "callee": "MagicMock", "is_member_call": false, "source_file": "tests/test_kakao_matrix.py", "source_location": "L37", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_kakao_matrix_httpx_sync_client", "callee": "MagicMock", "is_member_call": false, "source_file": "tests/test_kakao_matrix.py", "source_location": "L38", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_kakao_matrix_httpx_sync_client", "callee": "MagicMock", "is_member_call": false, "source_file": "tests/test_kakao_matrix.py", "source_location": "L39", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_kakao_matrix_testsamepoint_test_same_coords_returns_zero", "callee": "KakaoMobilityMatrix", "is_member_call": false, "source_file": "tests/test_kakao_matrix.py", "source_location": "L49", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_kakao_matrix_testsamepoint_test_same_coords_returns_zero", "callee": "get_travel_time", "is_member_call": true, "source_file": "tests/test_kakao_matrix.py", "source_location": "L51", "receiver": "m"}, {"caller_nid": "$graphify-root$_tests_test_kakao_matrix_testapicall_test_sync_call_populates_cache", "callee": "KakaoMobilityMatrix", "is_member_call": false, "source_file": "tests/test_kakao_matrix.py", "source_location": "L60", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_kakao_matrix_testapicall_test_sync_call_populates_cache", "callee": "patch", "is_member_call": false, "source_file": "tests/test_kakao_matrix.py", "source_location": "L64", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_kakao_matrix_testapicall_test_sync_call_populates_cache", "callee": "_call_kakao_sync", "is_member_call": true, "source_file": "tests/test_kakao_matrix.py", "source_location": "L66", "receiver": "m"}, {"caller_nid": "$graphify-root$_tests_test_kakao_matrix_testapicall_test_get_travel_time_uses_cache_after_sync_call", "callee": "KakaoMobilityMatrix", "is_member_call": false, "source_file": "tests/test_kakao_matrix.py", "source_location": "L72", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_kakao_matrix_testapicall_test_get_travel_time_uses_cache_after_sync_call", "callee": "patch", "is_member_call": false, "source_file": "tests/test_kakao_matrix.py", "source_location": "L76", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_kakao_matrix_testapicall_test_get_travel_time_uses_cache_after_sync_call", "callee": "_call_kakao_sync", "is_member_call": true, "source_file": "tests/test_kakao_matrix.py", "source_location": "L78", "receiver": "m"}, {"caller_nid": "$graphify-root$_tests_test_kakao_matrix_testapicall_test_get_travel_time_uses_cache_after_sync_call", "callee": "get_travel_time", "is_member_call": true, "source_file": "tests/test_kakao_matrix.py", "source_location": "L80", "receiver": "m"}, {"caller_nid": "$graphify-root$_tests_test_kakao_matrix_testapicall_test_get_travel_time_second_call_cache_hit", "callee": "KakaoMobilityMatrix", "is_member_call": false, "source_file": "tests/test_kakao_matrix.py", "source_location": "L86", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_kakao_matrix_testapicall_test_get_travel_time_second_call_cache_hit", "callee": "patch", "is_member_call": false, "source_file": "tests/test_kakao_matrix.py", "source_location": "L90", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_kakao_matrix_testapicall_test_get_travel_time_second_call_cache_hit", "callee": "_call_kakao_sync", "is_member_call": true, "source_file": "tests/test_kakao_matrix.py", "source_location": "L92", "receiver": "m"}, {"caller_nid": "$graphify-root$_tests_test_kakao_matrix_testapicall_test_get_travel_time_second_call_cache_hit", "callee": "get_travel_time", "is_member_call": true, "source_file": "tests/test_kakao_matrix.py", "source_location": "L94", "receiver": "m"}, {"caller_nid": "$graphify-root$_tests_test_kakao_matrix_testapicall_test_get_travel_time_second_call_cache_hit", "callee": "get_travel_time", "is_member_call": true, "source_file": "tests/test_kakao_matrix.py", "source_location": "L95", "receiver": "m"}, {"caller_nid": "$graphify-root$_tests_test_kakao_matrix_testapicall_test_reverse_direction_also_cached", "callee": "KakaoMobilityMatrix", "is_member_call": false, "source_file": "tests/test_kakao_matrix.py", "source_location": "L99", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_kakao_matrix_testapicall_test_reverse_direction_also_cached", "callee": "patch", "is_member_call": false, "source_file": "tests/test_kakao_matrix.py", "source_location": "L103", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_kakao_matrix_testapicall_test_reverse_direction_also_cached", "callee": "_call_kakao_sync", "is_member_call": true, "source_file": "tests/test_kakao_matrix.py", "source_location": "L105", "receiver": "m"}, {"caller_nid": "$graphify-root$_tests_test_kakao_matrix_testapicall_test_reverse_direction_also_cached", "callee": "get_travel_time", "is_member_call": true, "source_file": "tests/test_kakao_matrix.py", "source_location": "L107", "receiver": "m"}, {"caller_nid": "$graphify-root$_tests_test_kakao_matrix_testquotaexhaustion_test_429_sets_quota_exhausted", "callee": "KakaoMobilityMatrix", "is_member_call": false, "source_file": "tests/test_kakao_matrix.py", "source_location": "L118", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_kakao_matrix_testquotaexhaustion_test_429_sets_quota_exhausted", "callee": "MagicMock", "is_member_call": false, "source_file": "tests/test_kakao_matrix.py", "source_location": "L122", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_kakao_matrix_testquotaexhaustion_test_429_sets_quota_exhausted", "callee": "patch", "is_member_call": false, "source_file": "tests/test_kakao_matrix.py", "source_location": "L125", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_kakao_matrix_testquotaexhaustion_test_429_sets_quota_exhausted", "callee": "_call_kakao_sync", "is_member_call": true, "source_file": "tests/test_kakao_matrix.py", "source_location": "L127", "receiver": "m"}, {"caller_nid": "$graphify-root$_tests_test_kakao_matrix_testquotaexhaustion_test_get_travel_time_haversine_fallback_when_no_cache", "callee": "KakaoMobilityMatrix", "is_member_call": false, "source_file": "tests/test_kakao_matrix.py", "source_location": "L133", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_kakao_matrix_testquotaexhaustion_test_get_travel_time_haversine_fallback_when_no_cache", "callee": "get_travel_time", "is_member_call": true, "source_file": "tests/test_kakao_matrix.py", "source_location": "L137", "receiver": "m"}, {"caller_nid": "$graphify-root$_tests_test_kakao_matrix_testquotaexhaustion_test_after_quota_exhausted_get_travel_time_falls_back", "callee": "KakaoMobilityMatrix", "is_member_call": false, "source_file": "tests/test_kakao_matrix.py", "source_location": "L142", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_kakao_matrix_testquotaexhaustion_test_after_quota_exhausted_get_travel_time_falls_back", "callee": "get_travel_time", "is_member_call": true, "source_file": "tests/test_kakao_matrix.py", "source_location": "L146", "receiver": "m"}, {"caller_nid": "$graphify-root$_tests_test_kakao_matrix_testautherror_test_401_raises", "callee": "MagicMock", "is_member_call": false, "source_file": "tests/test_kakao_matrix.py", "source_location": "L157", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_kakao_matrix_testautherror_test_401_raises", "callee": "KakaoMobilityMatrix", "is_member_call": false, "source_file": "tests/test_kakao_matrix.py", "source_location": "L160", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_kakao_matrix_testautherror_test_401_raises", "callee": "patch", "is_member_call": false, "source_file": "tests/test_kakao_matrix.py", "source_location": "L164", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_kakao_matrix_testautherror_test_401_raises", "callee": "raises", "is_member_call": true, "source_file": "tests/test_kakao_matrix.py", "source_location": "L166", "receiver": "pytest"}, {"caller_nid": "$graphify-root$_tests_test_kakao_matrix_testautherror_test_401_raises", "callee": "RuntimeError", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "tests/test_kakao_matrix.py", "source_location": "L166"}, {"caller_nid": "$graphify-root$_tests_test_kakao_matrix_testautherror_test_401_raises", "callee": "_call_kakao_sync", "is_member_call": true, "source_file": "tests/test_kakao_matrix.py", "source_location": "L167", "receiver": "m"}, {"caller_nid": "$graphify-root$_tests_test_kakao_matrix_testcachepersistence_test_save_and_load_cache", "callee": "KakaoMobilityMatrix", "is_member_call": false, "source_file": "tests/test_kakao_matrix.py", "source_location": "L178", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_kakao_matrix_testcachepersistence_test_save_and_load_cache", "callee": "patch", "is_member_call": false, "source_file": "tests/test_kakao_matrix.py", "source_location": "L182", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_kakao_matrix_testcachepersistence_test_save_and_load_cache", "callee": "_call_kakao_sync", "is_member_call": true, "source_file": "tests/test_kakao_matrix.py", "source_location": "L184", "receiver": "m1"}, {"caller_nid": "$graphify-root$_tests_test_kakao_matrix_testcachepersistence_test_save_and_load_cache", "callee": "save_cache", "is_member_call": true, "source_file": "tests/test_kakao_matrix.py", "source_location": "L185", "receiver": "m1"}, {"caller_nid": "$graphify-root$_tests_test_kakao_matrix_testcachepersistence_test_save_and_load_cache", "callee": "exists", "is_member_call": true, "source_file": "tests/test_kakao_matrix.py", "source_location": "L187", "receiver": "cache_file"}, {"caller_nid": "$graphify-root$_tests_test_kakao_matrix_testcachepersistence_test_save_and_load_cache", "callee": "loads", "is_member_call": true, "source_file": "tests/test_kakao_matrix.py", "source_location": "L188", "receiver": "json"}, {"caller_nid": "$graphify-root$_tests_test_kakao_matrix_testcachepersistence_test_save_and_load_cache", "callee": "read_text", "is_member_call": true, "source_file": "tests/test_kakao_matrix.py", "source_location": "L188", "receiver": "cache_file"}, {"caller_nid": "$graphify-root$_tests_test_kakao_matrix_testcachepersistence_test_save_and_load_cache", "callee": "KakaoMobilityMatrix", "is_member_call": false, "source_file": "tests/test_kakao_matrix.py", "source_location": "L191", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_kakao_matrix_testcachepersistence_test_save_and_load_cache", "callee": "get_travel_time", "is_member_call": true, "source_file": "tests/test_kakao_matrix.py", "source_location": "L192", "receiver": "m2"}, {"caller_nid": "$graphify-root$_tests_test_kakao_matrix_testfromenv_test_no_key_raises", "callee": "delenv", "is_member_call": true, "source_file": "tests/test_kakao_matrix.py", "source_location": "L203", "receiver": "monkeypatch"}, {"caller_nid": "$graphify-root$_tests_test_kakao_matrix_testfromenv_test_no_key_raises", "callee": "delenv", "is_member_call": true, "source_file": "tests/test_kakao_matrix.py", "source_location": "L204", "receiver": "monkeypatch"}, {"caller_nid": "$graphify-root$_tests_test_kakao_matrix_testfromenv_test_no_key_raises", "callee": "raises", "is_member_call": true, "source_file": "tests/test_kakao_matrix.py", "source_location": "L205", "receiver": "pytest"}, {"caller_nid": "$graphify-root$_tests_test_kakao_matrix_testfromenv_test_no_key_raises", "callee": "ValueError", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "tests/test_kakao_matrix.py", "source_location": "L205"}, {"caller_nid": "$graphify-root$_tests_test_kakao_matrix_testfromenv_test_no_key_raises", "callee": "from_env", "is_member_call": true, "source_file": "tests/test_kakao_matrix.py", "source_location": "L206", "receiver": "KakaoMobilityMatrix"}, {"caller_nid": "$graphify-root$_tests_test_kakao_matrix_testfromenv_test_uses_mobility_key_first", "callee": "setenv", "is_member_call": true, "source_file": "tests/test_kakao_matrix.py", "source_location": "L209", "receiver": "monkeypatch"}, {"caller_nid": "$graphify-root$_tests_test_kakao_matrix_testfromenv_test_uses_mobility_key_first", "callee": "setenv", "is_member_call": true, "source_file": "tests/test_kakao_matrix.py", "source_location": "L210", "receiver": "monkeypatch"}, {"caller_nid": "$graphify-root$_tests_test_kakao_matrix_testfromenv_test_uses_mobility_key_first", "callee": "from_env", "is_member_call": true, "source_file": "tests/test_kakao_matrix.py", "source_location": "L211", "receiver": "KakaoMobilityMatrix"}, {"caller_nid": "$graphify-root$_tests_test_kakao_matrix_testfromenv_test_falls_back_to_rest_key", "callee": "delenv", "is_member_call": true, "source_file": "tests/test_kakao_matrix.py", "source_location": "L215", "receiver": "monkeypatch"}, {"caller_nid": "$graphify-root$_tests_test_kakao_matrix_testfromenv_test_falls_back_to_rest_key", "callee": "setenv", "is_member_call": true, "source_file": "tests/test_kakao_matrix.py", "source_location": "L216", "receiver": "monkeypatch"}, {"caller_nid": "$graphify-root$_tests_test_kakao_matrix_testfromenv_test_falls_back_to_rest_key", "callee": "from_env", "is_member_call": true, "source_file": "tests/test_kakao_matrix.py", "source_location": "L217", "receiver": "KakaoMobilityMatrix"}, {"caller_nid": "$graphify-root$_tests_test_kakao_matrix_testasyncprefetch_test_aprefetch_populates_cache_and_hit_on_get", "callee": "KakaoMobilityMatrix", "is_member_call": false, "source_file": "tests/test_kakao_matrix.py", "source_location": "L230", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_kakao_matrix_testasyncprefetch_test_aprefetch_populates_cache_and_hit_on_get", "callee": "_make_key", "is_member_call": true, "source_file": "tests/test_kakao_matrix.py", "source_location": "L235", "receiver": "m"}, {"caller_nid": "$graphify-root$_tests_test_kakao_matrix_testasyncprefetch_test_aprefetch_populates_cache_and_hit_on_get", "callee": "get_travel_time", "is_member_call": true, "source_file": "tests/test_kakao_matrix.py", "source_location": "L237", "receiver": "m"}, {"caller_nid": "$graphify-root$_tests_test_kakao_matrix_testasyncprefetch_test_aprefetch_deduplicates_bidirectional", "callee": "KakaoMobilityMatrix", "is_member_call": false, "source_file": "tests/test_kakao_matrix.py", "source_location": "L248", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_kakao_matrix_testasyncprefetch_test_aprefetch_deduplicates_bidirectional", "callee": "_make_key", "is_member_call": true, "source_file": "tests/test_kakao_matrix.py", "source_location": "L253", "receiver": "m"}, {"caller_nid": "$graphify-root$_tests_test_kakao_matrix_testasyncprefetch_test_aprefetch_deduplicates_bidirectional", "callee": "object", "is_member_call": true, "source_file": "tests/test_kakao_matrix.py", "source_location": "L256", "receiver": "patch"}, {"caller_nid": "$graphify-root$_tests_test_kakao_matrix_testasyncprefetch_test_aprefetch_deduplicates_bidirectional", "callee": "AsyncMock", "is_member_call": false, "source_file": "tests/test_kakao_matrix.py", "source_location": "L256", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_kakao_matrix_testasyncprefetch_test_aprefetch_deduplicates_bidirectional", "callee": "fake_acall", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "tests/test_kakao_matrix.py", "source_location": "L256"}, {"caller_nid": "$graphify-root$_tests_test_kakao_matrix_testasyncprefetch_test_aprefetch_deduplicates_bidirectional", "callee": "run", "is_member_call": true, "source_file": "tests/test_kakao_matrix.py", "source_location": "L257", "receiver": "asyncio"}, {"caller_nid": "$graphify-root$_tests_test_kakao_matrix_testasyncprefetch_test_aprefetch_deduplicates_bidirectional", "callee": "aprefetch_matrix", "is_member_call": true, "source_file": "tests/test_kakao_matrix.py", "source_location": "L257", "receiver": "m"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/cc736d76033e07fac230fbd5c99f992c33f3ad0a25c95689d7ab5a297a6b8940.json b/graphify-out/cache/ast/v0.9.31/cc736d76033e07fac230fbd5c99f992c33f3ad0a25c95689d7ab5a297a6b8940.json new file mode 100644 index 0000000..f097cd0 --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/cc736d76033e07fac230fbd5c99f992c33f3ad0a25c95689d7ab5a297a6b8940.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_src_matrix_redis_matrix_py", "label": "redis_matrix.py", "file_type": "code", "source_file": "src/matrix/redis_matrix.py", "source_location": "L1"}, {"id": "$graphify-root$_src_matrix_redis_matrix_redistimematrix", "label": "RedisTimeMatrix", "file_type": "code", "source_file": "src/matrix/redis_matrix.py", "source_location": "L35", "_callable": true, "_callable_class": true}, {"id": "timematrix", "label": "TimeMatrix", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/matrix/redis_matrix.py"}, {"id": "$graphify-root$_src_matrix_redis_matrix_redistimematrix_init", "label": ".__init__()", "file_type": "code", "source_file": "src/matrix/redis_matrix.py", "source_location": "L43", "_callable": true}, {"id": "$graphify-root$_src_matrix_redis_matrix_redistimematrix_from_env", "label": ".from_env()", "file_type": "code", "source_file": "src/matrix/redis_matrix.py", "source_location": "L56", "_callable": true}, {"id": "path", "label": "Path", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/matrix/redis_matrix.py"}, {"id": "$graphify-root$_src_matrix_redis_matrix_redistimematrix_load_dotenv", "label": "._load_dotenv()", "file_type": "code", "source_file": "src/matrix/redis_matrix.py", "source_location": "L82", "_callable": true}, {"id": "$graphify-root$_src_matrix_redis_matrix_redistimematrix_get_travel_time", "label": ".get_travel_time()", "file_type": "code", "source_file": "src/matrix/redis_matrix.py", "source_location": "L92", "_callable": true}, {"id": "vrptwplace", "label": "VRPTWPlace", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/matrix/redis_matrix.py"}, {"id": "$graphify-root$_src_matrix_redis_matrix_redistimematrix_set_travel_time", "label": ".set_travel_time()", "file_type": "code", "source_file": "src/matrix/redis_matrix.py", "source_location": "L110", "_callable": true}, {"id": "$graphify-root$_src_matrix_redis_matrix_redistimematrix_make_key", "label": "._make_key()", "file_type": "code", "source_file": "src/matrix/redis_matrix.py", "source_location": "L130", "_callable": true}, {"id": "$graphify-root$_src_matrix_redis_matrix_redistimematrix_stats", "label": ".stats()", "file_type": "code", "source_file": "src/matrix/redis_matrix.py", "source_location": "L138", "_callable": true}, {"id": "$graphify-root$_src_matrix_redis_matrix_redistimematrix_is_available", "label": ".is_available()", "file_type": "code", "source_file": "src/matrix/redis_matrix.py", "source_location": "L142", "_callable": true}, {"id": "$graphify-root$_src_matrix_redis_matrix_rationale_1", "label": "Redis \uae30\ubc18 TimeMatrix \u2014 REDIS_URL \ud658\uacbd\ubcc0\uc218\ub85c \uc790\ub3d9 \ud65c\uc131\ud654. KakaoMobilityMatrix\uc758 drop-in \ub300\uccb4\uc7ac:\u2026", "file_type": "rationale", "source_file": "src/matrix/redis_matrix.py", "source_location": "L1"}, {"id": "$graphify-root$_src_matrix_redis_matrix_rationale_36", "label": "Redis \uae30\ubc18 TimeMatrix. redis-py\uac00 \uc124\uce58\ub418\uc5b4 \uc788\uace0 REDIS_URL\uc774 \uc720\ud6a8\ud560 \ub54c\ub9cc \ub3d9\uc791. get_travel_time\uc740\u2026", "file_type": "rationale", "source_file": "src/matrix/redis_matrix.py", "source_location": "L36"}, {"id": "$graphify-root$_src_matrix_redis_matrix_rationale_60", "label": "REDIS_URL \ud658\uacbd\ubcc0\uc218\uac00 \uc788\uc73c\uba74 \uc778\uc2a4\ud134\uc2a4 \ubc18\ud658, \uc5c6\uc73c\uba74 None.", "file_type": "rationale", "source_file": "src/matrix/redis_matrix.py", "source_location": "L60"}], "edges": [{"source": "$graphify-root$_src_matrix_redis_matrix_py", "target": "os", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/matrix/redis_matrix.py", "source_location": "L18", "weight": 1.0}, {"source": "$graphify-root$_src_matrix_redis_matrix_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/matrix/redis_matrix.py", "source_location": "L19", "weight": 1.0}, {"source": "$graphify-root$_src_matrix_redis_matrix_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/matrix/redis_matrix.py", "source_location": "L20", "weight": 1.0}, {"source": "$graphify-root$_src_matrix_redis_matrix_py", "target": "src_data_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/matrix/redis_matrix.py", "source_location": "L22", "weight": 1.0}, {"source": "$graphify-root$_src_matrix_redis_matrix_py", "target": "src_validation_vrptw_engine", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/matrix/redis_matrix.py", "source_location": "L23", "weight": 1.0}, {"source": "$graphify-root$_src_matrix_redis_matrix_py", "target": "redis", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/matrix/redis_matrix.py", "source_location": "L26", "weight": 1.0, "local_alias": "_redis_lib"}, {"source": "$graphify-root$_src_matrix_redis_matrix_py", "target": "$graphify-root$_src_matrix_redis_matrix_redistimematrix", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/matrix/redis_matrix.py", "source_location": "L35", "weight": 1.0}, {"source": "$graphify-root$_src_matrix_redis_matrix_redistimematrix", "target": "timematrix", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "src/matrix/redis_matrix.py", "source_location": "L35", "weight": 1.0}, {"source": "$graphify-root$_src_matrix_redis_matrix_redistimematrix", "target": "$graphify-root$_src_matrix_redis_matrix_redistimematrix_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/matrix/redis_matrix.py", "source_location": "L43", "weight": 1.0}, {"source": "$graphify-root$_src_matrix_redis_matrix_redistimematrix", "target": "$graphify-root$_src_matrix_redis_matrix_redistimematrix_from_env", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/matrix/redis_matrix.py", "source_location": "L56", "weight": 1.0}, {"source": "$graphify-root$_src_matrix_redis_matrix_redistimematrix_from_env", "target": "path", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/matrix/redis_matrix.py", "source_location": "L56", "weight": 1.0}, {"source": "$graphify-root$_src_matrix_redis_matrix_redistimematrix", "target": "$graphify-root$_src_matrix_redis_matrix_redistimematrix_load_dotenv", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/matrix/redis_matrix.py", "source_location": "L82", "weight": 1.0}, {"source": "$graphify-root$_src_matrix_redis_matrix_redistimematrix_load_dotenv", "target": "path", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/matrix/redis_matrix.py", "source_location": "L82", "weight": 1.0}, {"source": "$graphify-root$_src_matrix_redis_matrix_redistimematrix", "target": "$graphify-root$_src_matrix_redis_matrix_redistimematrix_get_travel_time", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/matrix/redis_matrix.py", "source_location": "L92", "weight": 1.0}, {"source": "$graphify-root$_src_matrix_redis_matrix_redistimematrix_get_travel_time", "target": "vrptwplace", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/matrix/redis_matrix.py", "source_location": "L92", "weight": 1.0}, {"source": "$graphify-root$_src_matrix_redis_matrix_redistimematrix_get_travel_time", "target": "vrptwplace", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/matrix/redis_matrix.py", "source_location": "L92", "weight": 1.0}, {"source": "$graphify-root$_src_matrix_redis_matrix_redistimematrix", "target": "$graphify-root$_src_matrix_redis_matrix_redistimematrix_set_travel_time", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/matrix/redis_matrix.py", "source_location": "L110", "weight": 1.0}, {"source": "$graphify-root$_src_matrix_redis_matrix_redistimematrix_set_travel_time", "target": "vrptwplace", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/matrix/redis_matrix.py", "source_location": "L110", "weight": 1.0}, {"source": "$graphify-root$_src_matrix_redis_matrix_redistimematrix_set_travel_time", "target": "vrptwplace", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/matrix/redis_matrix.py", "source_location": "L110", "weight": 1.0}, {"source": "$graphify-root$_src_matrix_redis_matrix_redistimematrix", "target": "$graphify-root$_src_matrix_redis_matrix_redistimematrix_make_key", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/matrix/redis_matrix.py", "source_location": "L130", "weight": 1.0}, {"source": "$graphify-root$_src_matrix_redis_matrix_redistimematrix_make_key", "target": "vrptwplace", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/matrix/redis_matrix.py", "source_location": "L130", "weight": 1.0}, {"source": "$graphify-root$_src_matrix_redis_matrix_redistimematrix_make_key", "target": "vrptwplace", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/matrix/redis_matrix.py", "source_location": "L130", "weight": 1.0}, {"source": "$graphify-root$_src_matrix_redis_matrix_redistimematrix", "target": "$graphify-root$_src_matrix_redis_matrix_redistimematrix_stats", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/matrix/redis_matrix.py", "source_location": "L138", "weight": 1.0}, {"source": "$graphify-root$_src_matrix_redis_matrix_redistimematrix", "target": "$graphify-root$_src_matrix_redis_matrix_redistimematrix_is_available", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/matrix/redis_matrix.py", "source_location": "L142", "weight": 1.0}, {"source": "$graphify-root$_src_matrix_redis_matrix_redistimematrix_from_env", "target": "$graphify-root$_src_matrix_redis_matrix_redistimematrix_load_dotenv", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/matrix/redis_matrix.py", "source_location": "L62", "weight": 1.0}, {"source": "$graphify-root$_src_matrix_redis_matrix_redistimematrix_from_env", "target": "path", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/matrix/redis_matrix.py", "source_location": "L62", "weight": 1.0}, {"source": "$graphify-root$_src_matrix_redis_matrix_redistimematrix_get_travel_time", "target": "$graphify-root$_src_matrix_redis_matrix_redistimematrix_make_key", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/matrix/redis_matrix.py", "source_location": "L96", "weight": 1.0}, {"source": "$graphify-root$_src_matrix_redis_matrix_redistimematrix_set_travel_time", "target": "$graphify-root$_src_matrix_redis_matrix_redistimematrix_make_key", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/matrix/redis_matrix.py", "source_location": "L118", "weight": 1.0}, {"source": "$graphify-root$_src_matrix_redis_matrix_rationale_1", "target": "$graphify-root$_src_matrix_redis_matrix_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/matrix/redis_matrix.py", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_src_matrix_redis_matrix_rationale_36", "target": "$graphify-root$_src_matrix_redis_matrix_redistimematrix", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/matrix/redis_matrix.py", "source_location": "L36", "weight": 1.0}, {"source": "$graphify-root$_src_matrix_redis_matrix_rationale_60", "target": "$graphify-root$_src_matrix_redis_matrix_redistimematrix_from_env", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/matrix/redis_matrix.py", "source_location": "L60", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_src_matrix_redis_matrix_redistimematrix_init", "callee": "RuntimeError", "is_member_call": false, "source_file": "src/matrix/redis_matrix.py", "source_location": "L45", "receiver": null}, {"caller_nid": "$graphify-root$_src_matrix_redis_matrix_redistimematrix_init", "callee": "from_url", "is_member_call": true, "source_file": "src/matrix/redis_matrix.py", "source_location": "L48", "receiver": "_redis_lib"}, {"caller_nid": "$graphify-root$_src_matrix_redis_matrix_redistimematrix_init", "callee": "HaversineMatrix", "is_member_call": false, "source_file": "src/matrix/redis_matrix.py", "source_location": "L49", "receiver": null}, {"caller_nid": "$graphify-root$_src_matrix_redis_matrix_redistimematrix_from_env", "callee": "resolve", "is_member_call": true, "source_file": "src/matrix/redis_matrix.py", "source_location": "L64", "receiver": null}, {"caller_nid": "$graphify-root$_src_matrix_redis_matrix_redistimematrix_from_env", "callee": "__file__", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "src/matrix/redis_matrix.py", "source_location": "L64"}, {"caller_nid": "$graphify-root$_src_matrix_redis_matrix_redistimematrix_from_env", "callee": "exists", "is_member_call": true, "source_file": "src/matrix/redis_matrix.py", "source_location": "L66", "receiver": "env_default"}, {"caller_nid": "$graphify-root$_src_matrix_redis_matrix_redistimematrix_from_env", "callee": "strip", "is_member_call": true, "source_file": "src/matrix/redis_matrix.py", "source_location": "L69", "receiver": null}, {"caller_nid": "$graphify-root$_src_matrix_redis_matrix_redistimematrix_from_env", "callee": "get", "is_member_call": true, "source_file": "src/matrix/redis_matrix.py", "source_location": "L69", "receiver": null}, {"caller_nid": "$graphify-root$_src_matrix_redis_matrix_redistimematrix_from_env", "callee": "cls", "is_member_call": false, "source_file": "src/matrix/redis_matrix.py", "source_location": "L75", "receiver": null}, {"caller_nid": "$graphify-root$_src_matrix_redis_matrix_redistimematrix_from_env", "callee": "ping", "is_member_call": true, "source_file": "src/matrix/redis_matrix.py", "source_location": "L76", "receiver": null}, {"caller_nid": "$graphify-root$_src_matrix_redis_matrix_redistimematrix_load_dotenv", "callee": "exists", "is_member_call": true, "source_file": "src/matrix/redis_matrix.py", "source_location": "L83", "receiver": "env_path"}, {"caller_nid": "$graphify-root$_src_matrix_redis_matrix_redistimematrix_load_dotenv", "callee": "splitlines", "is_member_call": true, "source_file": "src/matrix/redis_matrix.py", "source_location": "L85", "receiver": null}, {"caller_nid": "$graphify-root$_src_matrix_redis_matrix_redistimematrix_load_dotenv", "callee": "read_text", "is_member_call": true, "source_file": "src/matrix/redis_matrix.py", "source_location": "L85", "receiver": "env_path"}, {"caller_nid": "$graphify-root$_src_matrix_redis_matrix_redistimematrix_load_dotenv", "callee": "strip", "is_member_call": true, "source_file": "src/matrix/redis_matrix.py", "source_location": "L86", "receiver": "line"}, {"caller_nid": "$graphify-root$_src_matrix_redis_matrix_redistimematrix_load_dotenv", "callee": "startswith", "is_member_call": true, "source_file": "src/matrix/redis_matrix.py", "source_location": "L87", "receiver": "line"}, {"caller_nid": "$graphify-root$_src_matrix_redis_matrix_redistimematrix_load_dotenv", "callee": "partition", "is_member_call": true, "source_file": "src/matrix/redis_matrix.py", "source_location": "L88", "receiver": "line"}, {"caller_nid": "$graphify-root$_src_matrix_redis_matrix_redistimematrix_load_dotenv", "callee": "setdefault", "is_member_call": true, "source_file": "src/matrix/redis_matrix.py", "source_location": "L89", "receiver": null}, {"caller_nid": "$graphify-root$_src_matrix_redis_matrix_redistimematrix_load_dotenv", "callee": "strip", "is_member_call": true, "source_file": "src/matrix/redis_matrix.py", "source_location": "L89", "receiver": "k"}, {"caller_nid": "$graphify-root$_src_matrix_redis_matrix_redistimematrix_load_dotenv", "callee": "strip", "is_member_call": true, "source_file": "src/matrix/redis_matrix.py", "source_location": "L89", "receiver": "v"}, {"caller_nid": "$graphify-root$_src_matrix_redis_matrix_redistimematrix_get_travel_time", "callee": "get", "is_member_call": true, "source_file": "src/matrix/redis_matrix.py", "source_location": "L100", "receiver": null}, {"caller_nid": "$graphify-root$_src_matrix_redis_matrix_redistimematrix_get_travel_time", "callee": "get", "is_member_call": true, "source_file": "src/matrix/redis_matrix.py", "source_location": "L100", "receiver": null}, {"caller_nid": "$graphify-root$_src_matrix_redis_matrix_redistimematrix_is_available", "callee": "ping", "is_member_call": true, "source_file": "src/matrix/redis_matrix.py", "source_location": "L144", "receiver": null}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/cdd822b431df58c4227138afaee87957fd97fad329839c82e40657ca255f04fd.json b/graphify-out/cache/ast/v0.9.31/cdd822b431df58c4227138afaee87957fd97fad329839c82e40657ca255f04fd.json new file mode 100644 index 0000000..90b472f --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/cdd822b431df58c4227138afaee87957fd97fad329839c82e40657ca255f04fd.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_src_utils_geo_py", "label": "geo.py", "file_type": "code", "source_file": "src/utils/geo.py", "source_location": "L1"}, {"id": "$graphify-root$_src_utils_geo_haversine_km", "label": "haversine_km()", "file_type": "code", "source_file": "src/utils/geo.py", "source_location": "L10", "_callable": true}, {"id": "$graphify-root$_src_utils_geo_build_dist_cache", "label": "build_dist_cache()", "file_type": "code", "source_file": "src/utils/geo.py", "source_location": "L20", "_callable": true}, {"id": "$graphify-root$_src_utils_geo_nn_heuristic_km", "label": "nn_heuristic_km()", "file_type": "code", "source_file": "src/utils/geo.py", "source_location": "L36", "_callable": true}, {"id": "$graphify-root$_src_utils_geo_get_travel_min", "label": "get_travel_min()", "file_type": "code", "source_file": "src/utils/geo.py", "source_location": "L72", "_callable": true}, {"id": "$graphify-root$_src_utils_geo_rationale_1", "label": "\uacf5\uc720 \uc9c0\ub9ac \uacc4\uc0b0 \uc720\ud2f8\ub9ac\ud2f0 \u2014 Haversine, NN \ud734\ub9ac\uc2a4\ud2f1, \uc774\ub3d9\uc2dc\uac04 \uc870\ud68c.", "file_type": "rationale", "source_file": "src/utils/geo.py", "source_location": "L1"}, {"id": "$graphify-root$_src_utils_geo_rationale_11", "label": "\ub450 \uc88c\ud45c \uc0ac\uc774\uc758 Haversine \uc9c1\uc120 \uac70\ub9ac(km).", "file_type": "rationale", "source_file": "src/utils/geo.py", "source_location": "L11"}, {"id": "$graphify-root$_src_utils_geo_rationale_21", "label": "POI \ub9ac\uc2a4\ud2b8\uc758 \ubaa8\ub4e0 (i, j) \uc30d Haversine \uac70\ub9ac(km)\ub97c \ud55c \ubc88\uc5d0 \uacc4\uc0b0\ud574 \ubc18\ud658. \uc774 \uce90\uc2dc\ub97c nn_heuristic_km /\u2026", "file_type": "rationale", "source_file": "src/utils/geo.py", "source_location": "L21"}, {"id": "$graphify-root$_src_utils_geo_rationale_40", "label": "\ucd5c\uadfc\uc811 \uc774\uc6c3 \ud734\ub9ac\uc2a4\ud2f1\uc73c\ub85c \ucd94\uc815\ud55c \ucd5c\uc18c \uc21c\ud68c \uac70\ub9ac(km). dist_cache \ub97c \ub118\uae30\uba74 Haversine \uc7ac\uacc4\uc0b0 \uc5c6\uc774 \uc870\ud68c\ud55c\ub2e4.", "file_type": "rationale", "source_file": "src/utils/geo.py", "source_location": "L40"}, {"id": "$graphify-root$_src_utils_geo_rationale_80", "label": "matrix[i][j]['travel_min'] \uc870\ud68c, \uc5c6\uc73c\uba74 Haversine \ud3f4\ubc31(\ubd84). dist_cache \ub97c \ub118\uae30\uba74 \ud3f4\ubc31 \uc2dc \uc7ac\uacc4\uc0b0\u2026", "file_type": "rationale", "source_file": "src/utils/geo.py", "source_location": "L80"}], "edges": [{"source": "$graphify-root$_src_utils_geo_py", "target": "math", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/utils/geo.py", "source_location": "L4", "weight": 1.0}, {"source": "$graphify-root$_src_utils_geo_py", "target": "$graphify-root$_src_utils_geo_haversine_km", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/utils/geo.py", "source_location": "L10", "weight": 1.0}, {"source": "$graphify-root$_src_utils_geo_py", "target": "$graphify-root$_src_utils_geo_build_dist_cache", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/utils/geo.py", "source_location": "L20", "weight": 1.0}, {"source": "$graphify-root$_src_utils_geo_py", "target": "$graphify-root$_src_utils_geo_nn_heuristic_km", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/utils/geo.py", "source_location": "L36", "weight": 1.0}, {"source": "$graphify-root$_src_utils_geo_py", "target": "$graphify-root$_src_utils_geo_get_travel_min", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/utils/geo.py", "source_location": "L72", "weight": 1.0}, {"source": "$graphify-root$_src_utils_geo_build_dist_cache", "target": "$graphify-root$_src_utils_geo_haversine_km", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/utils/geo.py", "source_location": "L30", "weight": 1.0}, {"source": "$graphify-root$_src_utils_geo_nn_heuristic_km", "target": "$graphify-root$_src_utils_geo_haversine_km", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/utils/geo.py", "source_location": "L57", "weight": 1.0}, {"source": "$graphify-root$_src_utils_geo_get_travel_min", "target": "$graphify-root$_src_utils_geo_haversine_km", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/utils/geo.py", "source_location": "L89", "weight": 1.0}, {"source": "$graphify-root$_src_utils_geo_rationale_1", "target": "$graphify-root$_src_utils_geo_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/utils/geo.py", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_src_utils_geo_rationale_11", "target": "$graphify-root$_src_utils_geo_haversine_km", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/utils/geo.py", "source_location": "L11", "weight": 1.0}, {"source": "$graphify-root$_src_utils_geo_rationale_21", "target": "$graphify-root$_src_utils_geo_build_dist_cache", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/utils/geo.py", "source_location": "L21", "weight": 1.0}, {"source": "$graphify-root$_src_utils_geo_rationale_40", "target": "$graphify-root$_src_utils_geo_nn_heuristic_km", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/utils/geo.py", "source_location": "L40", "weight": 1.0}, {"source": "$graphify-root$_src_utils_geo_rationale_80", "target": "$graphify-root$_src_utils_geo_get_travel_min", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/utils/geo.py", "source_location": "L80", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_src_utils_geo_haversine_km", "callee": "radians", "is_member_call": true, "source_file": "src/utils/geo.py", "source_location": "L12", "receiver": "math"}, {"caller_nid": "$graphify-root$_src_utils_geo_haversine_km", "callee": "radians", "is_member_call": true, "source_file": "src/utils/geo.py", "source_location": "L13", "receiver": "math"}, {"caller_nid": "$graphify-root$_src_utils_geo_haversine_km", "callee": "radians", "is_member_call": true, "source_file": "src/utils/geo.py", "source_location": "L14", "receiver": "math"}, {"caller_nid": "$graphify-root$_src_utils_geo_haversine_km", "callee": "radians", "is_member_call": true, "source_file": "src/utils/geo.py", "source_location": "L15", "receiver": "math"}, {"caller_nid": "$graphify-root$_src_utils_geo_haversine_km", "callee": "sin", "is_member_call": true, "source_file": "src/utils/geo.py", "source_location": "L16", "receiver": "math"}, {"caller_nid": "$graphify-root$_src_utils_geo_haversine_km", "callee": "cos", "is_member_call": true, "source_file": "src/utils/geo.py", "source_location": "L16", "receiver": "math"}, {"caller_nid": "$graphify-root$_src_utils_geo_haversine_km", "callee": "cos", "is_member_call": true, "source_file": "src/utils/geo.py", "source_location": "L16", "receiver": "math"}, {"caller_nid": "$graphify-root$_src_utils_geo_haversine_km", "callee": "sin", "is_member_call": true, "source_file": "src/utils/geo.py", "source_location": "L16", "receiver": "math"}, {"caller_nid": "$graphify-root$_src_utils_geo_haversine_km", "callee": "asin", "is_member_call": true, "source_file": "src/utils/geo.py", "source_location": "L17", "receiver": "math"}, {"caller_nid": "$graphify-root$_src_utils_geo_haversine_km", "callee": "sqrt", "is_member_call": true, "source_file": "src/utils/geo.py", "source_location": "L17", "receiver": "math"}, {"caller_nid": "$graphify-root$_src_utils_geo_nn_heuristic_km", "callee": "add", "is_member_call": true, "source_file": "src/utils/geo.py", "source_location": "L67", "receiver": "visited"}, {"caller_nid": "$graphify-root$_src_utils_geo_get_travel_min", "callee": "get", "is_member_call": true, "source_file": "src/utils/geo.py", "source_location": "L84", "receiver": null}, {"caller_nid": "$graphify-root$_src_utils_geo_get_travel_min", "callee": "get", "is_member_call": true, "source_file": "src/utils/geo.py", "source_location": "L84", "receiver": "matrix"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/ce4f4206546db46e7aaaf2dd45659f5f585f86f2b43888646fda099d9bf1adb5.json b/graphify-out/cache/ast/v0.9.31/ce4f4206546db46e7aaaf2dd45659f5f585f86f2b43888646fda099d9bf1adb5.json new file mode 100644 index 0000000..1d7a7de --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/ce4f4206546db46e7aaaf2dd45659f5f585f86f2b43888646fda099d9bf1adb5.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_src_matrix_init_py", "label": "__init__.py", "file_type": "code", "source_file": "src/matrix/__init__.py", "source_location": "L1"}, {"id": "$graphify-root$_src_matrix_init_rationale_1", "label": "matrix \u2014 \uc774\ub3d9\uc2dc\uac04 \ud589\ub82c \uad6c\ud604\uccb4 \ud328\ud0a4\uc9c0.", "file_type": "rationale", "source_file": "src/matrix/__init__.py", "source_location": "L1"}], "edges": [{"source": "$graphify-root$_src_matrix_init_py", "target": "src_matrix_redis_matrix", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/matrix/__init__.py", "source_location": "L2", "weight": 1.0}, {"source": "$graphify-root$_src_matrix_init_rationale_1", "target": "$graphify-root$_src_matrix_init_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/matrix/__init__.py", "source_location": "L1", "weight": 1.0}], "raw_calls": []} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/cfcc66c4b0c6cdc64b680f4732791cca779f9666d52f94581cf457b821c9ef8a.json b/graphify-out/cache/ast/v0.9.31/cfcc66c4b0c6cdc64b680f4732791cca779f9666d52f94581cf457b821c9ef8a.json new file mode 100644 index 0000000..a4809ee --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/cfcc66c4b0c6cdc64b680f4732791cca779f9666d52f94581cf457b821c9ef8a.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_src_api_init_py", "label": "__init__.py", "file_type": "code", "source_file": "src/api/__init__.py", "source_location": "L1"}], "edges": [], "raw_calls": []} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/d28e1c146ae48649d1ee4632184814b817efc9f4c39cbc4d6f87ac1b903318dd.json b/graphify-out/cache/ast/v0.9.31/d28e1c146ae48649d1ee4632184814b817efc9f4c39cbc4d6f87ac1b903318dd.json new file mode 100644 index 0000000..982d6d3 --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/d28e1c146ae48649d1ee4632184814b817efc9f4c39cbc4d6f87ac1b903318dd.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_src_validation_init_py", "label": "__init__.py", "file_type": "code", "source_file": "src/validation/__init__.py", "source_location": "L1"}], "edges": [], "raw_calls": []} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/d879a3ae59268bc118f5e88cc666fecbcde6a6be901dbd05cb5306830eaaf534.json b/graphify-out/cache/ast/v0.9.31/d879a3ae59268bc118f5e88cc666fecbcde6a6be901dbd05cb5306830eaaf534.json new file mode 100644 index 0000000..e9c9e3f --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/d879a3ae59268bc118f5e88cc666fecbcde6a6be901dbd05cb5306830eaaf534.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_src_scoring_theme_alignment_py", "label": "theme_alignment.py", "file_type": "code", "source_file": "src/scoring/theme_alignment.py", "source_location": "L1"}, {"id": "$graphify-root$_src_scoring_theme_alignment_poiwithcategory", "label": "POIWithCategory", "file_type": "code", "source_file": "src/scoring/theme_alignment.py", "source_location": "L68", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_src_scoring_theme_alignment_themejudgment", "label": "ThemeJudgment", "file_type": "code", "source_file": "src/scoring/theme_alignment.py", "source_location": "L77", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_src_scoring_theme_alignment_themealignmentreport", "label": "ThemeAlignmentReport", "file_type": "code", "source_file": "src/scoring/theme_alignment.py", "source_location": "L86", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_src_scoring_theme_alignment_cache_key", "label": "_cache_key()", "file_type": "code", "source_file": "src/scoring/theme_alignment.py", "source_location": "L96", "_callable": true}, {"id": "userpreferences", "label": "UserPreferences", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/scoring/theme_alignment.py"}, {"id": "$graphify-root$_src_scoring_theme_alignment_build_user_prompt", "label": "_build_user_prompt()", "file_type": "code", "source_file": "src/scoring/theme_alignment.py", "source_location": "L107", "_callable": true}, {"id": "$graphify-root$_src_scoring_theme_alignment_classify_score", "label": "_classify_score()", "file_type": "code", "source_file": "src/scoring/theme_alignment.py", "source_location": "L132", "_callable": true}, {"id": "$graphify-root$_src_scoring_theme_alignment_parse_llm_response", "label": "_parse_llm_response()", "file_type": "code", "source_file": "src/scoring/theme_alignment.py", "source_location": "L143", "_callable": true}, {"id": "$graphify-root$_src_scoring_theme_alignment_themealignmentjudge", "label": "ThemeAlignmentJudge", "file_type": "code", "source_file": "src/scoring/theme_alignment.py", "source_location": "L163", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_src_scoring_theme_alignment_themealignmentjudge_init", "label": ".__init__()", "file_type": "code", "source_file": "src/scoring/theme_alignment.py", "source_location": "L171", "_callable": true}, {"id": "any", "label": "Any", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/scoring/theme_alignment.py"}, {"id": "$graphify-root$_src_scoring_theme_alignment_themealignmentjudge_is_available", "label": ".is_available()", "file_type": "code", "source_file": "src/scoring/theme_alignment.py", "source_location": "L187", "_callable": true}, {"id": "$graphify-root$_src_scoring_theme_alignment_themealignmentjudge_evaluate", "label": ".evaluate()", "file_type": "code", "source_file": "src/scoring/theme_alignment.py", "source_location": "L191", "_callable": true}, {"id": "$graphify-root$_src_scoring_theme_alignment_themealignmentjudge_call_llm", "label": "._call_llm()", "file_type": "code", "source_file": "src/scoring/theme_alignment.py", "source_location": "L261", "_callable": true}, {"id": "$graphify-root$_src_scoring_theme_alignment_rationale_1", "label": "\ud14c\ub9c8 \uc77c\uce58\uc131 LLM \ud310\uc815 (\ubaa8\ub4c8 \u2466) \u2014 Anthropic Claude API \uae30\ubc18. \uc694\uad6c\uc0ac\ud56d: \uc0ac\uc6a9\uc790\uac00 \uc120\ud0dd\ud55c \ud14c\ub9c8(\uc608: \uc561\ud2f0\ube44\ud2f0)\uc640 \uc77c\uc815\u2026", "file_type": "rationale", "source_file": "src/scoring/theme_alignment.py", "source_location": "L1"}, {"id": "$graphify-root$_src_scoring_theme_alignment_rationale_69", "label": "LLM\uc5d0\uac8c \uc804\ub2ec\ud560 POI \uc815\ubcf4 (\uce74\ud14c\uace0\ub9ac \uba85 \ud3ec\ud568).", "file_type": "rationale", "source_file": "src/scoring/theme_alignment.py", "source_location": "L69"}, {"id": "$graphify-root$_src_scoring_theme_alignment_rationale_97", "label": "\uce90\uc2dc \ud0a4: \ud14c\ub9c8 + \uc815\ub82c\ub41c \uc7a5\uc18c\uba85 \ud574\uc2dc.", "file_type": "rationale", "source_file": "src/scoring/theme_alignment.py", "source_location": "L97"}, {"id": "$graphify-root$_src_scoring_theme_alignment_rationale_111", "label": "LLM\uc5d0\uac8c \uc804\ub2ec\ud560 user \uba54\uc2dc\uc9c0 \uad6c\uc131.", "file_type": "rationale", "source_file": "src/scoring/theme_alignment.py", "source_location": "L111"}, {"id": "$graphify-root$_src_scoring_theme_alignment_rationale_133", "label": "\uc77c\uce58\ub3c4 \uc810\uc218 \u2192 (\ud328\ub110\ud2f0, risk_label).", "file_type": "rationale", "source_file": "src/scoring/theme_alignment.py", "source_location": "L133"}, {"id": "$graphify-root$_src_scoring_theme_alignment_rationale_144", "label": "Claude \uc751\ub2f5 \ud14d\uc2a4\ud2b8\uc5d0\uc11c JSON \ucd94\ucd9c.", "file_type": "rationale", "source_file": "src/scoring/theme_alignment.py", "source_location": "L144"}, {"id": "$graphify-root$_src_scoring_theme_alignment_rationale_164", "label": "LLM \uae30\ubc18 \ud14c\ub9c8 \uc77c\uce58\uc131 \ud310\uc815\uae30. \uc0ac\uc6a9 \uc608: judge = ThemeAlignmentJudge() # ANTHROPIC_API_KEY \uc790\ub3d9\u2026", "file_type": "rationale", "source_file": "src/scoring/theme_alignment.py", "source_location": "L164"}, {"id": "$graphify-root$_src_scoring_theme_alignment_rationale_188", "label": "LLM \ud638\ucd9c \uac00\ub2a5 \uc5ec\ubd80 (SDK + \ud0a4 + \ud074\ub77c\uc774\uc5b8\ud2b8 \ubaa8\ub450 \uc900\ube44\ub41c \uacbd\uc6b0 True).", "file_type": "rationale", "source_file": "src/scoring/theme_alignment.py", "source_location": "L188"}], "edges": [{"source": "$graphify-root$_src_scoring_theme_alignment_py", "target": "hashlib", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/scoring/theme_alignment.py", "source_location": "L15", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_theme_alignment_py", "target": "json", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/scoring/theme_alignment.py", "source_location": "L16", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_theme_alignment_py", "target": "os", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/scoring/theme_alignment.py", "source_location": "L17", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_theme_alignment_py", "target": "dataclasses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/scoring/theme_alignment.py", "source_location": "L18", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_theme_alignment_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/scoring/theme_alignment.py", "source_location": "L19", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_theme_alignment_py", "target": "src_data_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/scoring/theme_alignment.py", "source_location": "L21", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_theme_alignment_py", "target": "src_data_theme_taxonomy", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/scoring/theme_alignment.py", "source_location": "L22", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_theme_alignment_py", "target": "anthropic", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/scoring/theme_alignment.py", "source_location": "L26", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_theme_alignment_py", "target": "$graphify-root$_src_scoring_theme_alignment_poiwithcategory", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/scoring/theme_alignment.py", "source_location": "L68", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_theme_alignment_py", "target": "$graphify-root$_src_scoring_theme_alignment_themejudgment", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/scoring/theme_alignment.py", "source_location": "L77", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_theme_alignment_py", "target": "$graphify-root$_src_scoring_theme_alignment_themealignmentreport", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/scoring/theme_alignment.py", "source_location": "L86", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_theme_alignment_py", "target": "$graphify-root$_src_scoring_theme_alignment_cache_key", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/scoring/theme_alignment.py", "source_location": "L96", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_theme_alignment_cache_key", "target": "userpreferences", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/scoring/theme_alignment.py", "source_location": "L96", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_theme_alignment_cache_key", "target": "$graphify-root$_src_scoring_theme_alignment_poiwithcategory", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/scoring/theme_alignment.py", "source_location": "L96", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_theme_alignment_py", "target": "$graphify-root$_src_scoring_theme_alignment_build_user_prompt", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/scoring/theme_alignment.py", "source_location": "L107", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_theme_alignment_build_user_prompt", "target": "userpreferences", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/scoring/theme_alignment.py", "source_location": "L107", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_theme_alignment_build_user_prompt", "target": "$graphify-root$_src_scoring_theme_alignment_poiwithcategory", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/scoring/theme_alignment.py", "source_location": "L107", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_theme_alignment_py", "target": "$graphify-root$_src_scoring_theme_alignment_classify_score", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/scoring/theme_alignment.py", "source_location": "L132", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_theme_alignment_py", "target": "$graphify-root$_src_scoring_theme_alignment_parse_llm_response", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/scoring/theme_alignment.py", "source_location": "L143", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_theme_alignment_parse_llm_response", "target": "$graphify-root$_src_scoring_theme_alignment_themejudgment", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "src/scoring/theme_alignment.py", "source_location": "L143", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_theme_alignment_py", "target": "$graphify-root$_src_scoring_theme_alignment_themealignmentjudge", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/scoring/theme_alignment.py", "source_location": "L163", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_theme_alignment_themealignmentjudge", "target": "$graphify-root$_src_scoring_theme_alignment_themealignmentjudge_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/scoring/theme_alignment.py", "source_location": "L171", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_theme_alignment_themealignmentjudge_init", "target": "any", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/scoring/theme_alignment.py", "source_location": "L171", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_theme_alignment_themealignmentjudge", "target": "$graphify-root$_src_scoring_theme_alignment_themealignmentjudge_is_available", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/scoring/theme_alignment.py", "source_location": "L187", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_theme_alignment_themealignmentjudge", "target": "$graphify-root$_src_scoring_theme_alignment_themealignmentjudge_evaluate", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/scoring/theme_alignment.py", "source_location": "L191", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_theme_alignment_themealignmentjudge_evaluate", "target": "userpreferences", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/scoring/theme_alignment.py", "source_location": "L191", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_theme_alignment_themealignmentjudge_evaluate", "target": "$graphify-root$_src_scoring_theme_alignment_poiwithcategory", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/scoring/theme_alignment.py", "source_location": "L191", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_theme_alignment_themealignmentjudge_evaluate", "target": "$graphify-root$_src_scoring_theme_alignment_themealignmentreport", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "src/scoring/theme_alignment.py", "source_location": "L191", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_theme_alignment_themealignmentjudge", "target": "$graphify-root$_src_scoring_theme_alignment_themealignmentjudge_call_llm", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/scoring/theme_alignment.py", "source_location": "L261", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_theme_alignment_themealignmentjudge_call_llm", "target": "userpreferences", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/scoring/theme_alignment.py", "source_location": "L261", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_theme_alignment_themealignmentjudge_call_llm", "target": "$graphify-root$_src_scoring_theme_alignment_poiwithcategory", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/scoring/theme_alignment.py", "source_location": "L261", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_theme_alignment_themealignmentjudge_call_llm", "target": "$graphify-root$_src_scoring_theme_alignment_themejudgment", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "src/scoring/theme_alignment.py", "source_location": "L261", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_theme_alignment_parse_llm_response", "target": "$graphify-root$_src_scoring_theme_alignment_themejudgment", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/scoring/theme_alignment.py", "source_location": "L155", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_theme_alignment_themealignmentjudge_evaluate", "target": "$graphify-root$_src_scoring_theme_alignment_themealignmentjudge_is_available", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/scoring/theme_alignment.py", "source_location": "L198", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_theme_alignment_themealignmentjudge_evaluate", "target": "$graphify-root$_src_scoring_theme_alignment_themealignmentreport", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/scoring/theme_alignment.py", "source_location": "L203", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_theme_alignment_themealignmentjudge_evaluate", "target": "$graphify-root$_src_scoring_theme_alignment_cache_key", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/scoring/theme_alignment.py", "source_location": "L215", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_theme_alignment_themealignmentjudge_evaluate", "target": "$graphify-root$_src_scoring_theme_alignment_themealignmentjudge_call_llm", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/scoring/theme_alignment.py", "source_location": "L220", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_theme_alignment_themealignmentjudge_evaluate", "target": "$graphify-root$_src_scoring_theme_alignment_classify_score", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/scoring/theme_alignment.py", "source_location": "L235", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_theme_alignment_themealignmentjudge_call_llm", "target": "$graphify-root$_src_scoring_theme_alignment_build_user_prompt", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/scoring/theme_alignment.py", "source_location": "L267", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_theme_alignment_themealignmentjudge_call_llm", "target": "$graphify-root$_src_scoring_theme_alignment_parse_llm_response", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/scoring/theme_alignment.py", "source_location": "L285", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_theme_alignment_rationale_1", "target": "$graphify-root$_src_scoring_theme_alignment_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/scoring/theme_alignment.py", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_theme_alignment_rationale_69", "target": "$graphify-root$_src_scoring_theme_alignment_poiwithcategory", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/scoring/theme_alignment.py", "source_location": "L69", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_theme_alignment_rationale_97", "target": "$graphify-root$_src_scoring_theme_alignment_cache_key", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/scoring/theme_alignment.py", "source_location": "L97", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_theme_alignment_rationale_111", "target": "$graphify-root$_src_scoring_theme_alignment_build_user_prompt", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/scoring/theme_alignment.py", "source_location": "L111", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_theme_alignment_rationale_133", "target": "$graphify-root$_src_scoring_theme_alignment_classify_score", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/scoring/theme_alignment.py", "source_location": "L133", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_theme_alignment_rationale_144", "target": "$graphify-root$_src_scoring_theme_alignment_parse_llm_response", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/scoring/theme_alignment.py", "source_location": "L144", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_theme_alignment_rationale_164", "target": "$graphify-root$_src_scoring_theme_alignment_themealignmentjudge", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/scoring/theme_alignment.py", "source_location": "L164", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_theme_alignment_rationale_188", "target": "$graphify-root$_src_scoring_theme_alignment_themealignmentjudge_is_available", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/scoring/theme_alignment.py", "source_location": "L188", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_src_scoring_theme_alignment_cache_key", "callee": "dumps", "is_member_call": true, "source_file": "src/scoring/theme_alignment.py", "source_location": "L103", "receiver": "json"}, {"caller_nid": "$graphify-root$_src_scoring_theme_alignment_cache_key", "callee": "hexdigest", "is_member_call": true, "source_file": "src/scoring/theme_alignment.py", "source_location": "L104", "receiver": null}, {"caller_nid": "$graphify-root$_src_scoring_theme_alignment_cache_key", "callee": "md5", "is_member_call": true, "source_file": "src/scoring/theme_alignment.py", "source_location": "L104", "receiver": "hashlib"}, {"caller_nid": "$graphify-root$_src_scoring_theme_alignment_cache_key", "callee": "encode", "is_member_call": true, "source_file": "src/scoring/theme_alignment.py", "source_location": "L104", "receiver": "raw"}, {"caller_nid": "$graphify-root$_src_scoring_theme_alignment_build_user_prompt", "callee": "get", "is_member_call": true, "source_file": "src/scoring/theme_alignment.py", "source_location": "L114", "receiver": "TRAVEL_STYLE_DESCRIPTIONS"}, {"caller_nid": "$graphify-root$_src_scoring_theme_alignment_build_user_prompt", "callee": "append", "is_member_call": true, "source_file": "src/scoring/theme_alignment.py", "source_location": "L115", "receiver": "style_lines"}, {"caller_nid": "$graphify-root$_src_scoring_theme_alignment_build_user_prompt", "callee": "append", "is_member_call": true, "source_file": "src/scoring/theme_alignment.py", "source_location": "L121", "receiver": "place_lines"}, {"caller_nid": "$graphify-root$_src_scoring_theme_alignment_build_user_prompt", "callee": "join", "is_member_call": true, "source_file": "src/scoring/theme_alignment.py", "source_location": "L125", "receiver": null}, {"caller_nid": "$graphify-root$_src_scoring_theme_alignment_build_user_prompt", "callee": "join", "is_member_call": true, "source_file": "src/scoring/theme_alignment.py", "source_location": "L126", "receiver": null}, {"caller_nid": "$graphify-root$_src_scoring_theme_alignment_build_user_prompt", "callee": "join", "is_member_call": true, "source_file": "src/scoring/theme_alignment.py", "source_location": "L127", "receiver": null}, {"caller_nid": "$graphify-root$_src_scoring_theme_alignment_classify_score", "callee": "PENALTY_CRIT", "is_member_call": false, "indirect": true, "context": "return", "source_file": "src/scoring/theme_alignment.py", "source_location": "L135"}, {"caller_nid": "$graphify-root$_src_scoring_theme_alignment_classify_score", "callee": "PENALTY_RISK", "is_member_call": false, "indirect": true, "context": "return", "source_file": "src/scoring/theme_alignment.py", "source_location": "L137"}, {"caller_nid": "$graphify-root$_src_scoring_theme_alignment_classify_score", "callee": "PENALTY_WARN", "is_member_call": false, "indirect": true, "context": "return", "source_file": "src/scoring/theme_alignment.py", "source_location": "L139"}, {"caller_nid": "$graphify-root$_src_scoring_theme_alignment_parse_llm_response", "callee": "strip", "is_member_call": true, "source_file": "src/scoring/theme_alignment.py", "source_location": "L146", "receiver": "raw_text"}, {"caller_nid": "$graphify-root$_src_scoring_theme_alignment_parse_llm_response", "callee": "startswith", "is_member_call": true, "source_file": "src/scoring/theme_alignment.py", "source_location": "L147", "receiver": "text"}, {"caller_nid": "$graphify-root$_src_scoring_theme_alignment_parse_llm_response", "callee": "split", "is_member_call": true, "source_file": "src/scoring/theme_alignment.py", "source_location": "L149", "receiver": "text"}, {"caller_nid": "$graphify-root$_src_scoring_theme_alignment_parse_llm_response", "callee": "join", "is_member_call": true, "source_file": "src/scoring/theme_alignment.py", "source_location": "L150", "receiver": null}, {"caller_nid": "$graphify-root$_src_scoring_theme_alignment_parse_llm_response", "callee": "strip", "is_member_call": true, "source_file": "src/scoring/theme_alignment.py", "source_location": "L150", "receiver": null}, {"caller_nid": "$graphify-root$_src_scoring_theme_alignment_parse_llm_response", "callee": "loads", "is_member_call": true, "source_file": "src/scoring/theme_alignment.py", "source_location": "L152", "receiver": "json"}, {"caller_nid": "$graphify-root$_src_scoring_theme_alignment_parse_llm_response", "callee": "get", "is_member_call": true, "source_file": "src/scoring/theme_alignment.py", "source_location": "L153", "receiver": "data"}, {"caller_nid": "$graphify-root$_src_scoring_theme_alignment_parse_llm_response", "callee": "get", "is_member_call": true, "source_file": "src/scoring/theme_alignment.py", "source_location": "L157", "receiver": "data"}, {"caller_nid": "$graphify-root$_src_scoring_theme_alignment_parse_llm_response", "callee": "get", "is_member_call": true, "source_file": "src/scoring/theme_alignment.py", "source_location": "L158", "receiver": "data"}, {"caller_nid": "$graphify-root$_src_scoring_theme_alignment_themealignmentjudge_init", "callee": "get", "is_member_call": true, "source_file": "src/scoring/theme_alignment.py", "source_location": "L182", "receiver": null}, {"caller_nid": "$graphify-root$_src_scoring_theme_alignment_themealignmentjudge_init", "callee": "Anthropic", "is_member_call": true, "source_file": "src/scoring/theme_alignment.py", "source_location": "L185", "receiver": "anthropic"}, {"caller_nid": "$graphify-root$_src_scoring_theme_alignment_themealignmentjudge_evaluate", "callee": "DeepDiveItem", "is_member_call": false, "source_file": "src/scoring/theme_alignment.py", "source_location": "L206", "receiver": null}, {"caller_nid": "$graphify-root$_src_scoring_theme_alignment_themealignmentjudge_evaluate", "callee": "DeepDiveItem", "is_member_call": false, "source_file": "src/scoring/theme_alignment.py", "source_location": "L226", "receiver": null}, {"caller_nid": "$graphify-root$_src_scoring_theme_alignment_themealignmentjudge_evaluate", "callee": "e", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "src/scoring/theme_alignment.py", "source_location": "L227"}, {"caller_nid": "$graphify-root$_src_scoring_theme_alignment_themealignmentjudge_evaluate", "callee": "e", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "src/scoring/theme_alignment.py", "source_location": "L227"}, {"caller_nid": "$graphify-root$_src_scoring_theme_alignment_themealignmentjudge_evaluate", "callee": "join", "is_member_call": true, "source_file": "src/scoring/theme_alignment.py", "source_location": "L239", "receiver": null}, {"caller_nid": "$graphify-root$_src_scoring_theme_alignment_themealignmentjudge_evaluate", "callee": "append", "is_member_call": true, "source_file": "src/scoring/theme_alignment.py", "source_location": "L242", "receiver": "deep_dive"}, {"caller_nid": "$graphify-root$_src_scoring_theme_alignment_themealignmentjudge_evaluate", "callee": "DeepDiveItem", "is_member_call": false, "source_file": "src/scoring/theme_alignment.py", "source_location": "L242", "receiver": null}, {"caller_nid": "$graphify-root$_src_scoring_theme_alignment_themealignmentjudge_call_llm", "callee": "create", "is_member_call": true, "source_file": "src/scoring/theme_alignment.py", "source_location": "L270", "receiver": null}, {"caller_nid": "$graphify-root$_src_scoring_theme_alignment_themealignmentjudge_call_llm", "callee": "SYSTEM_PROMPT", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "src/scoring/theme_alignment.py", "source_location": "L276"}, {"caller_nid": "$graphify-root$_src_scoring_theme_alignment_themealignmentjudge_call_llm", "callee": "join", "is_member_call": true, "source_file": "src/scoring/theme_alignment.py", "source_location": "L284", "receiver": null}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/dcb76677107618c486fbfd6c36851965e380035eea5b2ba6219af356123c9ed6.json b/graphify-out/cache/ast/v0.9.31/dcb76677107618c486fbfd6c36851965e380035eea5b2ba6219af356123c9ed6.json new file mode 100644 index 0000000..8eb76b6 --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/dcb76677107618c486fbfd6c36851965e380035eea5b2ba6219af356123c9ed6.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_scripts_fetch_missing_pois_py", "label": "fetch_missing_pois.py", "file_type": "code", "source_file": "scripts/fetch_missing_pois.py", "source_location": "L1"}, {"id": "$graphify-root$_scripts_fetch_missing_pois_load_existing_ids", "label": "load_existing_ids()", "file_type": "code", "source_file": "scripts/fetch_missing_pois.py", "source_location": "L26", "_callable": true}, {"id": "$graphify-root$_scripts_fetch_missing_pois_load_api_key", "label": "load_api_key()", "file_type": "code", "source_file": "scripts/fetch_missing_pois.py", "source_location": "L38", "_callable": true}, {"id": "$graphify-root$_scripts_fetch_missing_pois_fetch_page", "label": "fetch_page()", "file_type": "code", "source_file": "scripts/fetch_missing_pois.py", "source_location": "L48", "_callable": true}, {"id": "asyncclient", "label": "AsyncClient", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/scripts/fetch_missing_pois.py"}, {"id": "$graphify-root$_scripts_fetch_missing_pois_fetch_region_type", "label": "fetch_region_type()", "file_type": "code", "source_file": "scripts/fetch_missing_pois.py", "source_location": "L87", "_callable": true}, {"id": "$graphify-root$_scripts_fetch_missing_pois_main", "label": "main()", "file_type": "code", "source_file": "scripts/fetch_missing_pois.py", "source_location": "L150", "_callable": true}, {"id": "$graphify-root$_scripts_fetch_missing_pois_rationale_1", "label": "TourAPI areaBasedList2\ub85c \uc804\uad6d POI \uc218\uc9d1 \u2192 pois.csv\uc5d0 \ub204\ub77d\ubd84 \ucd94\uac00.", "file_type": "rationale", "source_file": "scripts/fetch_missing_pois.py", "source_location": "L1"}], "edges": [{"source": "$graphify-root$_scripts_fetch_missing_pois_py", "target": "asyncio", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/fetch_missing_pois.py", "source_location": "L4", "weight": 1.0}, {"source": "$graphify-root$_scripts_fetch_missing_pois_py", "target": "csv", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/fetch_missing_pois.py", "source_location": "L5", "weight": 1.0}, {"source": "$graphify-root$_scripts_fetch_missing_pois_py", "target": "time", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/fetch_missing_pois.py", "source_location": "L6", "weight": 1.0}, {"source": "$graphify-root$_scripts_fetch_missing_pois_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/fetch_missing_pois.py", "source_location": "L7", "weight": 1.0}, {"source": "$graphify-root$_scripts_fetch_missing_pois_py", "target": "httpx", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/fetch_missing_pois.py", "source_location": "L8", "weight": 1.0}, {"source": "$graphify-root$_scripts_fetch_missing_pois_py", "target": "$graphify-root$_scripts_fetch_missing_pois_load_existing_ids", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/fetch_missing_pois.py", "source_location": "L26", "weight": 1.0}, {"source": "$graphify-root$_scripts_fetch_missing_pois_py", "target": "$graphify-root$_scripts_fetch_missing_pois_load_api_key", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/fetch_missing_pois.py", "source_location": "L38", "weight": 1.0}, {"source": "$graphify-root$_scripts_fetch_missing_pois_py", "target": "$graphify-root$_scripts_fetch_missing_pois_fetch_page", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/fetch_missing_pois.py", "source_location": "L48", "weight": 1.0}, {"source": "$graphify-root$_scripts_fetch_missing_pois_fetch_page", "target": "asyncclient", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "scripts/fetch_missing_pois.py", "source_location": "L48", "weight": 1.0}, {"source": "$graphify-root$_scripts_fetch_missing_pois_py", "target": "$graphify-root$_scripts_fetch_missing_pois_fetch_region_type", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/fetch_missing_pois.py", "source_location": "L87", "weight": 1.0}, {"source": "$graphify-root$_scripts_fetch_missing_pois_fetch_region_type", "target": "asyncclient", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "scripts/fetch_missing_pois.py", "source_location": "L87", "weight": 1.0}, {"source": "$graphify-root$_scripts_fetch_missing_pois_py", "target": "$graphify-root$_scripts_fetch_missing_pois_main", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/fetch_missing_pois.py", "source_location": "L150", "weight": 1.0}, {"source": "$graphify-root$_scripts_fetch_missing_pois_fetch_region_type", "target": "$graphify-root$_scripts_fetch_missing_pois_fetch_page", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/fetch_missing_pois.py", "source_location": "L100", "weight": 1.0}, {"source": "$graphify-root$_scripts_fetch_missing_pois_main", "target": "$graphify-root$_scripts_fetch_missing_pois_load_api_key", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/fetch_missing_pois.py", "source_location": "L151", "weight": 1.0}, {"source": "$graphify-root$_scripts_fetch_missing_pois_main", "target": "$graphify-root$_scripts_fetch_missing_pois_load_existing_ids", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/fetch_missing_pois.py", "source_location": "L156", "weight": 1.0}, {"source": "$graphify-root$_scripts_fetch_missing_pois_main", "target": "asyncclient", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/fetch_missing_pois.py", "source_location": "L162", "weight": 1.0}, {"source": "$graphify-root$_scripts_fetch_missing_pois_main", "target": "$graphify-root$_scripts_fetch_missing_pois_fetch_region_type", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/fetch_missing_pois.py", "source_location": "L166", "weight": 1.0}, {"source": "$graphify-root$_scripts_fetch_missing_pois_rationale_1", "target": "$graphify-root$_scripts_fetch_missing_pois_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "scripts/fetch_missing_pois.py", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_scripts_fetch_missing_pois_load_existing_ids", "callee": "exists", "is_member_call": true, "source_file": "scripts/fetch_missing_pois.py", "source_location": "L28", "receiver": "POIS_CSV"}, {"caller_nid": "$graphify-root$_scripts_fetch_missing_pois_load_existing_ids", "callee": "POIS_CSV", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/fetch_missing_pois.py", "source_location": "L30"}, {"caller_nid": "$graphify-root$_scripts_fetch_missing_pois_load_existing_ids", "callee": "DictReader", "is_member_call": true, "source_file": "scripts/fetch_missing_pois.py", "source_location": "L31", "receiver": "csv"}, {"caller_nid": "$graphify-root$_scripts_fetch_missing_pois_load_existing_ids", "callee": "f", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/fetch_missing_pois.py", "source_location": "L31"}, {"caller_nid": "$graphify-root$_scripts_fetch_missing_pois_load_existing_ids", "callee": "strip", "is_member_call": true, "source_file": "scripts/fetch_missing_pois.py", "source_location": "L32", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_fetch_missing_pois_load_existing_ids", "callee": "get", "is_member_call": true, "source_file": "scripts/fetch_missing_pois.py", "source_location": "L32", "receiver": "row"}, {"caller_nid": "$graphify-root$_scripts_fetch_missing_pois_load_existing_ids", "callee": "add", "is_member_call": true, "source_file": "scripts/fetch_missing_pois.py", "source_location": "L34", "receiver": "ids"}, {"caller_nid": "$graphify-root$_scripts_fetch_missing_pois_load_api_key", "callee": "Path", "is_member_call": false, "source_file": "scripts/fetch_missing_pois.py", "source_location": "L39", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_fetch_missing_pois_load_api_key", "callee": "__file__", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/fetch_missing_pois.py", "source_location": "L39"}, {"caller_nid": "$graphify-root$_scripts_fetch_missing_pois_load_api_key", "callee": "exists", "is_member_call": true, "source_file": "scripts/fetch_missing_pois.py", "source_location": "L40", "receiver": "env_file"}, {"caller_nid": "$graphify-root$_scripts_fetch_missing_pois_load_api_key", "callee": "splitlines", "is_member_call": true, "source_file": "scripts/fetch_missing_pois.py", "source_location": "L41", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_fetch_missing_pois_load_api_key", "callee": "read_text", "is_member_call": true, "source_file": "scripts/fetch_missing_pois.py", "source_location": "L41", "receiver": "env_file"}, {"caller_nid": "$graphify-root$_scripts_fetch_missing_pois_load_api_key", "callee": "startswith", "is_member_call": true, "source_file": "scripts/fetch_missing_pois.py", "source_location": "L42", "receiver": "line"}, {"caller_nid": "$graphify-root$_scripts_fetch_missing_pois_load_api_key", "callee": "strip", "is_member_call": true, "source_file": "scripts/fetch_missing_pois.py", "source_location": "L43", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_fetch_missing_pois_load_api_key", "callee": "split", "is_member_call": true, "source_file": "scripts/fetch_missing_pois.py", "source_location": "L43", "receiver": "line"}, {"caller_nid": "$graphify-root$_scripts_fetch_missing_pois_load_api_key", "callee": "getenv", "is_member_call": true, "source_file": "scripts/fetch_missing_pois.py", "source_location": "L45", "receiver": "os"}, {"caller_nid": "$graphify-root$_scripts_fetch_missing_pois_fetch_page", "callee": "ROWS_PER_PAGE", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "scripts/fetch_missing_pois.py", "source_location": "L57"}, {"caller_nid": "$graphify-root$_scripts_fetch_missing_pois_fetch_page", "callee": "get", "is_member_call": true, "source_file": "scripts/fetch_missing_pois.py", "source_location": "L68", "receiver": "client"}, {"caller_nid": "$graphify-root$_scripts_fetch_missing_pois_fetch_page", "callee": "BASE_URL", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/fetch_missing_pois.py", "source_location": "L68"}, {"caller_nid": "$graphify-root$_scripts_fetch_missing_pois_fetch_page", "callee": "sleep", "is_member_call": true, "source_file": "scripts/fetch_missing_pois.py", "source_location": "L70", "receiver": "asyncio"}, {"caller_nid": "$graphify-root$_scripts_fetch_missing_pois_fetch_page", "callee": "get", "is_member_call": true, "source_file": "scripts/fetch_missing_pois.py", "source_location": "L72", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_fetch_missing_pois_fetch_page", "callee": "get", "is_member_call": true, "source_file": "scripts/fetch_missing_pois.py", "source_location": "L72", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_fetch_missing_pois_fetch_page", "callee": "json", "is_member_call": true, "source_file": "scripts/fetch_missing_pois.py", "source_location": "L72", "receiver": "r"}, {"caller_nid": "$graphify-root$_scripts_fetch_missing_pois_fetch_page", "callee": "get", "is_member_call": true, "source_file": "scripts/fetch_missing_pois.py", "source_location": "L73", "receiver": "body"}, {"caller_nid": "$graphify-root$_scripts_fetch_missing_pois_fetch_page", "callee": "get", "is_member_call": true, "source_file": "scripts/fetch_missing_pois.py", "source_location": "L74", "receiver": "body"}, {"caller_nid": "$graphify-root$_scripts_fetch_missing_pois_fetch_page", "callee": "get", "is_member_call": true, "source_file": "scripts/fetch_missing_pois.py", "source_location": "L77", "receiver": "raw"}, {"caller_nid": "$graphify-root$_scripts_fetch_missing_pois_fetch_page", "callee": "dict", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/fetch_missing_pois.py", "source_location": "L78"}, {"caller_nid": "$graphify-root$_scripts_fetch_missing_pois_fetch_page", "callee": "sleep", "is_member_call": true, "source_file": "scripts/fetch_missing_pois.py", "source_location": "L83", "receiver": "asyncio"}, {"caller_nid": "$graphify-root$_scripts_fetch_missing_pois_fetch_region_type", "callee": "strip", "is_member_call": true, "source_file": "scripts/fetch_missing_pois.py", "source_location": "L105", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_fetch_missing_pois_fetch_region_type", "callee": "get", "is_member_call": true, "source_file": "scripts/fetch_missing_pois.py", "source_location": "L105", "receiver": "item"}, {"caller_nid": "$graphify-root$_scripts_fetch_missing_pois_fetch_region_type", "callee": "strip", "is_member_call": true, "source_file": "scripts/fetch_missing_pois.py", "source_location": "L108", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_fetch_missing_pois_fetch_region_type", "callee": "get", "is_member_call": true, "source_file": "scripts/fetch_missing_pois.py", "source_location": "L108", "receiver": "item"}, {"caller_nid": "$graphify-root$_scripts_fetch_missing_pois_fetch_region_type", "callee": "strip", "is_member_call": true, "source_file": "scripts/fetch_missing_pois.py", "source_location": "L109", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_fetch_missing_pois_fetch_region_type", "callee": "get", "is_member_call": true, "source_file": "scripts/fetch_missing_pois.py", "source_location": "L109", "receiver": "item"}, {"caller_nid": "$graphify-root$_scripts_fetch_missing_pois_fetch_region_type", "callee": "append", "is_member_call": true, "source_file": "scripts/fetch_missing_pois.py", "source_location": "L110", "receiver": "new_items"}, {"caller_nid": "$graphify-root$_scripts_fetch_missing_pois_fetch_region_type", "callee": "get", "is_member_call": true, "source_file": "scripts/fetch_missing_pois.py", "source_location": "L112", "receiver": "item"}, {"caller_nid": "$graphify-root$_scripts_fetch_missing_pois_fetch_region_type", "callee": "get", "is_member_call": true, "source_file": "scripts/fetch_missing_pois.py", "source_location": "L113", "receiver": "item"}, {"caller_nid": "$graphify-root$_scripts_fetch_missing_pois_fetch_region_type", "callee": "get", "is_member_call": true, "source_file": "scripts/fetch_missing_pois.py", "source_location": "L114", "receiver": "item"}, {"caller_nid": "$graphify-root$_scripts_fetch_missing_pois_fetch_region_type", "callee": "get", "is_member_call": true, "source_file": "scripts/fetch_missing_pois.py", "source_location": "L115", "receiver": "item"}, {"caller_nid": "$graphify-root$_scripts_fetch_missing_pois_fetch_region_type", "callee": "get", "is_member_call": true, "source_file": "scripts/fetch_missing_pois.py", "source_location": "L116", "receiver": "item"}, {"caller_nid": "$graphify-root$_scripts_fetch_missing_pois_fetch_region_type", "callee": "get", "is_member_call": true, "source_file": "scripts/fetch_missing_pois.py", "source_location": "L124", "receiver": "item"}, {"caller_nid": "$graphify-root$_scripts_fetch_missing_pois_fetch_region_type", "callee": "get", "is_member_call": true, "source_file": "scripts/fetch_missing_pois.py", "source_location": "L125", "receiver": "item"}, {"caller_nid": "$graphify-root$_scripts_fetch_missing_pois_fetch_region_type", "callee": "get", "is_member_call": true, "source_file": "scripts/fetch_missing_pois.py", "source_location": "L126", "receiver": "item"}, {"caller_nid": "$graphify-root$_scripts_fetch_missing_pois_fetch_region_type", "callee": "get", "is_member_call": true, "source_file": "scripts/fetch_missing_pois.py", "source_location": "L127", "receiver": "item"}, {"caller_nid": "$graphify-root$_scripts_fetch_missing_pois_fetch_region_type", "callee": "get", "is_member_call": true, "source_file": "scripts/fetch_missing_pois.py", "source_location": "L128", "receiver": "item"}, {"caller_nid": "$graphify-root$_scripts_fetch_missing_pois_fetch_region_type", "callee": "get", "is_member_call": true, "source_file": "scripts/fetch_missing_pois.py", "source_location": "L129", "receiver": "item"}, {"caller_nid": "$graphify-root$_scripts_fetch_missing_pois_fetch_region_type", "callee": "get", "is_member_call": true, "source_file": "scripts/fetch_missing_pois.py", "source_location": "L130", "receiver": "item"}, {"caller_nid": "$graphify-root$_scripts_fetch_missing_pois_fetch_region_type", "callee": "sleep", "is_member_call": true, "source_file": "scripts/fetch_missing_pois.py", "source_location": "L137", "receiver": "asyncio"}, {"caller_nid": "$graphify-root$_scripts_fetch_missing_pois_main", "callee": "time", "is_member_call": true, "source_file": "scripts/fetch_missing_pois.py", "source_location": "L160", "receiver": "time"}, {"caller_nid": "$graphify-root$_scripts_fetch_missing_pois_main", "callee": "items", "is_member_call": true, "source_file": "scripts/fetch_missing_pois.py", "source_location": "L163", "receiver": "AREA_CODES"}, {"caller_nid": "$graphify-root$_scripts_fetch_missing_pois_main", "callee": "client", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/fetch_missing_pois.py", "source_location": "L167"}, {"caller_nid": "$graphify-root$_scripts_fetch_missing_pois_main", "callee": "add", "is_member_call": true, "source_file": "scripts/fetch_missing_pois.py", "source_location": "L170", "receiver": "existing_ids"}, {"caller_nid": "$graphify-root$_scripts_fetch_missing_pois_main", "callee": "extend", "is_member_call": true, "source_file": "scripts/fetch_missing_pois.py", "source_location": "L171", "receiver": "area_new"}, {"caller_nid": "$graphify-root$_scripts_fetch_missing_pois_main", "callee": "sleep", "is_member_call": true, "source_file": "scripts/fetch_missing_pois.py", "source_location": "L172", "receiver": "asyncio"}, {"caller_nid": "$graphify-root$_scripts_fetch_missing_pois_main", "callee": "extend", "is_member_call": true, "source_file": "scripts/fetch_missing_pois.py", "source_location": "L174", "receiver": "all_new"}, {"caller_nid": "$graphify-root$_scripts_fetch_missing_pois_main", "callee": "time", "is_member_call": true, "source_file": "scripts/fetch_missing_pois.py", "source_location": "L175", "receiver": "time"}, {"caller_nid": "$graphify-root$_scripts_fetch_missing_pois_main", "callee": "POIS_CSV", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/fetch_missing_pois.py", "source_location": "L183"}, {"caller_nid": "$graphify-root$_scripts_fetch_missing_pois_main", "callee": "DictWriter", "is_member_call": true, "source_file": "scripts/fetch_missing_pois.py", "source_location": "L184", "receiver": "csv"}, {"caller_nid": "$graphify-root$_scripts_fetch_missing_pois_main", "callee": "f", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/fetch_missing_pois.py", "source_location": "L184"}, {"caller_nid": "$graphify-root$_scripts_fetch_missing_pois_main", "callee": "FIELDNAMES", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/fetch_missing_pois.py", "source_location": "L184"}, {"caller_nid": "$graphify-root$_scripts_fetch_missing_pois_main", "callee": "writerow", "is_member_call": true, "source_file": "scripts/fetch_missing_pois.py", "source_location": "L186", "receiver": "writer"}, {"caller_nid": "$graphify-root$_scripts_fetch_missing_pois_main", "callee": "time", "is_member_call": true, "source_file": "scripts/fetch_missing_pois.py", "source_location": "L190", "receiver": "time"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/dcc67140df0396e3e5c3337dc9ae1631b2fce2ab2c8a7d76dca2f2bc4b7eacc1.json b/graphify-out/cache/ast/v0.9.31/dcc67140df0396e3e5c3337dc9ae1631b2fce2ab2c8a7d76dca2f2bc4b7eacc1.json new file mode 100644 index 0000000..9bba5f0 --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/dcc67140df0396e3e5c3337dc9ae1631b2fce2ab2c8a7d76dca2f2bc4b7eacc1.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_src_scoring_congestion_engine_py", "label": "congestion_engine.py", "file_type": "code", "source_file": "src/scoring/congestion_engine.py", "source_location": "L1"}, {"id": "$graphify-root$_src_scoring_congestion_engine_congestionlevel", "label": "CongestionLevel", "file_type": "code", "source_file": "src/scoring/congestion_engine.py", "source_location": "L27", "_callable": true, "_callable_class": true}, {"id": "str", "label": "str", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/scoring/congestion_engine.py"}, {"id": "enum", "label": "Enum", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/scoring/congestion_engine.py"}, {"id": "$graphify-root$_src_scoring_congestion_engine_congestionresult", "label": "CongestionResult", "file_type": "code", "source_file": "src/scoring/congestion_engine.py", "source_location": "L35", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_src_scoring_congestion_engine_normalize", "label": "_normalize()", "file_type": "code", "source_file": "src/scoring/congestion_engine.py", "source_location": "L45", "_callable": true}, {"id": "$graphify-root$_src_scoring_congestion_engine_score_to_level", "label": "_score_to_level()", "file_type": "code", "source_file": "src/scoring/congestion_engine.py", "source_location": "L49", "_callable": true}, {"id": "$graphify-root$_src_scoring_congestion_engine_congestionengine", "label": "CongestionEngine", "file_type": "code", "source_file": "src/scoring/congestion_engine.py", "source_location": "L59", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_src_scoring_congestion_engine_congestionengine_init", "label": ".__init__()", "file_type": "code", "source_file": "src/scoring/congestion_engine.py", "source_location": "L68", "_callable": true}, {"id": "path", "label": "Path", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/scoring/congestion_engine.py"}, {"id": "seoulcitydataclient", "label": "SeoulCityDataClient", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/scoring/congestion_engine.py"}, {"id": "$graphify-root$_src_scoring_congestion_engine_congestionengine_df", "label": "._df()", "file_type": "code", "source_file": "src/scoring/congestion_engine.py", "source_location": "L79", "_callable": true}, {"id": "dataframe", "label": "DataFrame", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/scoring/congestion_engine.py"}, {"id": "$graphify-root$_src_scoring_congestion_engine_congestionengine_poi_names", "label": "._poi_names()", "file_type": "code", "source_file": "src/scoring/congestion_engine.py", "source_location": "L90", "_callable": true}, {"id": "$graphify-root$_src_scoring_congestion_engine_congestionengine_global_avg_by_month", "label": "._global_avg_by_month()", "file_type": "code", "source_file": "src/scoring/congestion_engine.py", "source_location": "L94", "_callable": true}, {"id": "$graphify-root$_src_scoring_congestion_engine_congestionengine_category_avg_by_month", "label": "._category_avg_by_month()", "file_type": "code", "source_file": "src/scoring/congestion_engine.py", "source_location": "L100", "_callable": true}, {"id": "$graphify-root$_src_scoring_congestion_engine_congestionengine_lookup_exact", "label": "._lookup_exact()", "file_type": "code", "source_file": "src/scoring/congestion_engine.py", "source_location": "L113", "_callable": true}, {"id": "series", "label": "Series", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/scoring/congestion_engine.py"}, {"id": "$graphify-root$_src_scoring_congestion_engine_congestionengine_lookup_partial", "label": "._lookup_partial()", "file_type": "code", "source_file": "src/scoring/congestion_engine.py", "source_location": "L119", "_callable": true}, {"id": "$graphify-root$_src_scoring_congestion_engine_congestionengine_score", "label": ".score()", "file_type": "code", "source_file": "src/scoring/congestion_engine.py", "source_location": "L130", "_callable": true}, {"id": "$graphify-root$_src_scoring_congestion_engine_congestionengine_is_crowded", "label": ".is_crowded()", "file_type": "code", "source_file": "src/scoring/congestion_engine.py", "source_location": "L209", "_callable": true}, {"id": "$graphify-root$_src_scoring_congestion_engine_congestionengine_score_itinerary", "label": ".score_itinerary()", "file_type": "code", "source_file": "src/scoring/congestion_engine.py", "source_location": "L213", "_callable": true}, {"id": "$graphify-root$_src_scoring_congestion_engine_rationale_1", "label": "\ud63c\uc7a1\ub3c4 \ud310\uc815 \uc5d4\uc9c4 \u2014 \uacb0\uc815\ub860\uc801 \uaddc\uce59 \uae30\ubc18 (LLM \uc758\uc874 \uc5c6\uc74c). \ub370\uc774\ud130 \uc18c\uc2a4 \uc6b0\uc120\uc21c\uc704: 0. \uc11c\uc6b8 \ub3c4\uc2dc\ub370\uc774\ud130 API (\uc2e4\uc2dc\uac04) \u2014\u2026", "file_type": "rationale", "source_file": "src/scoring/congestion_engine.py", "source_location": "L1"}, {"id": "$graphify-root$_src_scoring_congestion_engine_rationale_60", "label": "POI \u00d7 month \u2192 congestion_score \ud310\uc815\uae30. Args: csv_path: congestion_stats.csv \uacbd\ub85c\u2026", "file_type": "rationale", "source_file": "src/scoring/congestion_engine.py", "source_location": "L60"}, {"id": "$graphify-root$_src_scoring_congestion_engine_rationale_95", "label": "month \u2192 (avg_visitors, congestion_score) \uc804\uccb4 \ud3c9\uade0.", "file_type": "rationale", "source_file": "src/scoring/congestion_engine.py", "source_location": "L95"}, {"id": "$graphify-root$_src_scoring_congestion_engine_rationale_101", "label": "prefix \u2192 month \u2192 (avg_visitors, congestion_score).", "file_type": "rationale", "source_file": "src/scoring/congestion_engine.py", "source_location": "L101"}, {"id": "$graphify-root$_src_scoring_congestion_engine_rationale_131", "label": "POI\uc640 \ubc29\ubb38 \uc6d4\ub85c \ud63c\uc7a1\ub3c4\ub97c \ud310\uc815\ud55c\ub2e4. \uc11c\uc6b8 POI\uc5d0 SeoulCityDataClient\uac00 \uc8fc\uc785\ub41c \uacbd\uc6b0 \uc2e4\uc2dc\uac04 \ub370\uc774\ud130\ub97c \uc6b0\uc120 \uc0ac\uc6a9\ud55c\ub2e4.\u2026", "file_type": "rationale", "source_file": "src/scoring/congestion_engine.py", "source_location": "L131"}, {"id": "$graphify-root$_src_scoring_congestion_engine_rationale_210", "label": "congestion_score >= threshold \uc774\uba74 True.", "file_type": "rationale", "source_file": "src/scoring/congestion_engine.py", "source_location": "L210"}, {"id": "$graphify-root$_src_scoring_congestion_engine_rationale_216", "label": "\uc5ec\ud589 \uc77c\uc815\uc758 \ubaa8\ub4e0 POI \ud63c\uc7a1\ub3c4\ub97c \uc77c\uad04 \ubc18\ud658\ud55c\ub2e4.", "file_type": "rationale", "source_file": "src/scoring/congestion_engine.py", "source_location": "L216"}], "edges": [{"source": "$graphify-root$_src_scoring_congestion_engine_py", "target": "unicodedata", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/scoring/congestion_engine.py", "source_location": "L12", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_congestion_engine_py", "target": "dataclasses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/scoring/congestion_engine.py", "source_location": "L13", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_congestion_engine_py", "target": "enum", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/scoring/congestion_engine.py", "source_location": "L14", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_congestion_engine_py", "target": "functools", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/scoring/congestion_engine.py", "source_location": "L15", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_congestion_engine_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/scoring/congestion_engine.py", "source_location": "L16", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_congestion_engine_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/scoring/congestion_engine.py", "source_location": "L17", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_congestion_engine_py", "target": "pandas", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/scoring/congestion_engine.py", "source_location": "L19", "weight": 1.0, "local_alias": "pd"}, {"source": "$graphify-root$_src_scoring_congestion_engine_py", "target": "src_data_seoul_citydata_client", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/scoring/congestion_engine.py", "source_location": "L22", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_congestion_engine_py", "target": "$graphify-root$_src_scoring_congestion_engine_congestionlevel", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/scoring/congestion_engine.py", "source_location": "L27", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_congestion_engine_congestionlevel", "target": "str", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "src/scoring/congestion_engine.py", "source_location": "L27", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_congestion_engine_congestionlevel", "target": "enum", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "src/scoring/congestion_engine.py", "source_location": "L27", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_congestion_engine_py", "target": "$graphify-root$_src_scoring_congestion_engine_congestionresult", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/scoring/congestion_engine.py", "source_location": "L35", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_congestion_engine_py", "target": "$graphify-root$_src_scoring_congestion_engine_normalize", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/scoring/congestion_engine.py", "source_location": "L45", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_congestion_engine_py", "target": "$graphify-root$_src_scoring_congestion_engine_score_to_level", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/scoring/congestion_engine.py", "source_location": "L49", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_congestion_engine_score_to_level", "target": "$graphify-root$_src_scoring_congestion_engine_congestionlevel", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "src/scoring/congestion_engine.py", "source_location": "L49", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_congestion_engine_py", "target": "$graphify-root$_src_scoring_congestion_engine_congestionengine", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/scoring/congestion_engine.py", "source_location": "L59", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_congestion_engine_congestionengine", "target": "$graphify-root$_src_scoring_congestion_engine_congestionengine_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/scoring/congestion_engine.py", "source_location": "L68", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_congestion_engine_congestionengine_init", "target": "path", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/scoring/congestion_engine.py", "source_location": "L68", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_congestion_engine_congestionengine_init", "target": "seoulcitydataclient", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/scoring/congestion_engine.py", "source_location": "L68", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_congestion_engine_congestionengine", "target": "$graphify-root$_src_scoring_congestion_engine_congestionengine_df", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/scoring/congestion_engine.py", "source_location": "L79", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_congestion_engine_congestionengine_df", "target": "dataframe", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "src/scoring/congestion_engine.py", "source_location": "L79", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_congestion_engine_congestionengine", "target": "$graphify-root$_src_scoring_congestion_engine_congestionengine_poi_names", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/scoring/congestion_engine.py", "source_location": "L90", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_congestion_engine_congestionengine", "target": "$graphify-root$_src_scoring_congestion_engine_congestionengine_global_avg_by_month", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/scoring/congestion_engine.py", "source_location": "L94", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_congestion_engine_congestionengine", "target": "$graphify-root$_src_scoring_congestion_engine_congestionengine_category_avg_by_month", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/scoring/congestion_engine.py", "source_location": "L100", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_congestion_engine_congestionengine", "target": "$graphify-root$_src_scoring_congestion_engine_congestionengine_lookup_exact", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/scoring/congestion_engine.py", "source_location": "L113", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_congestion_engine_congestionengine_lookup_exact", "target": "series", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "src/scoring/congestion_engine.py", "source_location": "L113", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_congestion_engine_congestionengine", "target": "$graphify-root$_src_scoring_congestion_engine_congestionengine_lookup_partial", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/scoring/congestion_engine.py", "source_location": "L119", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_congestion_engine_congestionengine_lookup_partial", "target": "series", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/scoring/congestion_engine.py", "source_location": "L119", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_congestion_engine_congestionengine", "target": "$graphify-root$_src_scoring_congestion_engine_congestionengine_score", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/scoring/congestion_engine.py", "source_location": "L130", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_congestion_engine_congestionengine_score", "target": "$graphify-root$_src_scoring_congestion_engine_congestionresult", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "src/scoring/congestion_engine.py", "source_location": "L130", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_congestion_engine_congestionengine", "target": "$graphify-root$_src_scoring_congestion_engine_congestionengine_is_crowded", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/scoring/congestion_engine.py", "source_location": "L209", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_congestion_engine_congestionengine", "target": "$graphify-root$_src_scoring_congestion_engine_congestionengine_score_itinerary", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/scoring/congestion_engine.py", "source_location": "L213", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_congestion_engine_congestionengine_score_itinerary", "target": "$graphify-root$_src_scoring_congestion_engine_congestionresult", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/scoring/congestion_engine.py", "source_location": "L213", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_congestion_engine_congestionengine_df", "target": "$graphify-root$_src_scoring_congestion_engine_normalize", "relation": "indirect_call", "context": "argument", "confidence": "INFERRED", "source_file": "src/scoring/congestion_engine.py", "source_location": "L86", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_congestion_engine_congestionengine_score", "target": "$graphify-root$_src_scoring_congestion_engine_normalize", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/scoring/congestion_engine.py", "source_location": "L145", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_congestion_engine_congestionengine_score", "target": "$graphify-root$_src_scoring_congestion_engine_congestionresult", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/scoring/congestion_engine.py", "source_location": "L152", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_congestion_engine_congestionengine_score", "target": "$graphify-root$_src_scoring_congestion_engine_score_to_level", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/scoring/congestion_engine.py", "source_location": "L155", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_congestion_engine_congestionengine_score", "target": "$graphify-root$_src_scoring_congestion_engine_congestionengine_lookup_exact", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/scoring/congestion_engine.py", "source_location": "L164", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_congestion_engine_congestionengine_score", "target": "$graphify-root$_src_scoring_congestion_engine_congestionengine_lookup_partial", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/scoring/congestion_engine.py", "source_location": "L175", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_congestion_engine_congestionengine_is_crowded", "target": "$graphify-root$_src_scoring_congestion_engine_congestionengine_score", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/scoring/congestion_engine.py", "source_location": "L211", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_congestion_engine_congestionengine_score_itinerary", "target": "$graphify-root$_src_scoring_congestion_engine_congestionengine_score", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/scoring/congestion_engine.py", "source_location": "L217", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_congestion_engine_rationale_1", "target": "$graphify-root$_src_scoring_congestion_engine_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/scoring/congestion_engine.py", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_congestion_engine_rationale_60", "target": "$graphify-root$_src_scoring_congestion_engine_congestionengine", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/scoring/congestion_engine.py", "source_location": "L60", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_congestion_engine_rationale_95", "target": "$graphify-root$_src_scoring_congestion_engine_congestionengine_global_avg_by_month", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/scoring/congestion_engine.py", "source_location": "L95", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_congestion_engine_rationale_101", "target": "$graphify-root$_src_scoring_congestion_engine_congestionengine_category_avg_by_month", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/scoring/congestion_engine.py", "source_location": "L101", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_congestion_engine_rationale_131", "target": "$graphify-root$_src_scoring_congestion_engine_congestionengine_score", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/scoring/congestion_engine.py", "source_location": "L131", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_congestion_engine_rationale_210", "target": "$graphify-root$_src_scoring_congestion_engine_congestionengine_is_crowded", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/scoring/congestion_engine.py", "source_location": "L210", "weight": 1.0}, {"source": "$graphify-root$_src_scoring_congestion_engine_rationale_216", "target": "$graphify-root$_src_scoring_congestion_engine_congestionengine_score_itinerary", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/scoring/congestion_engine.py", "source_location": "L216", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_src_scoring_congestion_engine_normalize", "callee": "strip", "is_member_call": true, "source_file": "src/scoring/congestion_engine.py", "source_location": "L46", "receiver": null}, {"caller_nid": "$graphify-root$_src_scoring_congestion_engine_normalize", "callee": "normalize", "is_member_call": true, "source_file": "src/scoring/congestion_engine.py", "source_location": "L46", "receiver": "unicodedata"}, {"caller_nid": "$graphify-root$_src_scoring_congestion_engine_congestionengine_df", "callee": "exists", "is_member_call": true, "source_file": "src/scoring/congestion_engine.py", "source_location": "L80", "receiver": null}, {"caller_nid": "$graphify-root$_src_scoring_congestion_engine_congestionengine_df", "callee": "FileNotFoundError", "is_member_call": false, "source_file": "src/scoring/congestion_engine.py", "source_location": "L81", "receiver": null}, {"caller_nid": "$graphify-root$_src_scoring_congestion_engine_congestionengine_df", "callee": "read_csv", "is_member_call": true, "source_file": "src/scoring/congestion_engine.py", "source_location": "L85", "receiver": "pd"}, {"caller_nid": "$graphify-root$_src_scoring_congestion_engine_congestionengine_df", "callee": "apply", "is_member_call": true, "source_file": "src/scoring/congestion_engine.py", "source_location": "L86", "receiver": null}, {"caller_nid": "$graphify-root$_src_scoring_congestion_engine_congestionengine_poi_names", "callee": "tolist", "is_member_call": true, "source_file": "src/scoring/congestion_engine.py", "source_location": "L91", "receiver": null}, {"caller_nid": "$graphify-root$_src_scoring_congestion_engine_congestionengine_poi_names", "callee": "unique", "is_member_call": true, "source_file": "src/scoring/congestion_engine.py", "source_location": "L91", "receiver": null}, {"caller_nid": "$graphify-root$_src_scoring_congestion_engine_congestionengine_global_avg_by_month", "callee": "mean", "is_member_call": true, "source_file": "src/scoring/congestion_engine.py", "source_location": "L96", "receiver": null}, {"caller_nid": "$graphify-root$_src_scoring_congestion_engine_congestionengine_global_avg_by_month", "callee": "groupby", "is_member_call": true, "source_file": "src/scoring/congestion_engine.py", "source_location": "L96", "receiver": null}, {"caller_nid": "$graphify-root$_src_scoring_congestion_engine_congestionengine_global_avg_by_month", "callee": "iterrows", "is_member_call": true, "source_file": "src/scoring/congestion_engine.py", "source_location": "L97", "receiver": "agg"}, {"caller_nid": "$graphify-root$_src_scoring_congestion_engine_congestionengine_category_avg_by_month", "callee": "copy", "is_member_call": true, "source_file": "src/scoring/congestion_engine.py", "source_location": "L102", "receiver": null}, {"caller_nid": "$graphify-root$_src_scoring_congestion_engine_congestionengine_category_avg_by_month", "callee": "groupby", "is_member_call": true, "source_file": "src/scoring/congestion_engine.py", "source_location": "L105", "receiver": "df"}, {"caller_nid": "$graphify-root$_src_scoring_congestion_engine_congestionengine_category_avg_by_month", "callee": "mean", "is_member_call": true, "source_file": "src/scoring/congestion_engine.py", "source_location": "L106", "receiver": null}, {"caller_nid": "$graphify-root$_src_scoring_congestion_engine_congestionengine_category_avg_by_month", "callee": "groupby", "is_member_call": true, "source_file": "src/scoring/congestion_engine.py", "source_location": "L106", "receiver": "group"}, {"caller_nid": "$graphify-root$_src_scoring_congestion_engine_congestionengine_category_avg_by_month", "callee": "iterrows", "is_member_call": true, "source_file": "src/scoring/congestion_engine.py", "source_location": "L109", "receiver": "agg"}, {"caller_nid": "$graphify-root$_src_scoring_congestion_engine_congestionengine_lookup_partial", "callee": "len", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "src/scoring/congestion_engine.py", "source_location": "L124"}, {"caller_nid": "$graphify-root$_src_scoring_congestion_engine_congestionengine_score", "callee": "ValueError", "is_member_call": false, "source_file": "src/scoring/congestion_engine.py", "source_location": "L143", "receiver": null}, {"caller_nid": "$graphify-root$_src_scoring_congestion_engine_congestionengine_score", "callee": "get", "is_member_call": true, "source_file": "src/scoring/congestion_engine.py", "source_location": "L150", "receiver": null}, {"caller_nid": "$graphify-root$_src_scoring_congestion_engine_congestionengine_score", "callee": "get", "is_member_call": true, "source_file": "src/scoring/congestion_engine.py", "source_location": "L188", "receiver": null}, {"caller_nid": "$graphify-root$_src_scoring_congestion_engine_congestionengine_score", "callee": "get", "is_member_call": true, "source_file": "src/scoring/congestion_engine.py", "source_location": "L200", "receiver": null}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/e02744d06cc9ad7bfd17c0b4373df8fa368ff97ee387aef62c7a4bc8b6e4f41c.json b/graphify-out/cache/ast/v0.9.31/e02744d06cc9ad7bfd17c0b4373df8fa368ff97ee387aef62c7a4bc8b6e4f41c.json new file mode 100644 index 0000000..e5804a9 --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/e02744d06cc9ad7bfd17c0b4373df8fa368ff97ee387aef62c7a4bc8b6e4f41c.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_tests_test_travel_ratio_py", "label": "test_travel_ratio.py", "file_type": "code", "source_file": "tests/test_travel_ratio.py", "source_location": "L1"}, {"id": "$graphify-root$_tests_test_travel_ratio_make_place", "label": "_make_place()", "file_type": "code", "source_file": "tests/test_travel_ratio.py", "source_location": "L15", "_callable": true}, {"id": "$graphify-root$_tests_test_travel_ratio_test_no_penalty_when_ratio_low", "label": "test_no_penalty_when_ratio_low()", "file_type": "code", "source_file": "tests/test_travel_ratio.py", "source_location": "L22", "_callable": true}, {"id": "$graphify-root$_tests_test_travel_ratio_test_penalty_when_ratio_high", "label": "test_penalty_when_ratio_high()", "file_type": "code", "source_file": "tests/test_travel_ratio.py", "source_location": "L35", "_callable": true}, {"id": "$graphify-root$_tests_test_travel_ratio_test_overall_ratio_aggregates_across_days", "label": "test_overall_ratio_aggregates_across_days()", "file_type": "code", "source_file": "tests/test_travel_ratio.py", "source_location": "L48", "_callable": true}, {"id": "$graphify-root$_tests_test_travel_ratio_rationale_1", "label": "Tests for src/scoring/travel_ratio.py.", "file_type": "rationale", "source_file": "tests/test_travel_ratio.py", "source_location": "L1"}, {"id": "$graphify-root$_tests_test_travel_ratio_rationale_23", "label": "4\uac1c \uc7a5\uc18c\uac00 \ubaa8\ub450 \uac00\uae4c\uc774 \uc788\uc73c\uba74 travel_ratio\uac00 \ub0ae\uc74c \u2192 \ud328\ub110\ud2f0 0.", "file_type": "rationale", "source_file": "tests/test_travel_ratio.py", "source_location": "L23"}, {"id": "$graphify-root$_tests_test_travel_ratio_rationale_36", "label": "\uc7a5\uc18c\uac00 \uba40\ub9ac \ub5a8\uc5b4\uc838 \uc774\ub3d9 \uc2dc\uac04\uc774 \uad00\uad11 \uc2dc\uac04\uc744 \uc555\ub3c4\ud558\uba74 \ud328\ub110\ud2f0 \ubc1c\uc0dd.", "file_type": "rationale", "source_file": "tests/test_travel_ratio.py", "source_location": "L36"}], "edges": [{"source": "$graphify-root$_tests_test_travel_ratio_py", "target": "pytest", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_travel_ratio.py", "source_location": "L4", "weight": 1.0}, {"source": "$graphify-root$_tests_test_travel_ratio_py", "target": "src_data_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_travel_ratio.py", "source_location": "L6", "weight": 1.0}, {"source": "$graphify-root$_tests_test_travel_ratio_py", "target": "src_scoring_travel_ratio", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_travel_ratio.py", "source_location": "L7", "weight": 1.0}, {"source": "$graphify-root$_tests_test_travel_ratio_py", "target": "src_validation_vrptw_engine", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_travel_ratio.py", "source_location": "L12", "weight": 1.0}, {"source": "$graphify-root$_tests_test_travel_ratio_py", "target": "$graphify-root$_tests_test_travel_ratio_make_place", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_travel_ratio.py", "source_location": "L15", "weight": 1.0}, {"source": "$graphify-root$_tests_test_travel_ratio_py", "target": "$graphify-root$_tests_test_travel_ratio_test_no_penalty_when_ratio_low", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_travel_ratio.py", "source_location": "L22", "weight": 1.0}, {"source": "$graphify-root$_tests_test_travel_ratio_py", "target": "$graphify-root$_tests_test_travel_ratio_test_penalty_when_ratio_high", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_travel_ratio.py", "source_location": "L35", "weight": 1.0}, {"source": "$graphify-root$_tests_test_travel_ratio_py", "target": "$graphify-root$_tests_test_travel_ratio_test_overall_ratio_aggregates_across_days", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_travel_ratio.py", "source_location": "L48", "weight": 1.0}, {"source": "$graphify-root$_tests_test_travel_ratio_test_no_penalty_when_ratio_low", "target": "$graphify-root$_tests_test_travel_ratio_make_place", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_travel_ratio.py", "source_location": "L25", "weight": 1.0}, {"source": "$graphify-root$_tests_test_travel_ratio_test_penalty_when_ratio_high", "target": "$graphify-root$_tests_test_travel_ratio_make_place", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_travel_ratio.py", "source_location": "L38", "weight": 1.0}, {"source": "$graphify-root$_tests_test_travel_ratio_test_overall_ratio_aggregates_across_days", "target": "$graphify-root$_tests_test_travel_ratio_make_place", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/test_travel_ratio.py", "source_location": "L51", "weight": 1.0}, {"source": "$graphify-root$_tests_test_travel_ratio_rationale_1", "target": "$graphify-root$_tests_test_travel_ratio_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_travel_ratio.py", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_tests_test_travel_ratio_rationale_23", "target": "$graphify-root$_tests_test_travel_ratio_test_no_penalty_when_ratio_low", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_travel_ratio.py", "source_location": "L23", "weight": 1.0}, {"source": "$graphify-root$_tests_test_travel_ratio_rationale_36", "target": "$graphify-root$_tests_test_travel_ratio_test_penalty_when_ratio_high", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_travel_ratio.py", "source_location": "L36", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_tests_test_travel_ratio_make_place", "callee": "VRPTWPlace", "is_member_call": false, "source_file": "tests/test_travel_ratio.py", "source_location": "L16", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_travel_ratio_test_no_penalty_when_ratio_low", "callee": "VRPTWDay", "is_member_call": false, "source_file": "tests/test_travel_ratio.py", "source_location": "L24", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_travel_ratio_test_no_penalty_when_ratio_low", "callee": "evaluate_travel_ratio", "is_member_call": false, "source_file": "tests/test_travel_ratio.py", "source_location": "L30", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_travel_ratio_test_no_penalty_when_ratio_low", "callee": "HaversineMatrix", "is_member_call": false, "source_file": "tests/test_travel_ratio.py", "source_location": "L30", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_travel_ratio_test_penalty_when_ratio_high", "callee": "VRPTWDay", "is_member_call": false, "source_file": "tests/test_travel_ratio.py", "source_location": "L37", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_travel_ratio_test_penalty_when_ratio_high", "callee": "evaluate_travel_ratio", "is_member_call": false, "source_file": "tests/test_travel_ratio.py", "source_location": "L41", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_travel_ratio_test_penalty_when_ratio_high", "callee": "HaversineMatrix", "is_member_call": false, "source_file": "tests/test_travel_ratio.py", "source_location": "L41", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_travel_ratio_test_overall_ratio_aggregates_across_days", "callee": "VRPTWDay", "is_member_call": false, "source_file": "tests/test_travel_ratio.py", "source_location": "L50", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_travel_ratio_test_overall_ratio_aggregates_across_days", "callee": "VRPTWDay", "is_member_call": false, "source_file": "tests/test_travel_ratio.py", "source_location": "L54", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_travel_ratio_test_overall_ratio_aggregates_across_days", "callee": "evaluate_travel_ratio", "is_member_call": false, "source_file": "tests/test_travel_ratio.py", "source_location": "L59", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_travel_ratio_test_overall_ratio_aggregates_across_days", "callee": "HaversineMatrix", "is_member_call": false, "source_file": "tests/test_travel_ratio.py", "source_location": "L59", "receiver": null}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/e0f516a85c8039f189c4e8c728cc8d7c2fa4cb6aed920648ac261cd1ba909e03.json b/graphify-out/cache/ast/v0.9.31/e0f516a85c8039f189c4e8c728cc8d7c2fa4cb6aed920648ac261cd1ba909e03.json new file mode 100644 index 0000000..2fe428a --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/e0f516a85c8039f189c4e8c728cc8d7c2fa4cb6aed920648ac261cd1ba909e03.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_src_utils_init_py", "label": "__init__.py", "file_type": "code", "source_file": "src/utils/__init__.py", "source_location": "L1"}], "edges": [], "raw_calls": []} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/e6df9426218af420db0d9ef2a46f9ef03340443dcb54ff3155dc8e4f2e8c106c.json b/graphify-out/cache/ast/v0.9.31/e6df9426218af420db0d9ef2a46f9ef03340443dcb54ff3155dc8e4f2e8c106c.json new file mode 100644 index 0000000..4eb8110 --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/e6df9426218af420db0d9ef2a46f9ef03340443dcb54ff3155dc8e4f2e8c106c.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_src_validation_kakao_matrix_py", "label": "kakao_matrix.py", "file_type": "code", "source_file": "src/validation/kakao_matrix.py", "source_location": "L1"}, {"id": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix", "label": "KakaoMobilityMatrix", "file_type": "code", "source_file": "src/validation/kakao_matrix.py", "source_location": "L47", "_callable": true, "_callable_class": true}, {"id": "timematrix", "label": "TimeMatrix", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/validation/kakao_matrix.py"}, {"id": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_init", "label": ".__init__()", "file_type": "code", "source_file": "src/validation/kakao_matrix.py", "source_location": "L58", "_callable": true}, {"id": "path", "label": "Path", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/validation/kakao_matrix.py"}, {"id": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_from_env", "label": ".from_env()", "file_type": "code", "source_file": "src/validation/kakao_matrix.py", "source_location": "L89", "_callable": true}, {"id": "any", "label": "Any", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/validation/kakao_matrix.py"}, {"id": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_load_dotenv", "label": "._load_dotenv()", "file_type": "code", "source_file": "src/validation/kakao_matrix.py", "source_location": "L111", "_callable": true}, {"id": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_get_travel_time", "label": ".get_travel_time()", "file_type": "code", "source_file": "src/validation/kakao_matrix.py", "source_location": "L121", "_callable": true}, {"id": "vrptwplace", "label": "VRPTWPlace", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/validation/kakao_matrix.py"}, {"id": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_aprefetch_matrix", "label": ".aprefetch_matrix()", "file_type": "code", "source_file": "src/validation/kakao_matrix.py", "source_location": "L139", "_callable": true}, {"id": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_acall_kakao", "label": "._acall_kakao()", "file_type": "code", "source_file": "src/validation/kakao_matrix.py", "source_location": "L177", "_callable": true}, {"id": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_call_kakao_sync", "label": "._call_kakao_sync()", "file_type": "code", "source_file": "src/validation/kakao_matrix.py", "source_location": "L212", "_callable": true}, {"id": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_parse_duration", "label": "._parse_duration()", "file_type": "code", "source_file": "src/validation/kakao_matrix.py", "source_location": "L265", "_callable": true}, {"id": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_make_key", "label": "._make_key()", "file_type": "code", "source_file": "src/validation/kakao_matrix.py", "source_location": "L278", "_callable": true}, {"id": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_load_cache", "label": "._load_cache()", "file_type": "code", "source_file": "src/validation/kakao_matrix.py", "source_location": "L284", "_callable": true}, {"id": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_maybe_save_cache", "label": "._maybe_save_cache()", "file_type": "code", "source_file": "src/validation/kakao_matrix.py", "source_location": "L294", "_callable": true}, {"id": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_save_cache", "label": ".save_cache()", "file_type": "code", "source_file": "src/validation/kakao_matrix.py", "source_location": "L299", "_callable": true}, {"id": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_stats", "label": ".stats()", "file_type": "code", "source_file": "src/validation/kakao_matrix.py", "source_location": "L310", "_callable": true}, {"id": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_cache_size", "label": ".cache_size()", "file_type": "code", "source_file": "src/validation/kakao_matrix.py", "source_location": "L314", "_callable": true}, {"id": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_is_quota_exhausted", "label": ".is_quota_exhausted()", "file_type": "code", "source_file": "src/validation/kakao_matrix.py", "source_location": "L318", "_callable": true}, {"id": "$graphify-root$_src_validation_kakao_matrix_rationale_1", "label": "\uce74\uce74\uc624 \ubaa8\ube4c\ub9ac\ud2f0 \uae38\ucc3e\uae30 API \u2192 TimeMatrix \uc5b4\ub311\ud130 (httpx \uae30\ubc18). VRPTW \uc5d4\uc9c4\uc758 TimeMatrix \uc778\ud130\ud398\uc774\uc2a4\ub97c \uad6c\ud604\ud574\u2026", "file_type": "rationale", "source_file": "src/validation/kakao_matrix.py", "source_location": "L1"}, {"id": "$graphify-root$_src_validation_kakao_matrix_rationale_48", "label": "\uce74\uce74\uc624 \ubaa8\ube4c\ub9ac\ud2f0 \uae38\ucc3e\uae30 API \uae30\ubc18 TimeMatrix. \uce90\uc2dc \ud0a4: 'lng1,lat1|lng2,lat2' (\uc18c\uc218\uc810 4\uc790\ub9ac = \uc57d 11m\u2026", "file_type": "rationale", "source_file": "src/validation/kakao_matrix.py", "source_location": "L48"}, {"id": "$graphify-root$_src_validation_kakao_matrix_rationale_95", "label": "`.env`\uc5d0\uc11c KAKAO_MOBILITY_KEY (\uc5c6\uc73c\uba74 KAKAO_REST_API_KEY) \ub85c\ub4dc.", "file_type": "rationale", "source_file": "src/validation/kakao_matrix.py", "source_location": "L95"}, {"id": "$graphify-root$_src_validation_kakao_matrix_rationale_122", "label": "\uce90\uc2dc \uc870\ud68c + Haversine \ud3f4\ubc31. API \uc9c1\uc811 \ud638\ucd9c \uc5c6\uc74c.", "file_type": "rationale", "source_file": "src/validation/kakao_matrix.py", "source_location": "L122"}, {"id": "$graphify-root$_src_validation_kakao_matrix_rationale_144", "label": "\ubaa8\ub4e0 POI \uc30d\uc758 \uc774\ub3d9\uc2dc\uac04\uc744 \ube44\ub3d9\uae30\ub85c \uc0ac\uc804 \ub85c\ub4dc\ud55c\ub2e4. VRPTWEngine.validate() \ud638\ucd9c \uc804\uc5d0 await \ud574\ub450\uba74\u2026", "file_type": "rationale", "source_file": "src/validation/kakao_matrix.py", "source_location": "L144"}, {"id": "$graphify-root$_src_validation_kakao_matrix_rationale_180", "label": "\uce74\uce74\uc624 \ubaa8\ube4c\ub9ac\ud2f0 \ube44\ub3d9\uae30 \ud638\ucd9c (httpx.AsyncClient).", "file_type": "rationale", "source_file": "src/validation/kakao_matrix.py", "source_location": "L180"}, {"id": "$graphify-root$_src_validation_kakao_matrix_rationale_215", "label": "\ub3d9\uae30 API \ud638\ucd9c + \uce90\uc2dc \uc800\uc7a5 + \ud1b5\uacc4 \uc5c5\ub370\uc774\ud2b8 (httpx.Client). \uce90\uc2dc\uc5d0 \uc774\ubbf8 \uc788\uc73c\uba74 API \ud638\ucd9c \uc5c6\uc774 \uce90\uc2dc \uac12 \ubc18\ud658.", "file_type": "rationale", "source_file": "src/validation/kakao_matrix.py", "source_location": "L215"}], "edges": [{"source": "$graphify-root$_src_validation_kakao_matrix_py", "target": "asyncio", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/validation/kakao_matrix.py", "source_location": "L26", "weight": 1.0}, {"source": "$graphify-root$_src_validation_kakao_matrix_py", "target": "json", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/validation/kakao_matrix.py", "source_location": "L27", "weight": 1.0}, {"source": "$graphify-root$_src_validation_kakao_matrix_py", "target": "os", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/validation/kakao_matrix.py", "source_location": "L28", "weight": 1.0}, {"source": "$graphify-root$_src_validation_kakao_matrix_py", "target": "time", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/validation/kakao_matrix.py", "source_location": "L29", "weight": 1.0}, {"source": "$graphify-root$_src_validation_kakao_matrix_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/validation/kakao_matrix.py", "source_location": "L30", "weight": 1.0}, {"source": "$graphify-root$_src_validation_kakao_matrix_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/validation/kakao_matrix.py", "source_location": "L31", "weight": 1.0}, {"source": "$graphify-root$_src_validation_kakao_matrix_py", "target": "httpx", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/validation/kakao_matrix.py", "source_location": "L33", "weight": 1.0}, {"source": "$graphify-root$_src_validation_kakao_matrix_py", "target": "src_data_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/validation/kakao_matrix.py", "source_location": "L35", "weight": 1.0}, {"source": "$graphify-root$_src_validation_kakao_matrix_py", "target": "src_validation_vrptw_engine", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/validation/kakao_matrix.py", "source_location": "L36", "weight": 1.0}, {"source": "$graphify-root$_src_validation_kakao_matrix_py", "target": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/validation/kakao_matrix.py", "source_location": "L47", "weight": 1.0}, {"source": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix", "target": "timematrix", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "src/validation/kakao_matrix.py", "source_location": "L47", "weight": 1.0}, {"source": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix", "target": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/validation/kakao_matrix.py", "source_location": "L58", "weight": 1.0}, {"source": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_init", "target": "path", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/validation/kakao_matrix.py", "source_location": "L58", "weight": 1.0}, {"source": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix", "target": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_from_env", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/validation/kakao_matrix.py", "source_location": "L89", "weight": 1.0}, {"source": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_from_env", "target": "path", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/validation/kakao_matrix.py", "source_location": "L89", "weight": 1.0}, {"source": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_from_env", "target": "path", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/validation/kakao_matrix.py", "source_location": "L89", "weight": 1.0}, {"source": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_from_env", "target": "any", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/validation/kakao_matrix.py", "source_location": "L89", "weight": 1.0}, {"source": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix", "target": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_load_dotenv", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/validation/kakao_matrix.py", "source_location": "L111", "weight": 1.0}, {"source": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_load_dotenv", "target": "path", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/validation/kakao_matrix.py", "source_location": "L111", "weight": 1.0}, {"source": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix", "target": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_get_travel_time", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/validation/kakao_matrix.py", "source_location": "L121", "weight": 1.0}, {"source": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_get_travel_time", "target": "vrptwplace", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/validation/kakao_matrix.py", "source_location": "L121", "weight": 1.0}, {"source": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_get_travel_time", "target": "vrptwplace", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/validation/kakao_matrix.py", "source_location": "L121", "weight": 1.0}, {"source": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix", "target": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_aprefetch_matrix", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/validation/kakao_matrix.py", "source_location": "L139", "weight": 1.0}, {"source": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_aprefetch_matrix", "target": "vrptwplace", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/validation/kakao_matrix.py", "source_location": "L139", "weight": 1.0}, {"source": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix", "target": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_acall_kakao", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/validation/kakao_matrix.py", "source_location": "L177", "weight": 1.0}, {"source": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_acall_kakao", "target": "vrptwplace", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/validation/kakao_matrix.py", "source_location": "L177", "weight": 1.0}, {"source": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_acall_kakao", "target": "vrptwplace", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/validation/kakao_matrix.py", "source_location": "L177", "weight": 1.0}, {"source": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix", "target": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_call_kakao_sync", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/validation/kakao_matrix.py", "source_location": "L212", "weight": 1.0}, {"source": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_call_kakao_sync", "target": "vrptwplace", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/validation/kakao_matrix.py", "source_location": "L212", "weight": 1.0}, {"source": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_call_kakao_sync", "target": "vrptwplace", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/validation/kakao_matrix.py", "source_location": "L212", "weight": 1.0}, {"source": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix", "target": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_parse_duration", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/validation/kakao_matrix.py", "source_location": "L265", "weight": 1.0}, {"source": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix", "target": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_make_key", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/validation/kakao_matrix.py", "source_location": "L278", "weight": 1.0}, {"source": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_make_key", "target": "vrptwplace", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/validation/kakao_matrix.py", "source_location": "L278", "weight": 1.0}, {"source": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_make_key", "target": "vrptwplace", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/validation/kakao_matrix.py", "source_location": "L278", "weight": 1.0}, {"source": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix", "target": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_load_cache", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/validation/kakao_matrix.py", "source_location": "L284", "weight": 1.0}, {"source": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix", "target": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_maybe_save_cache", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/validation/kakao_matrix.py", "source_location": "L294", "weight": 1.0}, {"source": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix", "target": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_save_cache", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/validation/kakao_matrix.py", "source_location": "L299", "weight": 1.0}, {"source": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix", "target": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_stats", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/validation/kakao_matrix.py", "source_location": "L310", "weight": 1.0}, {"source": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix", "target": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_cache_size", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/validation/kakao_matrix.py", "source_location": "L314", "weight": 1.0}, {"source": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix", "target": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_is_quota_exhausted", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/validation/kakao_matrix.py", "source_location": "L318", "weight": 1.0}, {"source": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_init", "target": "path", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/validation/kakao_matrix.py", "source_location": "L73", "weight": 1.0}, {"source": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_init", "target": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_load_cache", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/validation/kakao_matrix.py", "source_location": "L79", "weight": 1.0}, {"source": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_from_env", "target": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_load_dotenv", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/validation/kakao_matrix.py", "source_location": "L97", "weight": 1.0}, {"source": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_from_env", "target": "path", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/validation/kakao_matrix.py", "source_location": "L97", "weight": 1.0}, {"source": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_get_travel_time", "target": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_make_key", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/validation/kakao_matrix.py", "source_location": "L126", "weight": 1.0}, {"source": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_aprefetch_matrix", "target": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_save_cache", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/validation/kakao_matrix.py", "source_location": "L174", "weight": 1.0}, {"source": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_acall_kakao", "target": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_parse_duration", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/validation/kakao_matrix.py", "source_location": "L194", "weight": 1.0}, {"source": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_call_kakao_sync", "target": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_make_key", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/validation/kakao_matrix.py", "source_location": "L219", "weight": 1.0}, {"source": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_call_kakao_sync", "target": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_parse_duration", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/validation/kakao_matrix.py", "source_location": "L242", "weight": 1.0}, {"source": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_call_kakao_sync", "target": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_maybe_save_cache", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/validation/kakao_matrix.py", "source_location": "L246", "weight": 1.0}, {"source": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_maybe_save_cache", "target": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_save_cache", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/validation/kakao_matrix.py", "source_location": "L297", "weight": 1.0}, {"source": "$graphify-root$_src_validation_kakao_matrix_rationale_1", "target": "$graphify-root$_src_validation_kakao_matrix_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/validation/kakao_matrix.py", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_src_validation_kakao_matrix_rationale_48", "target": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/validation/kakao_matrix.py", "source_location": "L48", "weight": 1.0}, {"source": "$graphify-root$_src_validation_kakao_matrix_rationale_95", "target": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_from_env", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/validation/kakao_matrix.py", "source_location": "L95", "weight": 1.0}, {"source": "$graphify-root$_src_validation_kakao_matrix_rationale_122", "target": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_get_travel_time", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/validation/kakao_matrix.py", "source_location": "L122", "weight": 1.0}, {"source": "$graphify-root$_src_validation_kakao_matrix_rationale_144", "target": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_aprefetch_matrix", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/validation/kakao_matrix.py", "source_location": "L144", "weight": 1.0}, {"source": "$graphify-root$_src_validation_kakao_matrix_rationale_180", "target": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_acall_kakao", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/validation/kakao_matrix.py", "source_location": "L180", "weight": 1.0}, {"source": "$graphify-root$_src_validation_kakao_matrix_rationale_215", "target": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_call_kakao_sync", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/validation/kakao_matrix.py", "source_location": "L215", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_init", "callee": "ValueError", "is_member_call": false, "source_file": "src/validation/kakao_matrix.py", "source_location": "L68", "receiver": null}, {"caller_nid": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_init", "callee": "HaversineMatrix", "is_member_call": false, "source_file": "src/validation/kakao_matrix.py", "source_location": "L80", "receiver": null}, {"caller_nid": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_from_env", "callee": "resolve", "is_member_call": true, "source_file": "src/validation/kakao_matrix.py", "source_location": "L99", "receiver": null}, {"caller_nid": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_from_env", "callee": "__file__", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "src/validation/kakao_matrix.py", "source_location": "L99"}, {"caller_nid": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_from_env", "callee": "exists", "is_member_call": true, "source_file": "src/validation/kakao_matrix.py", "source_location": "L101", "receiver": "env_default"}, {"caller_nid": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_from_env", "callee": "get", "is_member_call": true, "source_file": "src/validation/kakao_matrix.py", "source_location": "L105", "receiver": null}, {"caller_nid": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_from_env", "callee": "get", "is_member_call": true, "source_file": "src/validation/kakao_matrix.py", "source_location": "L106", "receiver": null}, {"caller_nid": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_from_env", "callee": "cls", "is_member_call": false, "source_file": "src/validation/kakao_matrix.py", "source_location": "L108", "receiver": null}, {"caller_nid": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_load_dotenv", "callee": "exists", "is_member_call": true, "source_file": "src/validation/kakao_matrix.py", "source_location": "L112", "receiver": "env_path"}, {"caller_nid": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_load_dotenv", "callee": "splitlines", "is_member_call": true, "source_file": "src/validation/kakao_matrix.py", "source_location": "L114", "receiver": null}, {"caller_nid": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_load_dotenv", "callee": "read_text", "is_member_call": true, "source_file": "src/validation/kakao_matrix.py", "source_location": "L114", "receiver": "env_path"}, {"caller_nid": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_load_dotenv", "callee": "strip", "is_member_call": true, "source_file": "src/validation/kakao_matrix.py", "source_location": "L115", "receiver": "line"}, {"caller_nid": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_load_dotenv", "callee": "startswith", "is_member_call": true, "source_file": "src/validation/kakao_matrix.py", "source_location": "L116", "receiver": "line"}, {"caller_nid": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_load_dotenv", "callee": "partition", "is_member_call": true, "source_file": "src/validation/kakao_matrix.py", "source_location": "L117", "receiver": "line"}, {"caller_nid": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_load_dotenv", "callee": "setdefault", "is_member_call": true, "source_file": "src/validation/kakao_matrix.py", "source_location": "L118", "receiver": null}, {"caller_nid": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_load_dotenv", "callee": "strip", "is_member_call": true, "source_file": "src/validation/kakao_matrix.py", "source_location": "L118", "receiver": "k"}, {"caller_nid": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_load_dotenv", "callee": "strip", "is_member_call": true, "source_file": "src/validation/kakao_matrix.py", "source_location": "L118", "receiver": "v"}, {"caller_nid": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_aprefetch_matrix", "callee": "Semaphore", "is_member_call": true, "source_file": "src/validation/kakao_matrix.py", "source_location": "L156", "receiver": "asyncio"}, {"caller_nid": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_aprefetch_matrix", "callee": "gather", "is_member_call": true, "source_file": "src/validation/kakao_matrix.py", "source_location": "L172", "receiver": "asyncio"}, {"caller_nid": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_aprefetch_matrix", "callee": "fetch_one", "is_member_call": false, "source_file": "src/validation/kakao_matrix.py", "source_location": "L172", "receiver": null}, {"caller_nid": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_acall_kakao", "callee": "AsyncClient", "is_member_call": true, "source_file": "src/validation/kakao_matrix.py", "source_location": "L187", "receiver": "httpx"}, {"caller_nid": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_acall_kakao", "callee": "get", "is_member_call": true, "source_file": "src/validation/kakao_matrix.py", "source_location": "L190", "receiver": "client"}, {"caller_nid": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_acall_kakao", "callee": "KAKAO_DIRECTIONS_URL", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "src/validation/kakao_matrix.py", "source_location": "L191"}, {"caller_nid": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_acall_kakao", "callee": "json", "is_member_call": true, "source_file": "src/validation/kakao_matrix.py", "source_location": "L194", "receiver": "r"}, {"caller_nid": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_acall_kakao", "callee": "RuntimeError", "is_member_call": false, "source_file": "src/validation/kakao_matrix.py", "source_location": "L200", "receiver": null}, {"caller_nid": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_acall_kakao", "callee": "sleep", "is_member_call": true, "source_file": "src/validation/kakao_matrix.py", "source_location": "L201", "receiver": "asyncio"}, {"caller_nid": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_acall_kakao", "callee": "sleep", "is_member_call": true, "source_file": "src/validation/kakao_matrix.py", "source_location": "L204", "receiver": "asyncio"}, {"caller_nid": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_call_kakao_sync", "callee": "Client", "is_member_call": true, "source_file": "src/validation/kakao_matrix.py", "source_location": "L239", "receiver": "httpx"}, {"caller_nid": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_call_kakao_sync", "callee": "get", "is_member_call": true, "source_file": "src/validation/kakao_matrix.py", "source_location": "L240", "receiver": "client"}, {"caller_nid": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_call_kakao_sync", "callee": "KAKAO_DIRECTIONS_URL", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "src/validation/kakao_matrix.py", "source_location": "L240"}, {"caller_nid": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_call_kakao_sync", "callee": "json", "is_member_call": true, "source_file": "src/validation/kakao_matrix.py", "source_location": "L242", "receiver": "r"}, {"caller_nid": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_call_kakao_sync", "callee": "RuntimeError", "is_member_call": false, "source_file": "src/validation/kakao_matrix.py", "source_location": "L253", "receiver": null}, {"caller_nid": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_call_kakao_sync", "callee": "sleep", "is_member_call": true, "source_file": "src/validation/kakao_matrix.py", "source_location": "L254", "receiver": "time"}, {"caller_nid": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_call_kakao_sync", "callee": "sleep", "is_member_call": true, "source_file": "src/validation/kakao_matrix.py", "source_location": "L257", "receiver": "time"}, {"caller_nid": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_parse_duration", "callee": "get", "is_member_call": true, "source_file": "src/validation/kakao_matrix.py", "source_location": "L266", "receiver": "data"}, {"caller_nid": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_parse_duration", "callee": "get", "is_member_call": true, "source_file": "src/validation/kakao_matrix.py", "source_location": "L269", "receiver": null}, {"caller_nid": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_parse_duration", "callee": "get", "is_member_call": true, "source_file": "src/validation/kakao_matrix.py", "source_location": "L270", "receiver": null}, {"caller_nid": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_parse_duration", "callee": "get", "is_member_call": true, "source_file": "src/validation/kakao_matrix.py", "source_location": "L274", "receiver": null}, {"caller_nid": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_load_cache", "callee": "exists", "is_member_call": true, "source_file": "src/validation/kakao_matrix.py", "source_location": "L285", "receiver": null}, {"caller_nid": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_load_cache", "callee": "loads", "is_member_call": true, "source_file": "src/validation/kakao_matrix.py", "source_location": "L288", "receiver": "json"}, {"caller_nid": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_load_cache", "callee": "read_text", "is_member_call": true, "source_file": "src/validation/kakao_matrix.py", "source_location": "L288", "receiver": null}, {"caller_nid": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_load_cache", "callee": "items", "is_member_call": true, "source_file": "src/validation/kakao_matrix.py", "source_location": "L289", "receiver": "data"}, {"caller_nid": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_load_cache", "callee": "ValueError", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "src/validation/kakao_matrix.py", "source_location": "L290"}, {"caller_nid": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_save_cache", "callee": "mkdir", "is_member_call": true, "source_file": "src/validation/kakao_matrix.py", "source_location": "L302", "receiver": null}, {"caller_nid": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_save_cache", "callee": "write_text", "is_member_call": true, "source_file": "src/validation/kakao_matrix.py", "source_location": "L303", "receiver": null}, {"caller_nid": "$graphify-root$_src_validation_kakao_matrix_kakaomobilitymatrix_save_cache", "callee": "dumps", "is_member_call": true, "source_file": "src/validation/kakao_matrix.py", "source_location": "L304", "receiver": "json"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/e6f41625a2ab2c40d1c03c6d87d4dd08f54c38cb277788d42c155b68b3ad26a0.json b/graphify-out/cache/ast/v0.9.31/e6f41625a2ab2c40d1c03c6d87d4dd08f54c38cb277788d42c155b68b3ad26a0.json new file mode 100644 index 0000000..2694a80 --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/e6f41625a2ab2c40d1c03c6d87d4dd08f54c38cb277788d42c155b68b3ad26a0.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_src_data_kakao_local_py", "label": "kakao_local.py", "file_type": "code", "source_file": "src/data/kakao_local.py", "source_location": "L1"}, {"id": "$graphify-root$_src_data_kakao_local_kakaolocalclient", "label": "KakaoLocalClient", "file_type": "code", "source_file": "src/data/kakao_local.py", "source_location": "L24", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_src_data_kakao_local_kakaolocalclient_init", "label": ".__init__()", "file_type": "code", "source_file": "src/data/kakao_local.py", "source_location": "L27", "_callable": true}, {"id": "$graphify-root$_src_data_kakao_local_kakaolocalclient_from_env", "label": ".from_env()", "file_type": "code", "source_file": "src/data/kakao_local.py", "source_location": "L36", "_callable": true}, {"id": "$graphify-root$_src_data_kakao_local_kakaolocalclient_enabled", "label": ".enabled()", "file_type": "code", "source_file": "src/data/kakao_local.py", "source_location": "L40", "_callable": true}, {"id": "$graphify-root$_src_data_kakao_local_kakaolocalclient_search_keyword", "label": ".search_keyword()", "file_type": "code", "source_file": "src/data/kakao_local.py", "source_location": "L43", "_callable": true}, {"id": "kakaoplace", "label": "KakaoPlace", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/data/kakao_local.py"}, {"id": "$graphify-root$_src_data_kakao_local_kakaolocalclient_search_keyword_list", "label": ".search_keyword_list()", "file_type": "code", "source_file": "src/data/kakao_local.py", "source_location": "L82", "_callable": true}, {"id": "$graphify-root$_src_data_kakao_local_kakaolocalclient_geocode_address", "label": ".geocode_address()", "file_type": "code", "source_file": "src/data/kakao_local.py", "source_location": "L125", "_callable": true}, {"id": "$graphify-root$_src_data_kakao_local_rationale_1", "label": "\uce74\uce74\uc624 \ub85c\uceec \ud0a4\uc6cc\ub4dc \uc7a5\uc18c \uac80\uc0c9 \ud074\ub77c\uc774\uc5b8\ud2b8 (httpx + Graceful Fallback). \uc2dd\ub2f9\u00b7\uce74\ud398 \ub4f1 TourAPI\u2026", "file_type": "rationale", "source_file": "src/data/kakao_local.py", "source_location": "L1"}, {"id": "$graphify-root$_src_data_kakao_local_rationale_25", "label": "\uce74\uce74\uc624 \ub85c\uceec \ud0a4\uc6cc\ub4dc \uac80\uc0c9. \uc778\uba54\ubaa8\ub9ac \uce90\uc2dc\ub85c \ub3d9\uc77c \uc9c8\uc758 \uc911\ubcf5 \ud638\ucd9c\uc744 \ub9c9\ub294\ub2e4.", "file_type": "rationale", "source_file": "src/data/kakao_local.py", "source_location": "L25"}, {"id": "$graphify-root$_src_data_kakao_local_rationale_44", "label": "\uc7a5\uc18c\uba85\uc73c\ub85c \uac00\uc7a5 \uad00\ub828\ub3c4 \ub192\uc740 1\uac74\uc744 \uc870\ud68c. \uc2e4\ud328 \uc2dc None.", "file_type": "rationale", "source_file": "src/data/kakao_local.py", "source_location": "L44"}, {"id": "$graphify-root$_src_data_kakao_local_rationale_83", "label": "\ud0a4\uc6cc\ub4dc\ub85c \ub2e4\uc218 \ud6c4\ubcf4\ub97c \uc870\ud68c(\uac80\uc0c9 \ud328\ub110 \ubcf4\uac15\uc6a9). \uc2e4\ud328 \uc2dc \ube48 \ub9ac\uc2a4\ud2b8.", "file_type": "rationale", "source_file": "src/data/kakao_local.py", "source_location": "L83"}, {"id": "$graphify-root$_src_data_kakao_local_rationale_126", "label": "\ub3c4\ub85c\uba85\uc8fc\uc18c \u2192 (\uc704\ub3c4, \uacbd\ub3c4). \uacb0\uce21 \uc88c\ud45c \ubcf4\uc815\uc6a9. \uc2e4\ud328 \uc2dc None.", "file_type": "rationale", "source_file": "src/data/kakao_local.py", "source_location": "L126"}], "edges": [{"source": "$graphify-root$_src_data_kakao_local_py", "target": "os", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/data/kakao_local.py", "source_location": "L14", "weight": 1.0}, {"source": "$graphify-root$_src_data_kakao_local_py", "target": "httpx", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/data/kakao_local.py", "source_location": "L16", "weight": 1.0}, {"source": "$graphify-root$_src_data_kakao_local_py", "target": "src_data_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/data/kakao_local.py", "source_location": "L18", "weight": 1.0}, {"source": "$graphify-root$_src_data_kakao_local_py", "target": "$graphify-root$_src_data_kakao_local_kakaolocalclient", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/data/kakao_local.py", "source_location": "L24", "weight": 1.0}, {"source": "$graphify-root$_src_data_kakao_local_kakaolocalclient", "target": "$graphify-root$_src_data_kakao_local_kakaolocalclient_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/data/kakao_local.py", "source_location": "L27", "weight": 1.0}, {"source": "$graphify-root$_src_data_kakao_local_kakaolocalclient", "target": "$graphify-root$_src_data_kakao_local_kakaolocalclient_from_env", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/data/kakao_local.py", "source_location": "L36", "weight": 1.0}, {"source": "$graphify-root$_src_data_kakao_local_kakaolocalclient_from_env", "target": "$graphify-root$_src_data_kakao_local_kakaolocalclient", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "src/data/kakao_local.py", "source_location": "L36", "weight": 1.0}, {"source": "$graphify-root$_src_data_kakao_local_kakaolocalclient", "target": "$graphify-root$_src_data_kakao_local_kakaolocalclient_enabled", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/data/kakao_local.py", "source_location": "L40", "weight": 1.0}, {"source": "$graphify-root$_src_data_kakao_local_kakaolocalclient", "target": "$graphify-root$_src_data_kakao_local_kakaolocalclient_search_keyword", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/data/kakao_local.py", "source_location": "L43", "weight": 1.0}, {"source": "$graphify-root$_src_data_kakao_local_kakaolocalclient_search_keyword", "target": "kakaoplace", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "src/data/kakao_local.py", "source_location": "L43", "weight": 1.0}, {"source": "$graphify-root$_src_data_kakao_local_kakaolocalclient", "target": "$graphify-root$_src_data_kakao_local_kakaolocalclient_search_keyword_list", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/data/kakao_local.py", "source_location": "L82", "weight": 1.0}, {"source": "$graphify-root$_src_data_kakao_local_kakaolocalclient_search_keyword_list", "target": "kakaoplace", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/data/kakao_local.py", "source_location": "L82", "weight": 1.0}, {"source": "$graphify-root$_src_data_kakao_local_kakaolocalclient", "target": "$graphify-root$_src_data_kakao_local_kakaolocalclient_geocode_address", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/data/kakao_local.py", "source_location": "L125", "weight": 1.0}, {"source": "$graphify-root$_src_data_kakao_local_kakaolocalclient_search_keyword", "target": "kakaoplace", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/data/kakao_local.py", "source_location": "L65", "weight": 1.0}, {"source": "$graphify-root$_src_data_kakao_local_kakaolocalclient_search_keyword_list", "target": "kakaoplace", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/data/kakao_local.py", "source_location": "L105", "weight": 1.0}, {"source": "$graphify-root$_src_data_kakao_local_rationale_1", "target": "$graphify-root$_src_data_kakao_local_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/data/kakao_local.py", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_src_data_kakao_local_rationale_25", "target": "$graphify-root$_src_data_kakao_local_kakaolocalclient", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/data/kakao_local.py", "source_location": "L25", "weight": 1.0}, {"source": "$graphify-root$_src_data_kakao_local_rationale_44", "target": "$graphify-root$_src_data_kakao_local_kakaolocalclient_search_keyword", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/data/kakao_local.py", "source_location": "L44", "weight": 1.0}, {"source": "$graphify-root$_src_data_kakao_local_rationale_83", "target": "$graphify-root$_src_data_kakao_local_kakaolocalclient_search_keyword_list", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/data/kakao_local.py", "source_location": "L83", "weight": 1.0}, {"source": "$graphify-root$_src_data_kakao_local_rationale_126", "target": "$graphify-root$_src_data_kakao_local_kakaolocalclient_geocode_address", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/data/kakao_local.py", "source_location": "L126", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_src_data_kakao_local_kakaolocalclient_init", "callee": "strip", "is_member_call": true, "source_file": "src/data/kakao_local.py", "source_location": "L28", "receiver": null}, {"caller_nid": "$graphify-root$_src_data_kakao_local_kakaolocalclient_from_env", "callee": "cls", "is_member_call": false, "source_file": "src/data/kakao_local.py", "source_location": "L37", "receiver": null}, {"caller_nid": "$graphify-root$_src_data_kakao_local_kakaolocalclient_from_env", "callee": "get", "is_member_call": true, "source_file": "src/data/kakao_local.py", "source_location": "L37", "receiver": null}, {"caller_nid": "$graphify-root$_src_data_kakao_local_kakaolocalclient_search_keyword", "callee": "strip", "is_member_call": true, "source_file": "src/data/kakao_local.py", "source_location": "L45", "receiver": null}, {"caller_nid": "$graphify-root$_src_data_kakao_local_kakaolocalclient_search_keyword", "callee": "get", "is_member_call": true, "source_file": "src/data/kakao_local.py", "source_location": "L55", "receiver": "httpx"}, {"caller_nid": "$graphify-root$_src_data_kakao_local_kakaolocalclient_search_keyword", "callee": "_KEYWORD_URL", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "src/data/kakao_local.py", "source_location": "L56"}, {"caller_nid": "$graphify-root$_src_data_kakao_local_kakaolocalclient_search_keyword", "callee": "raise_for_status", "is_member_call": true, "source_file": "src/data/kakao_local.py", "source_location": "L61", "receiver": "resp"}, {"caller_nid": "$graphify-root$_src_data_kakao_local_kakaolocalclient_search_keyword", "callee": "get", "is_member_call": true, "source_file": "src/data/kakao_local.py", "source_location": "L62", "receiver": null}, {"caller_nid": "$graphify-root$_src_data_kakao_local_kakaolocalclient_search_keyword", "callee": "json", "is_member_call": true, "source_file": "src/data/kakao_local.py", "source_location": "L62", "receiver": "resp"}, {"caller_nid": "$graphify-root$_src_data_kakao_local_kakaolocalclient_search_keyword", "callee": "get", "is_member_call": true, "source_file": "src/data/kakao_local.py", "source_location": "L66", "receiver": "d"}, {"caller_nid": "$graphify-root$_src_data_kakao_local_kakaolocalclient_search_keyword", "callee": "get", "is_member_call": true, "source_file": "src/data/kakao_local.py", "source_location": "L69", "receiver": "d"}, {"caller_nid": "$graphify-root$_src_data_kakao_local_kakaolocalclient_search_keyword", "callee": "get", "is_member_call": true, "source_file": "src/data/kakao_local.py", "source_location": "L70", "receiver": "d"}, {"caller_nid": "$graphify-root$_src_data_kakao_local_kakaolocalclient_search_keyword", "callee": "get", "is_member_call": true, "source_file": "src/data/kakao_local.py", "source_location": "L70", "receiver": "d"}, {"caller_nid": "$graphify-root$_src_data_kakao_local_kakaolocalclient_search_keyword", "callee": "get", "is_member_call": true, "source_file": "src/data/kakao_local.py", "source_location": "L71", "receiver": "d"}, {"caller_nid": "$graphify-root$_src_data_kakao_local_kakaolocalclient_search_keyword", "callee": "get", "is_member_call": true, "source_file": "src/data/kakao_local.py", "source_location": "L72", "receiver": "d"}, {"caller_nid": "$graphify-root$_src_data_kakao_local_kakaolocalclient_search_keyword", "callee": "KeyError", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "src/data/kakao_local.py", "source_location": "L75"}, {"caller_nid": "$graphify-root$_src_data_kakao_local_kakaolocalclient_search_keyword", "callee": "ValueError", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "src/data/kakao_local.py", "source_location": "L75"}, {"caller_nid": "$graphify-root$_src_data_kakao_local_kakaolocalclient_search_keyword", "callee": "TypeError", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "src/data/kakao_local.py", "source_location": "L75"}, {"caller_nid": "$graphify-root$_src_data_kakao_local_kakaolocalclient_search_keyword_list", "callee": "strip", "is_member_call": true, "source_file": "src/data/kakao_local.py", "source_location": "L84", "receiver": null}, {"caller_nid": "$graphify-root$_src_data_kakao_local_kakaolocalclient_search_keyword_list", "callee": "get", "is_member_call": true, "source_file": "src/data/kakao_local.py", "source_location": "L95", "receiver": "httpx"}, {"caller_nid": "$graphify-root$_src_data_kakao_local_kakaolocalclient_search_keyword_list", "callee": "_KEYWORD_URL", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "src/data/kakao_local.py", "source_location": "L96"}, {"caller_nid": "$graphify-root$_src_data_kakao_local_kakaolocalclient_search_keyword_list", "callee": "raise_for_status", "is_member_call": true, "source_file": "src/data/kakao_local.py", "source_location": "L101", "receiver": "resp"}, {"caller_nid": "$graphify-root$_src_data_kakao_local_kakaolocalclient_search_keyword_list", "callee": "get", "is_member_call": true, "source_file": "src/data/kakao_local.py", "source_location": "L102", "receiver": null}, {"caller_nid": "$graphify-root$_src_data_kakao_local_kakaolocalclient_search_keyword_list", "callee": "json", "is_member_call": true, "source_file": "src/data/kakao_local.py", "source_location": "L102", "receiver": "resp"}, {"caller_nid": "$graphify-root$_src_data_kakao_local_kakaolocalclient_search_keyword_list", "callee": "append", "is_member_call": true, "source_file": "src/data/kakao_local.py", "source_location": "L104", "receiver": "out"}, {"caller_nid": "$graphify-root$_src_data_kakao_local_kakaolocalclient_search_keyword_list", "callee": "get", "is_member_call": true, "source_file": "src/data/kakao_local.py", "source_location": "L106", "receiver": "d"}, {"caller_nid": "$graphify-root$_src_data_kakao_local_kakaolocalclient_search_keyword_list", "callee": "get", "is_member_call": true, "source_file": "src/data/kakao_local.py", "source_location": "L109", "receiver": "d"}, {"caller_nid": "$graphify-root$_src_data_kakao_local_kakaolocalclient_search_keyword_list", "callee": "get", "is_member_call": true, "source_file": "src/data/kakao_local.py", "source_location": "L110", "receiver": "d"}, {"caller_nid": "$graphify-root$_src_data_kakao_local_kakaolocalclient_search_keyword_list", "callee": "get", "is_member_call": true, "source_file": "src/data/kakao_local.py", "source_location": "L110", "receiver": "d"}, {"caller_nid": "$graphify-root$_src_data_kakao_local_kakaolocalclient_search_keyword_list", "callee": "get", "is_member_call": true, "source_file": "src/data/kakao_local.py", "source_location": "L111", "receiver": "d"}, {"caller_nid": "$graphify-root$_src_data_kakao_local_kakaolocalclient_search_keyword_list", "callee": "get", "is_member_call": true, "source_file": "src/data/kakao_local.py", "source_location": "L112", "receiver": "d"}, {"caller_nid": "$graphify-root$_src_data_kakao_local_kakaolocalclient_search_keyword_list", "callee": "KeyError", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "src/data/kakao_local.py", "source_location": "L115"}, {"caller_nid": "$graphify-root$_src_data_kakao_local_kakaolocalclient_search_keyword_list", "callee": "ValueError", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "src/data/kakao_local.py", "source_location": "L115"}, {"caller_nid": "$graphify-root$_src_data_kakao_local_kakaolocalclient_search_keyword_list", "callee": "TypeError", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "src/data/kakao_local.py", "source_location": "L115"}, {"caller_nid": "$graphify-root$_src_data_kakao_local_kakaolocalclient_search_keyword_list", "callee": "ValueError", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "src/data/kakao_local.py", "source_location": "L118"}, {"caller_nid": "$graphify-root$_src_data_kakao_local_kakaolocalclient_search_keyword_list", "callee": "TypeError", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "src/data/kakao_local.py", "source_location": "L118"}, {"caller_nid": "$graphify-root$_src_data_kakao_local_kakaolocalclient_geocode_address", "callee": "strip", "is_member_call": true, "source_file": "src/data/kakao_local.py", "source_location": "L127", "receiver": null}, {"caller_nid": "$graphify-root$_src_data_kakao_local_kakaolocalclient_geocode_address", "callee": "get", "is_member_call": true, "source_file": "src/data/kakao_local.py", "source_location": "L137", "receiver": "httpx"}, {"caller_nid": "$graphify-root$_src_data_kakao_local_kakaolocalclient_geocode_address", "callee": "_ADDRESS_URL", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "src/data/kakao_local.py", "source_location": "L138"}, {"caller_nid": "$graphify-root$_src_data_kakao_local_kakaolocalclient_geocode_address", "callee": "raise_for_status", "is_member_call": true, "source_file": "src/data/kakao_local.py", "source_location": "L143", "receiver": "resp"}, {"caller_nid": "$graphify-root$_src_data_kakao_local_kakaolocalclient_geocode_address", "callee": "get", "is_member_call": true, "source_file": "src/data/kakao_local.py", "source_location": "L144", "receiver": null}, {"caller_nid": "$graphify-root$_src_data_kakao_local_kakaolocalclient_geocode_address", "callee": "json", "is_member_call": true, "source_file": "src/data/kakao_local.py", "source_location": "L144", "receiver": "resp"}, {"caller_nid": "$graphify-root$_src_data_kakao_local_kakaolocalclient_geocode_address", "callee": "KeyError", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "src/data/kakao_local.py", "source_location": "L149"}, {"caller_nid": "$graphify-root$_src_data_kakao_local_kakaolocalclient_geocode_address", "callee": "ValueError", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "src/data/kakao_local.py", "source_location": "L149"}, {"caller_nid": "$graphify-root$_src_data_kakao_local_kakaolocalclient_geocode_address", "callee": "TypeError", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "src/data/kakao_local.py", "source_location": "L149"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/e7477d4a6751d5b8b73957d50ddd92e15872a1517a43cd2c5b4b3db626cf2e99.json b/graphify-out/cache/ast/v0.9.31/e7477d4a6751d5b8b73957d50ddd92e15872a1517a43cd2c5b4b3db626cf2e99.json new file mode 100644 index 0000000..520f598 --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/e7477d4a6751d5b8b73957d50ddd92e15872a1517a43cd2c5b4b3db626cf2e99.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_gun_scripts_build_itinerary_excel_py", "label": "build_itinerary_excel.py", "file_type": "code", "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L1"}, {"id": "$graphify-root$_gun_scripts_build_itinerary_excel_parse_weekday", "label": "parse_weekday()", "file_type": "code", "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L99", "_callable": true}, {"id": "$graphify-root$_gun_scripts_build_itinerary_excel_minutes_to_hhmm", "label": "minutes_to_hhmm()", "file_type": "code", "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L109", "_callable": true}, {"id": "$graphify-root$_gun_scripts_build_itinerary_excel_check_hours_violations", "label": "check_hours_violations()", "file_type": "code", "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L115", "_callable": true}, {"id": "hoursspec", "label": "HoursSpec", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/gun/scripts/build_itinerary_excel.py"}, {"id": "$graphify-root$_gun_scripts_build_itinerary_excel_poimatcher", "label": "POIMatcher", "file_type": "code", "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L161", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_gun_scripts_build_itinerary_excel_poimatcher_init", "label": ".__init__()", "file_type": "code", "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L164", "_callable": true}, {"id": "path", "label": "Path", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/gun/scripts/build_itinerary_excel.py"}, {"id": "$graphify-root$_gun_scripts_build_itinerary_excel_poimatcher_match", "label": ".match()", "file_type": "code", "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L179", "_callable": true}, {"id": "$graphify-root$_gun_scripts_build_itinerary_excel_poimatcher_row_to_dict", "label": "._row_to_dict()", "file_type": "code", "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L203", "_callable": true}, {"id": "any", "label": "Any", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/gun/scripts/build_itinerary_excel.py"}, {"id": "$graphify-root$_gun_scripts_build_itinerary_excel_to_vrptw_place", "label": "_to_vrptw_place()", "file_type": "code", "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L219", "_callable": true}, {"id": "vrptwplace", "label": "VRPTWPlace", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/gun/scripts/build_itinerary_excel.py"}, {"id": "$graphify-root$_gun_scripts_build_itinerary_excel_process_one_day", "label": "process_one_day()", "file_type": "code", "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L237", "_callable": true}, {"id": "$graphify-root$_gun_scripts_build_itinerary_excel_main", "label": "main()", "file_type": "code", "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L356", "_callable": true}, {"id": "$graphify-root$_gun_scripts_build_itinerary_excel_rationale_1", "label": "\ucd94\ucc9c \uc77c\uc815 \u2192 \ub9e4\uce6d \u2192 \uc2dc\uac04 \uacc4\uc0b0 \u2192 Excel \ucd9c\ub825 \ud30c\uc774\ud504\ub77c\uc778\u2026", "file_type": "rationale", "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L1"}, {"id": "$graphify-root$_gun_scripts_build_itinerary_excel_rationale_100", "label": "2025-05-01' \u2192 0(\uc6d4)~6(\uc77c). \ud30c\uc2f1 \uc2e4\ud328 \uc2dc None.", "file_type": "rationale", "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L100"}, {"id": "$graphify-root$_gun_scripts_build_itinerary_excel_rationale_110", "label": "\ubd84 \ub2e8\uc704 \u2192 'HH:MM' (\uc74c\uc218/24\uc2dc\uac04 \ucd08\uacfc\ub294 \uadf8\ub300\ub85c \ud45c\uae30).", "file_type": "rationale", "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L110"}, {"id": "$graphify-root$_gun_scripts_build_itinerary_excel_rationale_121", "label": "\uc6b4\uc601\uc2dc\uac04 \uc704\ubc18 \uac80\uc0ac \u2192 (\uc704\ubc18 \ubaa9\ub85d, \ud328\ub110\ud2f0 \ud569\uacc4).", "file_type": "rationale", "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L121"}, {"id": "$graphify-root$_gun_scripts_build_itinerary_excel_rationale_162", "label": "pois_processed.csv \uae30\ubc18 \uc774\ub984 \ub9e4\uce6d \u2014 \uc815\ud655/\ubd80\ubd84 \uc77c\uce58.", "file_type": "rationale", "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L162"}, {"id": "$graphify-root$_gun_scripts_build_itinerary_excel_rationale_180", "label": "\uc774\ub984\uc73c\ub85c \ub9e4\uce6d. \uc2dc\ub3c4/\uc2dc\uad70\uad6c\ub294 \ubd80\ubd84 \ub9e4\uce6d \uc2dc \ud6c4\ubcf4 \uc881\ud788\uae30.", "file_type": "rationale", "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L180"}, {"id": "$graphify-root$_gun_scripts_build_itinerary_excel_rationale_220", "label": "\ub9e4\uce6d\ub41c row \u2192 VRPTWPlace \ubcc0\ud658. \uc88c\ud45c \uc5c6\uc73c\uba74 None. \uc6b4\uc601\uc2dc\uac04\uc740 hours_db.resolve_hours() \uacb0\uacfc\ub97c \uc0ac\uc6a9.", "file_type": "rationale", "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L220"}, {"id": "$graphify-root$_gun_scripts_build_itinerary_excel_rationale_241", "label": "\ud55c day(\uac19\uc740 plan_id+day)\uc758 row\ub4e4\uc5d0 \uc774\ub3d9\uc2dc\uac04\u00b7\uc6b4\uc601\uc2dc\uac04 \uc704\ubc18\u00b7\ud328\ub110\ud2f0 \ucc44\uc6b0\uae30.", "file_type": "rationale", "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L241"}], "edges": [{"source": "$graphify-root$_gun_scripts_build_itinerary_excel_py", "target": "argparse", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L25", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_itinerary_excel_py", "target": "csv", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L26", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_itinerary_excel_py", "target": "json", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L27", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_itinerary_excel_py", "target": "sys", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L28", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_itinerary_excel_py", "target": "collections", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L29", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_itinerary_excel_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L30", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_itinerary_excel_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L31", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_itinerary_excel_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L32", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_itinerary_excel_py", "target": "pandas", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L34", "weight": 1.0, "local_alias": "pd"}, {"source": "$graphify-root$_gun_scripts_build_itinerary_excel_py", "target": "src_data_dwell_db", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L41", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_itinerary_excel_py", "target": "src_data_hours_db", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L42", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_itinerary_excel_py", "target": "src_data_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L43", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_itinerary_excel_py", "target": "src_scoring_cluster_dispersion", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L44", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_itinerary_excel_py", "target": "src_scoring_travel_ratio", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L45", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_itinerary_excel_py", "target": "src_validation_kakao_matrix", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L46", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_itinerary_excel_py", "target": "src_validation_vrptw_engine", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L47", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_itinerary_excel_py", "target": "$graphify-root$_gun_scripts_build_itinerary_excel_parse_weekday", "relation": "contains", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L99", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_itinerary_excel_py", "target": "$graphify-root$_gun_scripts_build_itinerary_excel_minutes_to_hhmm", "relation": "contains", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L109", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_itinerary_excel_py", "target": "$graphify-root$_gun_scripts_build_itinerary_excel_check_hours_violations", "relation": "contains", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L115", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_itinerary_excel_check_hours_violations", "target": "hoursspec", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L115", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_itinerary_excel_py", "target": "$graphify-root$_gun_scripts_build_itinerary_excel_poimatcher", "relation": "contains", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L161", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_itinerary_excel_poimatcher", "target": "$graphify-root$_gun_scripts_build_itinerary_excel_poimatcher_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L164", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_itinerary_excel_poimatcher_init", "target": "path", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L164", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_itinerary_excel_poimatcher", "target": "$graphify-root$_gun_scripts_build_itinerary_excel_poimatcher_match", "relation": "method", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L179", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_itinerary_excel_poimatcher", "target": "$graphify-root$_gun_scripts_build_itinerary_excel_poimatcher_row_to_dict", "relation": "method", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L203", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_itinerary_excel_poimatcher_row_to_dict", "target": "any", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L203", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_itinerary_excel_py", "target": "$graphify-root$_gun_scripts_build_itinerary_excel_to_vrptw_place", "relation": "contains", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L219", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_itinerary_excel_to_vrptw_place", "target": "vrptwplace", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L219", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_itinerary_excel_py", "target": "$graphify-root$_gun_scripts_build_itinerary_excel_process_one_day", "relation": "contains", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L237", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_itinerary_excel_py", "target": "$graphify-root$_gun_scripts_build_itinerary_excel_main", "relation": "contains", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L356", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_itinerary_excel_check_hours_violations", "target": "$graphify-root$_gun_scripts_build_itinerary_excel_minutes_to_hhmm", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L135", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_itinerary_excel_poimatcher_match", "target": "$graphify-root$_gun_scripts_build_itinerary_excel_poimatcher_row_to_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L188", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_itinerary_excel_to_vrptw_place", "target": "vrptwplace", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L226", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_itinerary_excel_process_one_day", "target": "$graphify-root$_gun_scripts_build_itinerary_excel_to_vrptw_place", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L246", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_itinerary_excel_process_one_day", "target": "$graphify-root$_gun_scripts_build_itinerary_excel_parse_weekday", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L273", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_itinerary_excel_process_one_day", "target": "$graphify-root$_gun_scripts_build_itinerary_excel_check_hours_violations", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L280", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_itinerary_excel_process_one_day", "target": "$graphify-root$_gun_scripts_build_itinerary_excel_minutes_to_hhmm", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L285", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_itinerary_excel_main", "target": "path", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L364", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_itinerary_excel_main", "target": "$graphify-root$_gun_scripts_build_itinerary_excel_poimatcher", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L384", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_itinerary_excel_main", "target": "$graphify-root$_gun_scripts_build_itinerary_excel_poimatcher_match", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L389", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_itinerary_excel_main", "target": "$graphify-root$_gun_scripts_build_itinerary_excel_parse_weekday", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L427", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_itinerary_excel_main", "target": "$graphify-root$_gun_scripts_build_itinerary_excel_process_one_day", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L466", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_itinerary_excel_rationale_1", "target": "$graphify-root$_gun_scripts_build_itinerary_excel_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_itinerary_excel_rationale_100", "target": "$graphify-root$_gun_scripts_build_itinerary_excel_parse_weekday", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L100", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_itinerary_excel_rationale_110", "target": "$graphify-root$_gun_scripts_build_itinerary_excel_minutes_to_hhmm", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L110", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_itinerary_excel_rationale_121", "target": "$graphify-root$_gun_scripts_build_itinerary_excel_check_hours_violations", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L121", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_itinerary_excel_rationale_162", "target": "$graphify-root$_gun_scripts_build_itinerary_excel_poimatcher", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L162", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_itinerary_excel_rationale_180", "target": "$graphify-root$_gun_scripts_build_itinerary_excel_poimatcher_match", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L180", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_itinerary_excel_rationale_220", "target": "$graphify-root$_gun_scripts_build_itinerary_excel_to_vrptw_place", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L220", "weight": 1.0}, {"source": "$graphify-root$_gun_scripts_build_itinerary_excel_rationale_241", "target": "$graphify-root$_gun_scripts_build_itinerary_excel_process_one_day", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L241", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_parse_weekday", "callee": "weekday", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L104", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_parse_weekday", "callee": "fromisoformat", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L104", "receiver": "_date"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_parse_weekday", "callee": "strip", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L104", "receiver": "date_str"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_parse_weekday", "callee": "ValueError", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L105"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_parse_weekday", "callee": "TypeError", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L105"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_minutes_to_hhmm", "callee": "divmod", "is_member_call": false, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L111", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_check_hours_violations", "callee": "append", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L128", "receiver": "violations"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_check_hours_violations", "callee": "to_minutes", "is_member_call": false, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L132", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_check_hours_violations", "callee": "to_minutes", "is_member_call": false, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L133", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_check_hours_violations", "callee": "append", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L135", "receiver": "violations"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_check_hours_violations", "callee": "append", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L138", "receiver": "violations"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_check_hours_violations", "callee": "append", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L141", "receiver": "violations"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_check_hours_violations", "callee": "append", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L144", "receiver": "violations"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_check_hours_violations", "callee": "to_minutes", "is_member_call": false, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L149", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_check_hours_violations", "callee": "to_minutes", "is_member_call": false, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L150", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_check_hours_violations", "callee": "append", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L152", "receiver": "violations"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_poimatcher_init", "callee": "exists", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L165", "receiver": "pois_csv"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_poimatcher_init", "callee": "exit", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L166", "receiver": "sys"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_poimatcher_init", "callee": "read_csv", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L168", "receiver": "pd"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_poimatcher_init", "callee": "lower", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L170", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_poimatcher_init", "callee": "strip", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L170", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_poimatcher_init", "callee": "astype", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L170", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_poimatcher_init", "callee": "str", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L170"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_poimatcher_init", "callee": "replace", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L171", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_poimatcher_init", "callee": "setdefault", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L176", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_poimatcher_match", "callee": "join", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L183", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_poimatcher_match", "callee": "split", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L183", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_poimatcher_match", "callee": "lower", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L183", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_poimatcher_match", "callee": "strip", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L183", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_poimatcher_match", "callee": "contains", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L191", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_poimatcher_match", "callee": "contains", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L195", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_poimatcher_match", "callee": "astype", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L195", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_poimatcher_match", "callee": "str", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L195"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_poimatcher_match", "callee": "strip", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L195", "receiver": "sigungu"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_poimatcher_row_to_dict", "callee": "notna", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L207", "receiver": "pd"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_poimatcher_row_to_dict", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L208", "receiver": "row"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_poimatcher_row_to_dict", "callee": "notna", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L208", "receiver": "pd"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_poimatcher_row_to_dict", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L208", "receiver": "row"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_poimatcher_row_to_dict", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L209", "receiver": "row"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_poimatcher_row_to_dict", "callee": "notna", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L209", "receiver": "pd"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_poimatcher_row_to_dict", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L209", "receiver": "row"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_poimatcher_row_to_dict", "callee": "notna", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L210", "receiver": "pd"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_poimatcher_row_to_dict", "callee": "notna", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L211", "receiver": "pd"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_to_vrptw_place", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L224", "receiver": "row"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_to_vrptw_place", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L224", "receiver": "row"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_to_vrptw_place", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L227", "receiver": "row"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_to_vrptw_place", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L227", "receiver": "row"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_to_vrptw_place", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L230", "receiver": "row"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_to_vrptw_place", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L231", "receiver": "row"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_process_one_day", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L245", "receiver": "r"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_process_one_day", "callee": "append", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L246", "receiver": "places"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_process_one_day", "callee": "append", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L252", "receiver": "travel_minutes"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_process_one_day", "callee": "get_travel_time", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L254", "receiver": "matrix"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_process_one_day", "callee": "append", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L255", "receiver": "travel_minutes"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_process_one_day", "callee": "append", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L256", "receiver": "travel_minutes"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_process_one_day", "callee": "to_minutes", "is_member_call": false, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L262", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_process_one_day", "callee": "DEFAULT_START", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L262"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_process_one_day", "callee": "append", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L264", "receiver": "arrive_minutes"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_process_one_day", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L265", "receiver": "r"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_process_one_day", "callee": "append", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L267", "receiver": "depart_minutes"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_process_one_day", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L273", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_process_one_day", "callee": "resolve_hours", "is_member_call": false, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L276", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_process_one_day", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L277", "receiver": "r"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_process_one_day", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L277", "receiver": "r"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_process_one_day", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L278", "receiver": "r"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_process_one_day", "callee": "join", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L283", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_process_one_day", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L290", "receiver": "r"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_process_one_day", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L296", "receiver": "r"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_process_one_day", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L296", "receiver": "r"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_process_one_day", "callee": "VRPTWDay", "is_member_call": false, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L306", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_process_one_day", "callee": "evaluate_cluster_dispersion", "is_member_call": false, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L307", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_process_one_day", "callee": "append", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L310", "receiver": "vrptw_warnings"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_process_one_day", "callee": "append", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L312", "receiver": "vrptw_warnings"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_process_one_day", "callee": "e", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L312"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_process_one_day", "callee": "evaluate_travel_ratio", "is_member_call": false, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L316", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_process_one_day", "callee": "VRPTWDay", "is_member_call": false, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L316", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_process_one_day", "callee": "append", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L320", "receiver": "vrptw_warnings"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_process_one_day", "callee": "e", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L320"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_process_one_day", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L324", "receiver": "r"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_process_one_day", "callee": "append", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L325", "receiver": "vrptw_warnings"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_process_one_day", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L325", "receiver": "r"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_process_one_day", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L325", "receiver": "r"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_process_one_day", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L331", "receiver": "r"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_process_one_day", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L332", "receiver": "r"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_process_one_day", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L333", "receiver": "r"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_process_one_day", "callee": "join", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L348", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_main", "callee": "ArgumentParser", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L357", "receiver": "argparse"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_main", "callee": "add_argument", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L358", "receiver": "parser"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_main", "callee": "INPUT_XLSX", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L358"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_main", "callee": "add_argument", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L359", "receiver": "parser"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_main", "callee": "DATA_DIR", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L359"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_main", "callee": "add_argument", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L360", "receiver": "parser"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_main", "callee": "parse_args", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L362", "receiver": "parser"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_main", "callee": "mkdir", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L366", "receiver": "out_dir"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_main", "callee": "exists", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L368", "receiver": "input_path"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_main", "callee": "exit", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L369", "receiver": "sys"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_main", "callee": "fillna", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L373", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_main", "callee": "read_excel", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L373", "receiver": "pd"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_main", "callee": "str", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L373"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_main", "callee": "strip", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L374", "receiver": "c"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_main", "callee": "exit", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L379", "receiver": "sys"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_main", "callee": "POIS_CSV", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L384"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_main", "callee": "iterrows", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L387", "receiver": "df_in"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_main", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L388", "receiver": "raw"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_main", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L389", "receiver": "r"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_main", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L389", "receiver": "r"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_main", "callee": "update", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L391", "receiver": "r"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_main", "callee": "append", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L401", "receiver": "failed"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_main", "callee": "get_recommended_dwell", "is_member_call": false, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L405", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_main", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L406", "receiver": "r"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_main", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L407", "receiver": "r"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_main", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L408", "receiver": "r"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_main", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L409", "receiver": "r"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_main", "callee": "resolve_hours", "is_member_call": false, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L415", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_main", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L416", "receiver": "r"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_main", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L417", "receiver": "r"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_main", "callee": "join", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L426", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_main", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L427", "receiver": "r"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_main", "callee": "append", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L430", "receiver": "rows"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_main", "callee": "FAILED_CSV", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L441"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_main", "callee": "DictWriter", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L442", "receiver": "csv"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_main", "callee": "f", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L442"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_main", "callee": "writeheader", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L443", "receiver": "w"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_main", "callee": "writerows", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L444", "receiver": "w"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_main", "callee": "HaversineMatrix", "is_member_call": false, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L451", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_main", "callee": "from_env", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L453", "receiver": "KakaoMobilityMatrix"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_main", "callee": "CACHE_JSON", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L453"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_main", "callee": "defaultdict", "is_member_call": false, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L457", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_main", "callee": "list", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L457"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_main", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L459", "receiver": "r"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_main", "callee": "append", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L460", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_main", "callee": "items", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L464", "receiver": "grouped"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_main", "callee": "sort", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L465", "receiver": "day_rows"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_main", "callee": "get", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L465", "receiver": "x"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_main", "callee": "extend", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L466", "receiver": "processed"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_main", "callee": "save_cache", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L470", "receiver": "matrix"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_main", "callee": "strftime", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L474", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_main", "callee": "today", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L474", "receiver": "_date"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_main", "callee": "DataFrame", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L478", "receiver": "pd"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_main", "callee": "OUTPUT_COLS", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L478"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_main", "callee": "sort_values", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L480", "receiver": "df_out"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_main", "callee": "to_excel", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L481", "receiver": "df_out"}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_main", "callee": "nunique", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L486", "receiver": null}, {"caller_nid": "$graphify-root$_gun_scripts_build_itinerary_excel_main", "callee": "mean", "is_member_call": true, "source_file": "gun/scripts/build_itinerary_excel.py", "source_location": "L490", "receiver": null}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/ea470fb1c90053b2da4907392405eba55185b81ac8687ee88b8934e7062ded15.json b/graphify-out/cache/ast/v0.9.31/ea470fb1c90053b2da4907392405eba55185b81ac8687ee88b8934e7062ded15.json new file mode 100644 index 0000000..11217ec --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/ea470fb1c90053b2da4907392405eba55185b81ac8687ee88b8934e7062ded15.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_src_validation_warning_py", "label": "warning.py", "file_type": "code", "source_file": "src/validation/warning.py", "source_location": "L1"}, {"id": "$graphify-root$_src_validation_warning_cosine_distance", "label": "_cosine_distance()", "file_type": "code", "source_file": "src/validation/warning.py", "source_location": "L28", "_callable": true}, {"id": "$graphify-root$_src_validation_warning_warningdetector", "label": "WarningDetector", "file_type": "code", "source_file": "src/validation/warning.py", "source_location": "L39", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_src_validation_warning_warningdetector_detect", "label": ".detect()", "file_type": "code", "source_file": "src/validation/warning.py", "source_location": "L51", "_callable": true}, {"id": "itineraryplan", "label": "ItineraryPlan", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/validation/warning.py"}, {"id": "poi", "label": "POI", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/validation/warning.py"}, {"id": "warning", "label": "Warning", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/validation/warning.py"}, {"id": "$graphify-root$_src_validation_warning_warningdetector_check_dense_schedule", "label": "._check_dense_schedule()", "file_type": "code", "source_file": "src/validation/warning.py", "source_location": "L73", "_callable": true}, {"id": "$graphify-root$_src_validation_warning_warningdetector_check_inefficient_route", "label": "._check_inefficient_route()", "file_type": "code", "source_file": "src/validation/warning.py", "source_location": "L100", "_callable": true}, {"id": "$graphify-root$_src_validation_warning_warningdetector_check_physical_strain", "label": "._check_physical_strain()", "file_type": "code", "source_file": "src/validation/warning.py", "source_location": "L124", "_callable": true}, {"id": "$graphify-root$_src_validation_warning_warningdetector_check_purpose_mismatch", "label": "._check_purpose_mismatch()", "file_type": "code", "source_file": "src/validation/warning.py", "source_location": "L145", "_callable": true}, {"id": "$graphify-root$_src_validation_warning_warningdetector_check_cumulative_fatigue", "label": ".check_cumulative_fatigue()", "file_type": "code", "source_file": "src/validation/warning.py", "source_location": "L176", "_callable": true}, {"id": "$graphify-root$_src_validation_warning_warningdetector_check_area_revisit", "label": "._check_area_revisit()", "file_type": "code", "source_file": "src/validation/warning.py", "source_location": "L240", "_callable": true}, {"id": "$graphify-root$_src_validation_warning_rationale_1", "label": "Warning \ud0d0\uc9c0\uae30 (\ub3d9\uc120 \ube44\ud6a8\uc728\u00b7\uc77c\uc815 \uacfc\ubc00\u00b7\uccb4\ub825 \ubd80\ub2f4\u00b7\ubaa9\uc801 \ubd80\uc801\ud569\u00b7\uad6c\uc5ed \uc7ac\ubc29\ubb38).", "file_type": "rationale", "source_file": "src/validation/warning.py", "source_location": "L1"}, {"id": "$graphify-root$_src_validation_warning_rationale_40", "label": "\uc5ec\ud589 \uc77c\uc815\uc758 Soft Warning \uc870\uac74\uc744 \ud0d0\uc9c0\ud55c\ub2e4. External I/O \uc5c6\uc74c. matrix: dict[int, dict[int,\u2026", "file_type": "rationale", "source_file": "src/validation/warning.py", "source_location": "L40"}, {"id": "$graphify-root$_src_validation_warning_rationale_58", "label": "Warning \ubaa9\ub85d \ubc18\ud658. \uc5c6\uc73c\uba74 \ube48 \ub9ac\uc2a4\ud2b8.", "file_type": "rationale", "source_file": "src/validation/warning.py", "source_location": "L58"}, {"id": "$graphify-root$_src_validation_warning_rationale_182", "label": "Multi-day \ub204\uc801 \ud53c\ub85c\ub3c4 \ubd84\uc11d \u2014 \ub2e8\uc77c detect() \ud638\ucd9c\ub85c\ub294 \ud3ec\ucc29\ud560 \uc218 \uc5c6\ub294 cross-day \ud328\ud134.", "file_type": "rationale", "source_file": "src/validation/warning.py", "source_location": "L182"}], "edges": [{"source": "$graphify-root$_src_validation_warning_py", "target": "src_data_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/validation/warning.py", "source_location": "L4", "weight": 1.0}, {"source": "$graphify-root$_src_validation_warning_py", "target": "src_data_party_config", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/validation/warning.py", "source_location": "L5", "weight": 1.0}, {"source": "$graphify-root$_src_validation_warning_py", "target": "src_utils_geo", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/validation/warning.py", "source_location": "L6", "weight": 1.0}, {"source": "$graphify-root$_src_validation_warning_py", "target": "$graphify-root$_src_validation_warning_cosine_distance", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/validation/warning.py", "source_location": "L28", "weight": 1.0}, {"source": "$graphify-root$_src_validation_warning_py", "target": "$graphify-root$_src_validation_warning_warningdetector", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/validation/warning.py", "source_location": "L39", "weight": 1.0}, {"source": "$graphify-root$_src_validation_warning_warningdetector", "target": "$graphify-root$_src_validation_warning_warningdetector_detect", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/validation/warning.py", "source_location": "L51", "weight": 1.0}, {"source": "$graphify-root$_src_validation_warning_warningdetector_detect", "target": "itineraryplan", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/validation/warning.py", "source_location": "L51", "weight": 1.0}, {"source": "$graphify-root$_src_validation_warning_warningdetector_detect", "target": "poi", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/validation/warning.py", "source_location": "L51", "weight": 1.0}, {"source": "$graphify-root$_src_validation_warning_warningdetector_detect", "target": "warning", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/validation/warning.py", "source_location": "L51", "weight": 1.0}, {"source": "$graphify-root$_src_validation_warning_warningdetector", "target": "$graphify-root$_src_validation_warning_warningdetector_check_dense_schedule", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/validation/warning.py", "source_location": "L73", "weight": 1.0}, {"source": "$graphify-root$_src_validation_warning_warningdetector_check_dense_schedule", "target": "itineraryplan", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/validation/warning.py", "source_location": "L73", "weight": 1.0}, {"source": "$graphify-root$_src_validation_warning_warningdetector_check_dense_schedule", "target": "poi", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/validation/warning.py", "source_location": "L73", "weight": 1.0}, {"source": "$graphify-root$_src_validation_warning_warningdetector_check_dense_schedule", "target": "warning", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/validation/warning.py", "source_location": "L73", "weight": 1.0}, {"source": "$graphify-root$_src_validation_warning_warningdetector", "target": "$graphify-root$_src_validation_warning_warningdetector_check_inefficient_route", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/validation/warning.py", "source_location": "L100", "weight": 1.0}, {"source": "$graphify-root$_src_validation_warning_warningdetector_check_inefficient_route", "target": "poi", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/validation/warning.py", "source_location": "L100", "weight": 1.0}, {"source": "$graphify-root$_src_validation_warning_warningdetector_check_inefficient_route", "target": "warning", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/validation/warning.py", "source_location": "L100", "weight": 1.0}, {"source": "$graphify-root$_src_validation_warning_warningdetector", "target": "$graphify-root$_src_validation_warning_warningdetector_check_physical_strain", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/validation/warning.py", "source_location": "L124", "weight": 1.0}, {"source": "$graphify-root$_src_validation_warning_warningdetector_check_physical_strain", "target": "itineraryplan", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/validation/warning.py", "source_location": "L124", "weight": 1.0}, {"source": "$graphify-root$_src_validation_warning_warningdetector_check_physical_strain", "target": "poi", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/validation/warning.py", "source_location": "L124", "weight": 1.0}, {"source": "$graphify-root$_src_validation_warning_warningdetector_check_physical_strain", "target": "warning", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/validation/warning.py", "source_location": "L124", "weight": 1.0}, {"source": "$graphify-root$_src_validation_warning_warningdetector", "target": "$graphify-root$_src_validation_warning_warningdetector_check_purpose_mismatch", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/validation/warning.py", "source_location": "L145", "weight": 1.0}, {"source": "$graphify-root$_src_validation_warning_warningdetector_check_purpose_mismatch", "target": "itineraryplan", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/validation/warning.py", "source_location": "L145", "weight": 1.0}, {"source": "$graphify-root$_src_validation_warning_warningdetector_check_purpose_mismatch", "target": "poi", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/validation/warning.py", "source_location": "L145", "weight": 1.0}, {"source": "$graphify-root$_src_validation_warning_warningdetector_check_purpose_mismatch", "target": "warning", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/validation/warning.py", "source_location": "L145", "weight": 1.0}, {"source": "$graphify-root$_src_validation_warning_warningdetector", "target": "$graphify-root$_src_validation_warning_warningdetector_check_cumulative_fatigue", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/validation/warning.py", "source_location": "L176", "weight": 1.0}, {"source": "$graphify-root$_src_validation_warning_warningdetector_check_cumulative_fatigue", "target": "itineraryplan", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/validation/warning.py", "source_location": "L176", "weight": 1.0}, {"source": "$graphify-root$_src_validation_warning_warningdetector_check_cumulative_fatigue", "target": "poi", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/validation/warning.py", "source_location": "L176", "weight": 1.0}, {"source": "$graphify-root$_src_validation_warning_warningdetector_check_cumulative_fatigue", "target": "warning", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/validation/warning.py", "source_location": "L176", "weight": 1.0}, {"source": "$graphify-root$_src_validation_warning_warningdetector", "target": "$graphify-root$_src_validation_warning_warningdetector_check_area_revisit", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/validation/warning.py", "source_location": "L240", "weight": 1.0}, {"source": "$graphify-root$_src_validation_warning_warningdetector_check_area_revisit", "target": "poi", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/validation/warning.py", "source_location": "L240", "weight": 1.0}, {"source": "$graphify-root$_src_validation_warning_warningdetector_check_area_revisit", "target": "warning", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/validation/warning.py", "source_location": "L240", "weight": 1.0}, {"source": "$graphify-root$_src_validation_warning_warningdetector_detect", "target": "$graphify-root$_src_validation_warning_warningdetector_check_dense_schedule", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/validation/warning.py", "source_location": "L61", "weight": 1.0}, {"source": "$graphify-root$_src_validation_warning_warningdetector_detect", "target": "$graphify-root$_src_validation_warning_warningdetector_check_inefficient_route", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/validation/warning.py", "source_location": "L62", "weight": 1.0}, {"source": "$graphify-root$_src_validation_warning_warningdetector_detect", "target": "$graphify-root$_src_validation_warning_warningdetector_check_physical_strain", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/validation/warning.py", "source_location": "L63", "weight": 1.0}, {"source": "$graphify-root$_src_validation_warning_warningdetector_detect", "target": "$graphify-root$_src_validation_warning_warningdetector_check_purpose_mismatch", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/validation/warning.py", "source_location": "L64", "weight": 1.0}, {"source": "$graphify-root$_src_validation_warning_warningdetector_detect", "target": "$graphify-root$_src_validation_warning_warningdetector_check_area_revisit", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/validation/warning.py", "source_location": "L65", "weight": 1.0}, {"source": "$graphify-root$_src_validation_warning_warningdetector_check_dense_schedule", "target": "warning", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/validation/warning.py", "source_location": "L91", "weight": 1.0}, {"source": "$graphify-root$_src_validation_warning_warningdetector_check_inefficient_route", "target": "warning", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/validation/warning.py", "source_location": "L115", "weight": 1.0}, {"source": "$graphify-root$_src_validation_warning_warningdetector_check_physical_strain", "target": "warning", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/validation/warning.py", "source_location": "L136", "weight": 1.0}, {"source": "$graphify-root$_src_validation_warning_warningdetector_check_purpose_mismatch", "target": "$graphify-root$_src_validation_warning_cosine_distance", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/validation/warning.py", "source_location": "L163", "weight": 1.0}, {"source": "$graphify-root$_src_validation_warning_warningdetector_check_purpose_mismatch", "target": "warning", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/validation/warning.py", "source_location": "L167", "weight": 1.0}, {"source": "$graphify-root$_src_validation_warning_warningdetector_check_cumulative_fatigue", "target": "warning", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/validation/warning.py", "source_location": "L211", "weight": 1.0}, {"source": "$graphify-root$_src_validation_warning_warningdetector_check_area_revisit", "target": "warning", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/validation/warning.py", "source_location": "L257", "weight": 1.0}, {"source": "$graphify-root$_src_validation_warning_rationale_1", "target": "$graphify-root$_src_validation_warning_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/validation/warning.py", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_src_validation_warning_rationale_40", "target": "$graphify-root$_src_validation_warning_warningdetector", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/validation/warning.py", "source_location": "L40", "weight": 1.0}, {"source": "$graphify-root$_src_validation_warning_rationale_58", "target": "$graphify-root$_src_validation_warning_warningdetector_detect", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/validation/warning.py", "source_location": "L58", "weight": 1.0}, {"source": "$graphify-root$_src_validation_warning_rationale_182", "target": "$graphify-root$_src_validation_warning_warningdetector_check_cumulative_fatigue", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/validation/warning.py", "source_location": "L182", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_src_validation_warning_cosine_distance", "callee": "get", "is_member_call": true, "source_file": "src/validation/warning.py", "source_location": "L31", "receiver": "v1"}, {"caller_nid": "$graphify-root$_src_validation_warning_cosine_distance", "callee": "get", "is_member_call": true, "source_file": "src/validation/warning.py", "source_location": "L31", "receiver": "v2"}, {"caller_nid": "$graphify-root$_src_validation_warning_cosine_distance", "callee": "sqrt", "is_member_call": true, "source_file": "src/validation/warning.py", "source_location": "L32", "receiver": "math"}, {"caller_nid": "$graphify-root$_src_validation_warning_cosine_distance", "callee": "values", "is_member_call": true, "source_file": "src/validation/warning.py", "source_location": "L32", "receiver": "v1"}, {"caller_nid": "$graphify-root$_src_validation_warning_cosine_distance", "callee": "sqrt", "is_member_call": true, "source_file": "src/validation/warning.py", "source_location": "L33", "receiver": "math"}, {"caller_nid": "$graphify-root$_src_validation_warning_cosine_distance", "callee": "values", "is_member_call": true, "source_file": "src/validation/warning.py", "source_location": "L33", "receiver": "v2"}, {"caller_nid": "$graphify-root$_src_validation_warning_warningdetector_detect", "callee": "build_dist_cache", "is_member_call": false, "source_file": "src/validation/warning.py", "source_location": "L59", "receiver": null}, {"caller_nid": "$graphify-root$_src_validation_warning_warningdetector_detect", "callee": "extend", "is_member_call": true, "source_file": "src/validation/warning.py", "source_location": "L61", "receiver": "warns"}, {"caller_nid": "$graphify-root$_src_validation_warning_warningdetector_detect", "callee": "extend", "is_member_call": true, "source_file": "src/validation/warning.py", "source_location": "L62", "receiver": "warns"}, {"caller_nid": "$graphify-root$_src_validation_warning_warningdetector_detect", "callee": "extend", "is_member_call": true, "source_file": "src/validation/warning.py", "source_location": "L63", "receiver": "warns"}, {"caller_nid": "$graphify-root$_src_validation_warning_warningdetector_detect", "callee": "extend", "is_member_call": true, "source_file": "src/validation/warning.py", "source_location": "L64", "receiver": "warns"}, {"caller_nid": "$graphify-root$_src_validation_warning_warningdetector_detect", "callee": "extend", "is_member_call": true, "source_file": "src/validation/warning.py", "source_location": "L65", "receiver": "warns"}, {"caller_nid": "$graphify-root$_src_validation_warning_warningdetector_check_dense_schedule", "callee": "get_party_profile", "is_member_call": false, "source_file": "src/validation/warning.py", "source_location": "L80", "receiver": null}, {"caller_nid": "$graphify-root$_src_validation_warning_warningdetector_check_dense_schedule", "callee": "get_travel_min", "is_member_call": false, "source_file": "src/validation/warning.py", "source_location": "L84", "receiver": null}, {"caller_nid": "$graphify-root$_src_validation_warning_warningdetector_check_inefficient_route", "callee": "get", "is_member_call": true, "source_file": "src/validation/warning.py", "source_location": "L107", "receiver": "dist_cache"}, {"caller_nid": "$graphify-root$_src_validation_warning_warningdetector_check_inefficient_route", "callee": "nn_heuristic_km", "is_member_call": false, "source_file": "src/validation/warning.py", "source_location": "L110", "receiver": null}, {"caller_nid": "$graphify-root$_src_validation_warning_warningdetector_check_physical_strain", "callee": "get_party_profile", "is_member_call": false, "source_file": "src/validation/warning.py", "source_location": "L130", "receiver": null}, {"caller_nid": "$graphify-root$_src_validation_warning_warningdetector_check_physical_strain", "callee": "get", "is_member_call": true, "source_file": "src/validation/warning.py", "source_location": "L132", "receiver": "dist_cache"}, {"caller_nid": "$graphify-root$_src_validation_warning_warningdetector_check_purpose_mismatch", "callee": "get", "is_member_call": true, "source_file": "src/validation/warning.py", "source_location": "L148", "receiver": "INTENT_VECTORS"}, {"caller_nid": "$graphify-root$_src_validation_warning_warningdetector_check_purpose_mismatch", "callee": "get", "is_member_call": true, "source_file": "src/validation/warning.py", "source_location": "L160", "receiver": "cat_count"}, {"caller_nid": "$graphify-root$_src_validation_warning_warningdetector_check_purpose_mismatch", "callee": "items", "is_member_call": true, "source_file": "src/validation/warning.py", "source_location": "L161", "receiver": "cat_count"}, {"caller_nid": "$graphify-root$_src_validation_warning_warningdetector_check_cumulative_fatigue", "callee": "get_party_profile", "is_member_call": false, "source_file": "src/validation/warning.py", "source_location": "L186", "receiver": null}, {"caller_nid": "$graphify-root$_src_validation_warning_warningdetector_check_cumulative_fatigue", "callee": "append", "is_member_call": true, "source_file": "src/validation/warning.py", "source_location": "L192", "receiver": "intensities"}, {"caller_nid": "$graphify-root$_src_validation_warning_warningdetector_check_cumulative_fatigue", "callee": "build_dist_cache", "is_member_call": false, "source_file": "src/validation/warning.py", "source_location": "L194", "receiver": null}, {"caller_nid": "$graphify-root$_src_validation_warning_warningdetector_check_cumulative_fatigue", "callee": "get_travel_min", "is_member_call": false, "source_file": "src/validation/warning.py", "source_location": "L197", "receiver": null}, {"caller_nid": "$graphify-root$_src_validation_warning_warningdetector_check_cumulative_fatigue", "callee": "append", "is_member_call": true, "source_file": "src/validation/warning.py", "source_location": "L200", "receiver": "intensities"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/ec0107a9398d08e7471ca703ad6d216d17fd73c2b0dcbc405920d97ea761f9fc.json b/graphify-out/cache/ast/v0.9.31/ec0107a9398d08e7471ca703ad6d216d17fd73c2b0dcbc405920d97ea761f9fc.json new file mode 100644 index 0000000..1a52d4b --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/ec0107a9398d08e7471ca703ad6d216d17fd73c2b0dcbc405920d97ea761f9fc.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_src_validation_alternatives_py", "label": "alternatives.py", "file_type": "code", "source_file": "src/validation/alternatives.py", "source_location": "L1"}, {"id": "$graphify-root$_src_validation_alternatives_haversine_km", "label": "_haversine_km()", "file_type": "code", "source_file": "src/validation/alternatives.py", "source_location": "L32", "_callable": true}, {"id": "$graphify-root$_src_validation_alternatives_alternativesfinder", "label": "AlternativesFinder", "file_type": "code", "source_file": "src/validation/alternatives.py", "source_location": "L40", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_src_validation_alternatives_alternativesfinder_init", "label": ".__init__()", "file_type": "code", "source_file": "src/validation/alternatives.py", "source_location": "L49", "_callable": true}, {"id": "poi", "label": "POI", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/validation/alternatives.py"}, {"id": "$graphify-root$_src_validation_alternatives_alternativesfinder_find_alternatives", "label": ".find_alternatives()", "file_type": "code", "source_file": "src/validation/alternatives.py", "source_location": "L59", "_callable": true}, {"id": "alternativepoi", "label": "AlternativePOI", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/validation/alternatives.py"}, {"id": "$graphify-root$_src_validation_alternatives_alternativesfinder_build_alternatives_map", "label": ".build_alternatives_map()", "file_type": "code", "source_file": "src/validation/alternatives.py", "source_location": "L92", "_callable": true}, {"id": "hardfail", "label": "HardFail", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/validation/alternatives.py"}, {"id": "$graphify-root$_src_validation_alternatives_rationale_1", "label": "Hard Fail \ubc1c\uc0dd \uc7a5\uc18c\uc5d0 \ub300\ud55c \ub300\uccb4 \ud6c4\ubcf4 \ud0d0\uc0c9\uae30 (Repair \ubcf4\uc870 \ub3c4\uad6c). \uc774 \ubaa8\ub4c8\uc740 '\uac80\uc99d'\uc774 \uc544\ub2cc '\uc218\ub9ac \uc81c\uc548'\uc758 \ubcf4\uc870 \ub3c4\uad6c\uc774\ub2e4.\u2026", "file_type": "rationale", "source_file": "src/validation/alternatives.py", "source_location": "L1"}, {"id": "$graphify-root$_src_validation_alternatives_rationale_41", "label": "Hard Fail POI\ub97c \ub300\uccb4\ud560 \ud6c4\ubcf4 \ucd94\ucc9c\uae30. Args: poi_pool: \ud0d0\uc0c9 \ub300\uc0c1 \uc804\uccb4 POI \ud480 (TourAPI \ub4f1 \uc678\ubd80\uc5d0\uc11c \uc8fc\uc785).\u2026", "file_type": "rationale", "source_file": "src/validation/alternatives.py", "source_location": "L41"}, {"id": "$graphify-root$_src_validation_alternatives_rationale_64", "label": "failed_poi\uc640 \uac19\uc740 \uce74\ud14c\uace0\ub9ac \uc911 \uac00\uc7a5 \uac00\uae4c\uc6b4 POI\ub97c \ubc18\ud658. \uac19\uc740 \uce74\ud14c\uace0\ub9ac\uac00 \uc5c6\uc73c\uba74 \ubc18\uacbd \ub0b4 \ubaa8\ub4e0 POI\ub97c \uac70\ub9ac \uc21c\uc73c\ub85c \ubc18\ud658.", "file_type": "rationale", "source_file": "src/validation/alternatives.py", "source_location": "L64"}, {"id": "$graphify-root$_src_validation_alternatives_rationale_98", "label": "Hard Fail \ubaa9\ub85d \uae30\ubc18\uc73c\ub85c POI \uc774\ub984 \u2192 \ub300\uccb4 \ud6c4\ubcf4 \ub515\uc154\ub108\ub9ac \ubc18\ud658. Minimal Interference \uc6d0\uce59(\uc7ac\ubc30\uce58 \u2192 \uc2dc\uac04\uc870\uc815 \u2192\u2026", "file_type": "rationale", "source_file": "src/validation/alternatives.py", "source_location": "L98"}], "edges": [{"source": "$graphify-root$_src_validation_alternatives_py", "target": "math", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/validation/alternatives.py", "source_location": "L23", "weight": 1.0}, {"source": "$graphify-root$_src_validation_alternatives_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/validation/alternatives.py", "source_location": "L24", "weight": 1.0}, {"source": "$graphify-root$_src_validation_alternatives_py", "target": "src_data_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/validation/alternatives.py", "source_location": "L26", "weight": 1.0}, {"source": "$graphify-root$_src_validation_alternatives_py", "target": "$graphify-root$_src_validation_alternatives_haversine_km", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/validation/alternatives.py", "source_location": "L32", "weight": 1.0}, {"source": "$graphify-root$_src_validation_alternatives_py", "target": "$graphify-root$_src_validation_alternatives_alternativesfinder", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/validation/alternatives.py", "source_location": "L40", "weight": 1.0}, {"source": "$graphify-root$_src_validation_alternatives_alternativesfinder", "target": "$graphify-root$_src_validation_alternatives_alternativesfinder_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/validation/alternatives.py", "source_location": "L49", "weight": 1.0}, {"source": "$graphify-root$_src_validation_alternatives_alternativesfinder_init", "target": "poi", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/validation/alternatives.py", "source_location": "L49", "weight": 1.0}, {"source": "$graphify-root$_src_validation_alternatives_alternativesfinder", "target": "$graphify-root$_src_validation_alternatives_alternativesfinder_find_alternatives", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/validation/alternatives.py", "source_location": "L59", "weight": 1.0}, {"source": "$graphify-root$_src_validation_alternatives_alternativesfinder_find_alternatives", "target": "poi", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/validation/alternatives.py", "source_location": "L59", "weight": 1.0}, {"source": "$graphify-root$_src_validation_alternatives_alternativesfinder_find_alternatives", "target": "alternativepoi", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/validation/alternatives.py", "source_location": "L59", "weight": 1.0}, {"source": "$graphify-root$_src_validation_alternatives_alternativesfinder", "target": "$graphify-root$_src_validation_alternatives_alternativesfinder_build_alternatives_map", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/validation/alternatives.py", "source_location": "L92", "weight": 1.0}, {"source": "$graphify-root$_src_validation_alternatives_alternativesfinder_build_alternatives_map", "target": "hardfail", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/validation/alternatives.py", "source_location": "L92", "weight": 1.0}, {"source": "$graphify-root$_src_validation_alternatives_alternativesfinder_build_alternatives_map", "target": "poi", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/validation/alternatives.py", "source_location": "L92", "weight": 1.0}, {"source": "$graphify-root$_src_validation_alternatives_alternativesfinder_build_alternatives_map", "target": "alternativepoi", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/validation/alternatives.py", "source_location": "L92", "weight": 1.0}, {"source": "$graphify-root$_src_validation_alternatives_alternativesfinder_find_alternatives", "target": "$graphify-root$_src_validation_alternatives_haversine_km", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/validation/alternatives.py", "source_location": "L74", "weight": 1.0}, {"source": "$graphify-root$_src_validation_alternatives_alternativesfinder_find_alternatives", "target": "alternativepoi", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/validation/alternatives.py", "source_location": "L82", "weight": 1.0}, {"source": "$graphify-root$_src_validation_alternatives_alternativesfinder_build_alternatives_map", "target": "$graphify-root$_src_validation_alternatives_alternativesfinder_find_alternatives", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/validation/alternatives.py", "source_location": "L117", "weight": 1.0}, {"source": "$graphify-root$_src_validation_alternatives_rationale_1", "target": "$graphify-root$_src_validation_alternatives_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/validation/alternatives.py", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_src_validation_alternatives_rationale_41", "target": "$graphify-root$_src_validation_alternatives_alternativesfinder", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/validation/alternatives.py", "source_location": "L41", "weight": 1.0}, {"source": "$graphify-root$_src_validation_alternatives_rationale_64", "target": "$graphify-root$_src_validation_alternatives_alternativesfinder_find_alternatives", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/validation/alternatives.py", "source_location": "L64", "weight": 1.0}, {"source": "$graphify-root$_src_validation_alternatives_rationale_98", "target": "$graphify-root$_src_validation_alternatives_alternativesfinder_build_alternatives_map", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/validation/alternatives.py", "source_location": "L98", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_src_validation_alternatives_haversine_km", "callee": "radians", "is_member_call": true, "source_file": "src/validation/alternatives.py", "source_location": "L33", "receiver": "math"}, {"caller_nid": "$graphify-root$_src_validation_alternatives_haversine_km", "callee": "radians", "is_member_call": true, "source_file": "src/validation/alternatives.py", "source_location": "L33", "receiver": "math"}, {"caller_nid": "$graphify-root$_src_validation_alternatives_haversine_km", "callee": "radians", "is_member_call": true, "source_file": "src/validation/alternatives.py", "source_location": "L34", "receiver": "math"}, {"caller_nid": "$graphify-root$_src_validation_alternatives_haversine_km", "callee": "radians", "is_member_call": true, "source_file": "src/validation/alternatives.py", "source_location": "L35", "receiver": "math"}, {"caller_nid": "$graphify-root$_src_validation_alternatives_haversine_km", "callee": "sin", "is_member_call": true, "source_file": "src/validation/alternatives.py", "source_location": "L36", "receiver": "math"}, {"caller_nid": "$graphify-root$_src_validation_alternatives_haversine_km", "callee": "cos", "is_member_call": true, "source_file": "src/validation/alternatives.py", "source_location": "L36", "receiver": "math"}, {"caller_nid": "$graphify-root$_src_validation_alternatives_haversine_km", "callee": "cos", "is_member_call": true, "source_file": "src/validation/alternatives.py", "source_location": "L36", "receiver": "math"}, {"caller_nid": "$graphify-root$_src_validation_alternatives_haversine_km", "callee": "sin", "is_member_call": true, "source_file": "src/validation/alternatives.py", "source_location": "L36", "receiver": "math"}, {"caller_nid": "$graphify-root$_src_validation_alternatives_haversine_km", "callee": "asin", "is_member_call": true, "source_file": "src/validation/alternatives.py", "source_location": "L37", "receiver": "math"}, {"caller_nid": "$graphify-root$_src_validation_alternatives_haversine_km", "callee": "sqrt", "is_member_call": true, "source_file": "src/validation/alternatives.py", "source_location": "L37", "receiver": "math"}, {"caller_nid": "$graphify-root$_src_validation_alternatives_alternativesfinder_find_alternatives", "callee": "append", "is_member_call": true, "source_file": "src/validation/alternatives.py", "source_location": "L76", "receiver": "candidates"}, {"caller_nid": "$graphify-root$_src_validation_alternatives_alternativesfinder_find_alternatives", "callee": "sort", "is_member_call": true, "source_file": "src/validation/alternatives.py", "source_location": "L79", "receiver": "candidates"}, {"caller_nid": "$graphify-root$_src_validation_alternatives_alternativesfinder_build_alternatives_map", "callee": "get", "is_member_call": true, "source_file": "src/validation/alternatives.py", "source_location": "L114", "receiver": "poi_by_name"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/ef103c9e60e513d31184619cc642392b827076a5f855a1a23eededc4d9efd764.json b/graphify-out/cache/ast/v0.9.31/ef103c9e60e513d31184619cc642392b827076a5f855a1a23eededc4d9efd764.json new file mode 100644 index 0000000..a3f46bb --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/ef103c9e60e513d31184619cc642392b827076a5f855a1a23eededc4d9efd764.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_tests_test_region_config_py", "label": "test_region_config.py", "file_type": "code", "source_file": "tests/test_region_config.py", "source_location": "L1"}, {"id": "$graphify-root$_tests_test_region_config_testgetthresholds", "label": "TestGetThresholds", "file_type": "code", "source_file": "tests/test_region_config.py", "source_location": "L12", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_tests_test_region_config_testgetthresholds_test_seoul_code_returns_high", "label": ".test_seoul_code_returns_high()", "file_type": "code", "source_file": "tests/test_region_config.py", "source_location": "L13", "_callable": true}, {"id": "$graphify-root$_tests_test_region_config_testgetthresholds_test_busan_code_returns_high", "label": ".test_busan_code_returns_high()", "file_type": "code", "source_file": "tests/test_region_config.py", "source_location": "L16", "_callable": true}, {"id": "$graphify-root$_tests_test_region_config_testgetthresholds_test_daegu_code_returns_medium", "label": ".test_daegu_code_returns_medium()", "file_type": "code", "source_file": "tests/test_region_config.py", "source_location": "L19", "_callable": true}, {"id": "$graphify-root$_tests_test_region_config_testgetthresholds_test_rural_code_returns_low", "label": ".test_rural_code_returns_low()", "file_type": "code", "source_file": "tests/test_region_config.py", "source_location": "L22", "_callable": true}, {"id": "$graphify-root$_tests_test_region_config_testgetthresholds_test_none_returns_medium", "label": ".test_none_returns_medium()", "file_type": "code", "source_file": "tests/test_region_config.py", "source_location": "L25", "_callable": true}, {"id": "$graphify-root$_tests_test_region_config_testgetthresholds_test_unknown_code_returns_low", "label": ".test_unknown_code_returns_low()", "file_type": "code", "source_file": "tests/test_region_config.py", "source_location": "L28", "_callable": true}, {"id": "$graphify-root$_tests_test_region_config_testgetthresholds_test_high_dist_warn_smaller_than_low", "label": ".test_high_dist_warn_smaller_than_low()", "file_type": "code", "source_file": "tests/test_region_config.py", "source_location": "L31", "_callable": true}, {"id": "$graphify-root$_tests_test_region_config_testgetthresholds_test_high_physical_strain_smaller_than_low", "label": ".test_high_physical_strain_smaller_than_low()", "file_type": "code", "source_file": "tests/test_region_config.py", "source_location": "L34", "_callable": true}, {"id": "$graphify-root$_tests_test_region_config_testgetthresholds_test_tier_fields_ordered", "label": ".test_tier_fields_ordered()", "file_type": "code", "source_file": "tests/test_region_config.py", "source_location": "L37", "_callable": true}, {"id": "$graphify-root$_tests_test_region_config_rationale_1", "label": "RegionThresholds \uc720\ub2db \ud14c\uc2a4\ud2b8.", "file_type": "rationale", "source_file": "tests/test_region_config.py", "source_location": "L1"}], "edges": [{"source": "$graphify-root$_tests_test_region_config_py", "target": "src_data_region_config", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_region_config.py", "source_location": "L4", "weight": 1.0}, {"source": "$graphify-root$_tests_test_region_config_py", "target": "$graphify-root$_tests_test_region_config_testgetthresholds", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_region_config.py", "source_location": "L12", "weight": 1.0}, {"source": "$graphify-root$_tests_test_region_config_testgetthresholds", "target": "$graphify-root$_tests_test_region_config_testgetthresholds_test_seoul_code_returns_high", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_region_config.py", "source_location": "L13", "weight": 1.0}, {"source": "$graphify-root$_tests_test_region_config_testgetthresholds", "target": "$graphify-root$_tests_test_region_config_testgetthresholds_test_busan_code_returns_high", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_region_config.py", "source_location": "L16", "weight": 1.0}, {"source": "$graphify-root$_tests_test_region_config_testgetthresholds", "target": "$graphify-root$_tests_test_region_config_testgetthresholds_test_daegu_code_returns_medium", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_region_config.py", "source_location": "L19", "weight": 1.0}, {"source": "$graphify-root$_tests_test_region_config_testgetthresholds", "target": "$graphify-root$_tests_test_region_config_testgetthresholds_test_rural_code_returns_low", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_region_config.py", "source_location": "L22", "weight": 1.0}, {"source": "$graphify-root$_tests_test_region_config_testgetthresholds", "target": "$graphify-root$_tests_test_region_config_testgetthresholds_test_none_returns_medium", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_region_config.py", "source_location": "L25", "weight": 1.0}, {"source": "$graphify-root$_tests_test_region_config_testgetthresholds", "target": "$graphify-root$_tests_test_region_config_testgetthresholds_test_unknown_code_returns_low", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_region_config.py", "source_location": "L28", "weight": 1.0}, {"source": "$graphify-root$_tests_test_region_config_testgetthresholds", "target": "$graphify-root$_tests_test_region_config_testgetthresholds_test_high_dist_warn_smaller_than_low", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_region_config.py", "source_location": "L31", "weight": 1.0}, {"source": "$graphify-root$_tests_test_region_config_testgetthresholds", "target": "$graphify-root$_tests_test_region_config_testgetthresholds_test_high_physical_strain_smaller_than_low", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_region_config.py", "source_location": "L34", "weight": 1.0}, {"source": "$graphify-root$_tests_test_region_config_testgetthresholds", "target": "$graphify-root$_tests_test_region_config_testgetthresholds_test_tier_fields_ordered", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/test_region_config.py", "source_location": "L37", "weight": 1.0}, {"source": "$graphify-root$_tests_test_region_config_rationale_1", "target": "$graphify-root$_tests_test_region_config_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "tests/test_region_config.py", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_tests_test_region_config_testgetthresholds_test_seoul_code_returns_high", "callee": "get_thresholds", "is_member_call": false, "source_file": "tests/test_region_config.py", "source_location": "L14", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_region_config_testgetthresholds_test_busan_code_returns_high", "callee": "get_thresholds", "is_member_call": false, "source_file": "tests/test_region_config.py", "source_location": "L17", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_region_config_testgetthresholds_test_daegu_code_returns_medium", "callee": "get_thresholds", "is_member_call": false, "source_file": "tests/test_region_config.py", "source_location": "L20", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_region_config_testgetthresholds_test_rural_code_returns_low", "callee": "get_thresholds", "is_member_call": false, "source_file": "tests/test_region_config.py", "source_location": "L23", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_region_config_testgetthresholds_test_none_returns_medium", "callee": "get_thresholds", "is_member_call": false, "source_file": "tests/test_region_config.py", "source_location": "L26", "receiver": null}, {"caller_nid": "$graphify-root$_tests_test_region_config_testgetthresholds_test_unknown_code_returns_low", "callee": "get_thresholds", "is_member_call": false, "source_file": "tests/test_region_config.py", "source_location": "L29", "receiver": null}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/f2ddc4c32d3ace6eb5786bbe136168ec6286d22339b0c2b5fba5c5411ba3db33.json b/graphify-out/cache/ast/v0.9.31/f2ddc4c32d3ace6eb5786bbe136168ec6286d22339b0c2b5fba5c5411ba3db33.json new file mode 100644 index 0000000..b72fdbe --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/f2ddc4c32d3ace6eb5786bbe136168ec6286d22339b0c2b5fba5c5411ba3db33.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_src_init_py", "label": "__init__.py", "file_type": "code", "source_file": "src/__init__.py", "source_location": "L1"}], "edges": [], "raw_calls": []} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/f2f82fb7d4e09432e8b04a83a983b4f9aced3d9249e58d9f36558841ac9aa8a6.json b/graphify-out/cache/ast/v0.9.31/f2f82fb7d4e09432e8b04a83a983b4f9aced3d9249e58d9f36558841ac9aa8a6.json new file mode 100644 index 0000000..24fe996 --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/f2f82fb7d4e09432e8b04a83a983b4f9aced3d9249e58d9f36558841ac9aa8a6.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_src_data_dwell_db_py", "label": "dwell_db.py", "file_type": "code", "source_file": "src/data/dwell_db.py", "source_location": "L1"}, {"id": "$graphify-root$_src_data_dwell_db_dwellrecommendation", "label": "DwellRecommendation", "file_type": "code", "source_file": "src/data/dwell_db.py", "source_location": "L21", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_src_data_dwell_db_dwellrecommendation_is_too_short", "label": ".is_too_short()", "file_type": "code", "source_file": "src/data/dwell_db.py", "source_location": "L27", "_callable": true}, {"id": "$graphify-root$_src_data_dwell_db_normalize_name", "label": "_normalize_name()", "file_type": "code", "source_file": "src/data/dwell_db.py", "source_location": "L181", "_callable": true}, {"id": "$graphify-root$_src_data_dwell_db_get_recommended_dwell", "label": "get_recommended_dwell()", "file_type": "code", "source_file": "src/data/dwell_db.py", "source_location": "L192", "_callable": true}, {"id": "$graphify-root$_src_data_dwell_db_rationale_1", "label": "\uad8c\uc7a5 \uccb4\ub958\uc2dc\uac04 \ub370\uc774\ud130\ubca0\uc774\uc2a4 (\ud558\uc774\ube0c\ub9ac\ub4dc \ub8e9\uc5c5). 5\ub2e8\uacc4 \ud3f4\ubc31 \uc6b0\uc120\uc21c\uc704\ub85c (min, max) \ubd84 \ub2e8\uc704 \uad8c\uc7a5 \uccb4\ub958\uc2dc\uac04\uc744 \ubc18\ud658: 1.\u2026", "file_type": "rationale", "source_file": "src/data/dwell_db.py", "source_location": "L1"}, {"id": "$graphify-root$_src_data_dwell_db_rationale_28", "label": "\uc0ac\uc6a9\uc790 \uc785\ub825\uc774 \uad8c\uc7a5 min\uc758 ratio(\uae30\ubcf8 50%) \ubbf8\ub9cc\uc774\uba74 True.", "file_type": "rationale", "source_file": "src/data/dwell_db.py", "source_location": "L28"}, {"id": "$graphify-root$_src_data_dwell_db_rationale_182", "label": "\uc774\ub984 \uc815\uaddc\ud654: \uacf5\ubc31\u00b7\ud2b9\uc218\ubb38\uc790 \uc81c\uac70 \ud6c4 \uc18c\ubb38\uc790.", "file_type": "rationale", "source_file": "src/data/dwell_db.py", "source_location": "L182"}, {"id": "$graphify-root$_src_data_dwell_db_rationale_198", "label": "5\ub2e8\uacc4 \ud3f4\ubc31\uc73c\ub85c \uad8c\uc7a5 \uccb4\ub958\uc2dc\uac04 \ubc18\ud658. \uc778\uc790 ---- name : POI \uc774\ub984 (\ud544\uc218) lcls_systm3 : \"VE0101\" \uac19\uc740\u2026", "file_type": "rationale", "source_file": "src/data/dwell_db.py", "source_location": "L198"}], "edges": [{"source": "$graphify-root$_src_data_dwell_db_py", "target": "dataclasses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/data/dwell_db.py", "source_location": "L14", "weight": 1.0}, {"source": "$graphify-root$_src_data_dwell_db_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/data/dwell_db.py", "source_location": "L15", "weight": 1.0}, {"source": "$graphify-root$_src_data_dwell_db_py", "target": "$graphify-root$_src_data_dwell_db_dwellrecommendation", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/data/dwell_db.py", "source_location": "L21", "weight": 1.0}, {"source": "$graphify-root$_src_data_dwell_db_dwellrecommendation", "target": "$graphify-root$_src_data_dwell_db_dwellrecommendation_is_too_short", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/data/dwell_db.py", "source_location": "L27", "weight": 1.0}, {"source": "$graphify-root$_src_data_dwell_db_py", "target": "$graphify-root$_src_data_dwell_db_normalize_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/data/dwell_db.py", "source_location": "L181", "weight": 1.0}, {"source": "$graphify-root$_src_data_dwell_db_py", "target": "$graphify-root$_src_data_dwell_db_get_recommended_dwell", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/data/dwell_db.py", "source_location": "L192", "weight": 1.0}, {"source": "$graphify-root$_src_data_dwell_db_get_recommended_dwell", "target": "$graphify-root$_src_data_dwell_db_dwellrecommendation", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "src/data/dwell_db.py", "source_location": "L192", "weight": 1.0}, {"source": "$graphify-root$_src_data_dwell_db_get_recommended_dwell", "target": "$graphify-root$_src_data_dwell_db_normalize_name", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/data/dwell_db.py", "source_location": "L212", "weight": 1.0}, {"source": "$graphify-root$_src_data_dwell_db_get_recommended_dwell", "target": "$graphify-root$_src_data_dwell_db_dwellrecommendation", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/data/dwell_db.py", "source_location": "L215", "weight": 1.0}, {"source": "$graphify-root$_src_data_dwell_db_rationale_1", "target": "$graphify-root$_src_data_dwell_db_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/data/dwell_db.py", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_src_data_dwell_db_rationale_28", "target": "$graphify-root$_src_data_dwell_db_dwellrecommendation_is_too_short", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/data/dwell_db.py", "source_location": "L28", "weight": 1.0}, {"source": "$graphify-root$_src_data_dwell_db_rationale_182", "target": "$graphify-root$_src_data_dwell_db_normalize_name", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/data/dwell_db.py", "source_location": "L182", "weight": 1.0}, {"source": "$graphify-root$_src_data_dwell_db_rationale_198", "target": "$graphify-root$_src_data_dwell_db_get_recommended_dwell", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/data/dwell_db.py", "source_location": "L198", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_src_data_dwell_db_normalize_name", "callee": "replace", "is_member_call": true, "source_file": "src/data/dwell_db.py", "source_location": "L183", "receiver": null}, {"caller_nid": "$graphify-root$_src_data_dwell_db_normalize_name", "callee": "replace", "is_member_call": true, "source_file": "src/data/dwell_db.py", "source_location": "L183", "receiver": null}, {"caller_nid": "$graphify-root$_src_data_dwell_db_normalize_name", "callee": "lower", "is_member_call": true, "source_file": "src/data/dwell_db.py", "source_location": "L183", "receiver": null}, {"caller_nid": "$graphify-root$_src_data_dwell_db_normalize_name", "callee": "join", "is_member_call": true, "source_file": "src/data/dwell_db.py", "source_location": "L183", "receiver": null}, {"caller_nid": "$graphify-root$_src_data_dwell_db_normalize_name", "callee": "split", "is_member_call": true, "source_file": "src/data/dwell_db.py", "source_location": "L183", "receiver": "name"}, {"caller_nid": "$graphify-root$_src_data_dwell_db_get_recommended_dwell", "callee": "DEFAULT_DWELL", "is_member_call": false, "indirect": true, "context": "assignment", "source_file": "src/data/dwell_db.py", "source_location": "L235"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/f50f70785c6271e4491a7a11522d57a9f692e307cfe5262e21fd624e12c72369.json b/graphify-out/cache/ast/v0.9.31/f50f70785c6271e4491a7a11522d57a9f692e307cfe5262e21fd624e12c72369.json new file mode 100644 index 0000000..4fc9e56 --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/f50f70785c6271e4491a7a11522d57a9f692e307cfe5262e21fd624e12c72369.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_src_explain_pipeline_py", "label": "pipeline.py", "file_type": "code", "source_file": "src/explain/pipeline.py", "source_location": "L1"}, {"id": "$graphify-root$_src_explain_pipeline_to_vrptw_day", "label": "_to_vrptw_day()", "file_type": "code", "source_file": "src/explain/pipeline.py", "source_location": "L53", "_callable": true}, {"id": "poi", "label": "POI", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/explain/pipeline.py"}, {"id": "vrptwday", "label": "VRPTWDay", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/explain/pipeline.py"}, {"id": "$graphify-root$_src_explain_pipeline_to_poi_with_category", "label": "_to_poi_with_category()", "file_type": "code", "source_file": "src/explain/pipeline.py", "source_location": "L70", "_callable": true}, {"id": "poiwithcategory", "label": "POIWithCategory", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/explain/pipeline.py"}, {"id": "$graphify-root$_src_explain_pipeline_scorebundle", "label": "_ScoreBundle", "file_type": "code", "source_file": "src/explain/pipeline.py", "source_location": "L83", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_src_explain_pipeline_validatorpipeline", "label": "ValidatorPipeline", "file_type": "code", "source_file": "src/explain/pipeline.py", "source_location": "L100", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_src_explain_pipeline_validatorpipeline_init", "label": ".__init__()", "file_type": "code", "source_file": "src/explain/pipeline.py", "source_location": "L103", "_callable": true}, {"id": "bonusengine", "label": "BonusEngine", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/explain/pipeline.py"}, {"id": "themealignmentjudge", "label": "ThemeAlignmentJudge", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/explain/pipeline.py"}, {"id": "explainengine", "label": "ExplainEngine", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/explain/pipeline.py"}, {"id": "$graphify-root$_src_explain_pipeline_validatorpipeline_run", "label": ".run()", "file_type": "code", "source_file": "src/explain/pipeline.py", "source_location": "L119", "_callable": true}, {"id": "itineraryplan", "label": "ItineraryPlan", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/explain/pipeline.py"}, {"id": "userpreferences", "label": "UserPreferences", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/explain/pipeline.py"}, {"id": "validationresult", "label": "ValidationResult", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/explain/pipeline.py"}, {"id": "$graphify-root$_src_explain_pipeline_validatorpipeline_score", "label": "._score()", "file_type": "code", "source_file": "src/explain/pipeline.py", "source_location": "L235", "_callable": true}, {"id": "$graphify-root$_src_explain_pipeline_validatorpipeline_estimate_repair_gains", "label": "._estimate_repair_gains()", "file_type": "code", "source_file": "src/explain/pipeline.py", "source_location": "L349", "_callable": true}, {"id": "repairresult", "label": "RepairResult", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/explain/pipeline.py"}, {"id": "$graphify-root$_src_explain_pipeline_rationale_1", "label": "ValidatorPipeline \u2014 \uc804\uccb4 QA \ud30c\uc774\ud504\ub77c\uc778 \uc624\ucf00\uc2a4\ud2b8\ub808\uc774\ud130. \ud750\ub984: 1. per-day HardFail \ud0d0\uc9c0 2. Warning\u2026", "file_type": "rationale", "source_file": "src/explain/pipeline.py", "source_location": "L1"}, {"id": "$graphify-root$_src_explain_pipeline_rationale_54", "label": "POI \ub9ac\uc2a4\ud2b8 \u2192 VRPTWDay \ubcc0\ud658.", "file_type": "rationale", "source_file": "src/explain/pipeline.py", "source_location": "L54"}, {"id": "$graphify-root$_src_explain_pipeline_rationale_84", "label": "1\u00b73\u00b73b\u00b74\u00b75\u00b76\u00b77\u00b78\ub2e8\uacc4(\uc810\uc218 \uacc4\uc0b0)\ub9cc\uc758 \uacb0\uacfc. Warning\u00b7Repair\u00b7Explain \ubbf8\ud3ec\ud568.", "file_type": "rationale", "source_file": "src/explain/pipeline.py", "source_location": "L84"}, {"id": "$graphify-root$_src_explain_pipeline_rationale_101", "label": "\uc804\uccb4 \uac80\uc99d \ud30c\uc774\ud504\ub77c\uc778. External I/O = Claude API (ExplainEngine\u00b7ThemeAlignmentJudge).", "file_type": "rationale", "source_file": "src/explain/pipeline.py", "source_location": "L101"}, {"id": "$graphify-root$_src_explain_pipeline_rationale_128", "label": "\ud30c\uc774\ud504\ub77c\uc778 \uc2e4\ud589 \u2192 ValidationResult \ubc18\ud658. Args: plan: \uc5ec\ud589 \uacc4\ud68d (party_type, travel_type,\u2026", "file_type": "rationale", "source_file": "src/explain/pipeline.py", "source_location": "L128"}, {"id": "$graphify-root$_src_explain_pipeline_rationale_244", "label": "1\u00b73\u00b73b\u00b74\u00b75\u00b76\u00b77\u00b78\ub2e8\uacc4\ub9cc \uc2e4\ud589\ud574 \uc810\uc218\ub97c \uacc4\uc0b0\ud55c\ub2e4 (Warning\u00b7Repair\u00b7Explain \uc81c\uc678). RepairEngine \uc81c\uc548\uc758\u2026", "file_type": "rationale", "source_file": "src/explain/pipeline.py", "source_location": "L244"}, {"id": "$graphify-root$_src_explain_pipeline_rationale_357", "label": "\uad50\uc815 \uc81c\uc548\ubcc4 \uc608\uc0c1 \uc810\uc218 \ubcc0\ud654(`estimated_score_gain`)\uc640 \ubb38\uc81c \ud574\uc18c \uc5ec\ubd80(`resolves_hard_fail`)\ub97c \ucc44\uc6b4\ub2e4.\u2026", "file_type": "rationale", "source_file": "src/explain/pipeline.py", "source_location": "L357"}], "edges": [{"source": "$graphify-root$_src_explain_pipeline_py", "target": "dataclasses", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/explain/pipeline.py", "source_location": "L23", "weight": 1.0}, {"source": "$graphify-root$_src_explain_pipeline_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/explain/pipeline.py", "source_location": "L24", "weight": 1.0}, {"source": "$graphify-root$_src_explain_pipeline_py", "target": "src_data_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/explain/pipeline.py", "source_location": "L26", "weight": 1.0}, {"source": "$graphify-root$_src_explain_pipeline_py", "target": "src_data_theme_taxonomy", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/explain/pipeline.py", "source_location": "L36", "weight": 1.0}, {"source": "$graphify-root$_src_explain_pipeline_py", "target": "src_explain_explain_engine", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/explain/pipeline.py", "source_location": "L37", "weight": 1.0}, {"source": "$graphify-root$_src_explain_pipeline_py", "target": "src_explain_repair", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/explain/pipeline.py", "source_location": "L38", "weight": 1.0}, {"source": "$graphify-root$_src_explain_pipeline_py", "target": "src_scoring_bonus_engine", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/explain/pipeline.py", "source_location": "L39", "weight": 1.0}, {"source": "$graphify-root$_src_explain_pipeline_py", "target": "src_scoring_cluster_dispersion", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/explain/pipeline.py", "source_location": "L40", "weight": 1.0}, {"source": "$graphify-root$_src_explain_pipeline_py", "target": "src_scoring_reward_engine", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/explain/pipeline.py", "source_location": "L41", "weight": 1.0}, {"source": "$graphify-root$_src_explain_pipeline_py", "target": "src_scoring_theme_alignment", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/explain/pipeline.py", "source_location": "L42", "weight": 1.0}, {"source": "$graphify-root$_src_explain_pipeline_py", "target": "src_scoring_travel_ratio", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/explain/pipeline.py", "source_location": "L43", "weight": 1.0}, {"source": "$graphify-root$_src_explain_pipeline_py", "target": "src_validation_hard_fail", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/explain/pipeline.py", "source_location": "L44", "weight": 1.0}, {"source": "$graphify-root$_src_explain_pipeline_py", "target": "src_validation_scoring", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/explain/pipeline.py", "source_location": "L45", "weight": 1.0}, {"source": "$graphify-root$_src_explain_pipeline_py", "target": "src_validation_vrptw_engine", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/explain/pipeline.py", "source_location": "L46", "weight": 1.0}, {"source": "$graphify-root$_src_explain_pipeline_py", "target": "src_validation_warning", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/explain/pipeline.py", "source_location": "L47", "weight": 1.0}, {"source": "$graphify-root$_src_explain_pipeline_py", "target": "$graphify-root$_src_explain_pipeline_to_vrptw_day", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/explain/pipeline.py", "source_location": "L53", "weight": 1.0}, {"source": "$graphify-root$_src_explain_pipeline_to_vrptw_day", "target": "poi", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/explain/pipeline.py", "source_location": "L53", "weight": 1.0}, {"source": "$graphify-root$_src_explain_pipeline_to_vrptw_day", "target": "vrptwday", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "src/explain/pipeline.py", "source_location": "L53", "weight": 1.0}, {"source": "$graphify-root$_src_explain_pipeline_py", "target": "$graphify-root$_src_explain_pipeline_to_poi_with_category", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/explain/pipeline.py", "source_location": "L70", "weight": 1.0}, {"source": "$graphify-root$_src_explain_pipeline_to_poi_with_category", "target": "poi", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/explain/pipeline.py", "source_location": "L70", "weight": 1.0}, {"source": "$graphify-root$_src_explain_pipeline_to_poi_with_category", "target": "poiwithcategory", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/explain/pipeline.py", "source_location": "L70", "weight": 1.0}, {"source": "$graphify-root$_src_explain_pipeline_py", "target": "$graphify-root$_src_explain_pipeline_scorebundle", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/explain/pipeline.py", "source_location": "L83", "weight": 1.0}, {"source": "$graphify-root$_src_explain_pipeline_py", "target": "$graphify-root$_src_explain_pipeline_validatorpipeline", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/explain/pipeline.py", "source_location": "L100", "weight": 1.0}, {"source": "$graphify-root$_src_explain_pipeline_validatorpipeline", "target": "$graphify-root$_src_explain_pipeline_validatorpipeline_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/explain/pipeline.py", "source_location": "L103", "weight": 1.0}, {"source": "$graphify-root$_src_explain_pipeline_validatorpipeline_init", "target": "bonusengine", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/explain/pipeline.py", "source_location": "L103", "weight": 1.0}, {"source": "$graphify-root$_src_explain_pipeline_validatorpipeline_init", "target": "themealignmentjudge", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/explain/pipeline.py", "source_location": "L103", "weight": 1.0}, {"source": "$graphify-root$_src_explain_pipeline_validatorpipeline_init", "target": "explainengine", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/explain/pipeline.py", "source_location": "L103", "weight": 1.0}, {"source": "$graphify-root$_src_explain_pipeline_validatorpipeline", "target": "$graphify-root$_src_explain_pipeline_validatorpipeline_run", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/explain/pipeline.py", "source_location": "L119", "weight": 1.0}, {"source": "$graphify-root$_src_explain_pipeline_validatorpipeline_run", "target": "itineraryplan", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/explain/pipeline.py", "source_location": "L119", "weight": 1.0}, {"source": "$graphify-root$_src_explain_pipeline_validatorpipeline_run", "target": "poi", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/explain/pipeline.py", "source_location": "L119", "weight": 1.0}, {"source": "$graphify-root$_src_explain_pipeline_validatorpipeline_run", "target": "userpreferences", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/explain/pipeline.py", "source_location": "L119", "weight": 1.0}, {"source": "$graphify-root$_src_explain_pipeline_validatorpipeline_run", "target": "validationresult", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "src/explain/pipeline.py", "source_location": "L119", "weight": 1.0}, {"source": "$graphify-root$_src_explain_pipeline_validatorpipeline", "target": "$graphify-root$_src_explain_pipeline_validatorpipeline_score", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/explain/pipeline.py", "source_location": "L235", "weight": 1.0}, {"source": "$graphify-root$_src_explain_pipeline_validatorpipeline_score", "target": "itineraryplan", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/explain/pipeline.py", "source_location": "L235", "weight": 1.0}, {"source": "$graphify-root$_src_explain_pipeline_validatorpipeline_score", "target": "poi", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/explain/pipeline.py", "source_location": "L235", "weight": 1.0}, {"source": "$graphify-root$_src_explain_pipeline_validatorpipeline_score", "target": "userpreferences", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/explain/pipeline.py", "source_location": "L235", "weight": 1.0}, {"source": "$graphify-root$_src_explain_pipeline_validatorpipeline_score", "target": "$graphify-root$_src_explain_pipeline_scorebundle", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "src/explain/pipeline.py", "source_location": "L235", "weight": 1.0}, {"source": "$graphify-root$_src_explain_pipeline_validatorpipeline", "target": "$graphify-root$_src_explain_pipeline_validatorpipeline_estimate_repair_gains", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/explain/pipeline.py", "source_location": "L349", "weight": 1.0}, {"source": "$graphify-root$_src_explain_pipeline_validatorpipeline_estimate_repair_gains", "target": "itineraryplan", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/explain/pipeline.py", "source_location": "L349", "weight": 1.0}, {"source": "$graphify-root$_src_explain_pipeline_validatorpipeline_estimate_repair_gains", "target": "poi", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/explain/pipeline.py", "source_location": "L349", "weight": 1.0}, {"source": "$graphify-root$_src_explain_pipeline_validatorpipeline_estimate_repair_gains", "target": "repairresult", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/explain/pipeline.py", "source_location": "L349", "weight": 1.0}, {"source": "$graphify-root$_src_explain_pipeline_validatorpipeline_estimate_repair_gains", "target": "repairresult", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "src/explain/pipeline.py", "source_location": "L349", "weight": 1.0}, {"source": "$graphify-root$_src_explain_pipeline_to_vrptw_day", "target": "vrptwday", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/explain/pipeline.py", "source_location": "L67", "weight": 1.0}, {"source": "$graphify-root$_src_explain_pipeline_to_poi_with_category", "target": "poiwithcategory", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/explain/pipeline.py", "source_location": "L72", "weight": 1.0}, {"source": "$graphify-root$_src_explain_pipeline_validatorpipeline_init", "target": "themealignmentjudge", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/explain/pipeline.py", "source_location": "L116", "weight": 1.0}, {"source": "$graphify-root$_src_explain_pipeline_validatorpipeline_init", "target": "explainengine", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/explain/pipeline.py", "source_location": "L117", "weight": 1.0}, {"source": "$graphify-root$_src_explain_pipeline_validatorpipeline_run", "target": "$graphify-root$_src_explain_pipeline_validatorpipeline_score", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/explain/pipeline.py", "source_location": "L139", "weight": 1.0}, {"source": "$graphify-root$_src_explain_pipeline_validatorpipeline_run", "target": "$graphify-root$_src_explain_pipeline_validatorpipeline_estimate_repair_gains", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/explain/pipeline.py", "source_location": "L198", "weight": 1.0}, {"source": "$graphify-root$_src_explain_pipeline_validatorpipeline_run", "target": "validationresult", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/explain/pipeline.py", "source_location": "L217", "weight": 1.0}, {"source": "$graphify-root$_src_explain_pipeline_validatorpipeline_score", "target": "$graphify-root$_src_explain_pipeline_to_vrptw_day", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/explain/pipeline.py", "source_location": "L280", "weight": 1.0}, {"source": "$graphify-root$_src_explain_pipeline_validatorpipeline_score", "target": "$graphify-root$_src_explain_pipeline_to_poi_with_category", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/explain/pipeline.py", "source_location": "L314", "weight": 1.0}, {"source": "$graphify-root$_src_explain_pipeline_validatorpipeline_score", "target": "$graphify-root$_src_explain_pipeline_scorebundle", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/explain/pipeline.py", "source_location": "L333", "weight": 1.0}, {"source": "$graphify-root$_src_explain_pipeline_validatorpipeline_estimate_repair_gains", "target": "$graphify-root$_src_explain_pipeline_validatorpipeline_score", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/explain/pipeline.py", "source_location": "L365", "weight": 1.0}, {"source": "$graphify-root$_src_explain_pipeline_validatorpipeline_estimate_repair_gains", "target": "repairresult", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/explain/pipeline.py", "source_location": "L411", "weight": 1.0}, {"source": "$graphify-root$_src_explain_pipeline_rationale_1", "target": "$graphify-root$_src_explain_pipeline_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/explain/pipeline.py", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_src_explain_pipeline_rationale_54", "target": "$graphify-root$_src_explain_pipeline_to_vrptw_day", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/explain/pipeline.py", "source_location": "L54", "weight": 1.0}, {"source": "$graphify-root$_src_explain_pipeline_rationale_84", "target": "$graphify-root$_src_explain_pipeline_scorebundle", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/explain/pipeline.py", "source_location": "L84", "weight": 1.0}, {"source": "$graphify-root$_src_explain_pipeline_rationale_101", "target": "$graphify-root$_src_explain_pipeline_validatorpipeline", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/explain/pipeline.py", "source_location": "L101", "weight": 1.0}, {"source": "$graphify-root$_src_explain_pipeline_rationale_128", "target": "$graphify-root$_src_explain_pipeline_validatorpipeline_run", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/explain/pipeline.py", "source_location": "L128", "weight": 1.0}, {"source": "$graphify-root$_src_explain_pipeline_rationale_244", "target": "$graphify-root$_src_explain_pipeline_validatorpipeline_score", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/explain/pipeline.py", "source_location": "L244", "weight": 1.0}, {"source": "$graphify-root$_src_explain_pipeline_rationale_357", "target": "$graphify-root$_src_explain_pipeline_validatorpipeline_estimate_repair_gains", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/explain/pipeline.py", "source_location": "L357", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_src_explain_pipeline_to_vrptw_day", "callee": "VRPTWPlace", "is_member_call": false, "source_file": "src/explain/pipeline.py", "source_location": "L56", "receiver": null}, {"caller_nid": "$graphify-root$_src_explain_pipeline_validatorpipeline_init", "callee": "HardFailDetector", "is_member_call": false, "source_file": "src/explain/pipeline.py", "source_location": "L109", "receiver": null}, {"caller_nid": "$graphify-root$_src_explain_pipeline_validatorpipeline_init", "callee": "WarningDetector", "is_member_call": false, "source_file": "src/explain/pipeline.py", "source_location": "L110", "receiver": null}, {"caller_nid": "$graphify-root$_src_explain_pipeline_validatorpipeline_init", "callee": "ScoreCalculator", "is_member_call": false, "source_file": "src/explain/pipeline.py", "source_location": "L111", "receiver": null}, {"caller_nid": "$graphify-root$_src_explain_pipeline_validatorpipeline_init", "callee": "RepairEngine", "is_member_call": false, "source_file": "src/explain/pipeline.py", "source_location": "L112", "receiver": null}, {"caller_nid": "$graphify-root$_src_explain_pipeline_validatorpipeline_init", "callee": "from_dataset", "is_member_call": true, "source_file": "src/explain/pipeline.py", "source_location": "L113", "receiver": "BonusEngine"}, {"caller_nid": "$graphify-root$_src_explain_pipeline_validatorpipeline_init", "callee": "_DEFAULT_WELLNESS_PATH", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "src/explain/pipeline.py", "source_location": "L114"}, {"caller_nid": "$graphify-root$_src_explain_pipeline_validatorpipeline_init", "callee": "_DEFAULT_BARRIER_FREE_PATH", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "src/explain/pipeline.py", "source_location": "L114"}, {"caller_nid": "$graphify-root$_src_explain_pipeline_validatorpipeline_run", "callee": "detect", "is_member_call": true, "source_file": "src/explain/pipeline.py", "source_location": "L152", "receiver": null}, {"caller_nid": "$graphify-root$_src_explain_pipeline_validatorpipeline_run", "callee": "extend", "is_member_call": true, "source_file": "src/explain/pipeline.py", "source_location": "L153", "receiver": "warnings"}, {"caller_nid": "$graphify-root$_src_explain_pipeline_validatorpipeline_run", "callee": "extend", "is_member_call": true, "source_file": "src/explain/pipeline.py", "source_location": "L155", "receiver": "warnings"}, {"caller_nid": "$graphify-root$_src_explain_pipeline_validatorpipeline_run", "callee": "_check_purpose_mismatch", "is_member_call": true, "source_file": "src/explain/pipeline.py", "source_location": "L155", "receiver": null}, {"caller_nid": "$graphify-root$_src_explain_pipeline_validatorpipeline_run", "callee": "extend", "is_member_call": true, "source_file": "src/explain/pipeline.py", "source_location": "L158", "receiver": "warnings"}, {"caller_nid": "$graphify-root$_src_explain_pipeline_validatorpipeline_run", "callee": "check_cumulative_fatigue", "is_member_call": true, "source_file": "src/explain/pipeline.py", "source_location": "L159", "receiver": null}, {"caller_nid": "$graphify-root$_src_explain_pipeline_validatorpipeline_run", "callee": "generate_rewards", "is_member_call": false, "source_file": "src/explain/pipeline.py", "source_location": "L162", "receiver": null}, {"caller_nid": "$graphify-root$_src_explain_pipeline_validatorpipeline_run", "callee": "repair", "is_member_call": true, "source_file": "src/explain/pipeline.py", "source_location": "L191", "receiver": null}, {"caller_nid": "$graphify-root$_src_explain_pipeline_validatorpipeline_run", "callee": "to_dict", "is_member_call": true, "source_file": "src/explain/pipeline.py", "source_location": "L201", "receiver": "repair_result"}, {"caller_nid": "$graphify-root$_src_explain_pipeline_validatorpipeline_run", "callee": "generate", "is_member_call": true, "source_file": "src/explain/pipeline.py", "source_location": "L204", "receiver": null}, {"caller_nid": "$graphify-root$_src_explain_pipeline_validatorpipeline_run", "callee": "build_alternatives", "is_member_call": true, "source_file": "src/explain/pipeline.py", "source_location": "L215", "receiver": null}, {"caller_nid": "$graphify-root$_src_explain_pipeline_validatorpipeline_score", "callee": "detect", "is_member_call": true, "source_file": "src/explain/pipeline.py", "source_location": "L256", "receiver": null}, {"caller_nid": "$graphify-root$_src_explain_pipeline_validatorpipeline_score", "callee": "extend", "is_member_call": true, "source_file": "src/explain/pipeline.py", "source_location": "L263", "receiver": "hard_fails"}, {"caller_nid": "$graphify-root$_src_explain_pipeline_validatorpipeline_score", "callee": "compute", "is_member_call": true, "source_file": "src/explain/pipeline.py", "source_location": "L269", "receiver": null}, {"caller_nid": "$graphify-root$_src_explain_pipeline_validatorpipeline_score", "callee": "Scores", "is_member_call": false, "source_file": "src/explain/pipeline.py", "source_location": "L273", "receiver": null}, {"caller_nid": "$graphify-root$_src_explain_pipeline_validatorpipeline_score", "callee": "validate", "is_member_call": true, "source_file": "src/explain/pipeline.py", "source_location": "L286", "receiver": null}, {"caller_nid": "$graphify-root$_src_explain_pipeline_validatorpipeline_score", "callee": "VRPTWEngine", "is_member_call": false, "source_file": "src/explain/pipeline.py", "source_location": "L286", "receiver": null}, {"caller_nid": "$graphify-root$_src_explain_pipeline_validatorpipeline_score", "callee": "VRPTWRequest", "is_member_call": false, "source_file": "src/explain/pipeline.py", "source_location": "L286", "receiver": null}, {"caller_nid": "$graphify-root$_src_explain_pipeline_validatorpipeline_score", "callee": "evaluate_cluster_dispersion", "is_member_call": false, "source_file": "src/explain/pipeline.py", "source_location": "L300", "receiver": null}, {"caller_nid": "$graphify-root$_src_explain_pipeline_validatorpipeline_score", "callee": "evaluate_travel_ratio", "is_member_call": false, "source_file": "src/explain/pipeline.py", "source_location": "L307", "receiver": null}, {"caller_nid": "$graphify-root$_src_explain_pipeline_validatorpipeline_score", "callee": "is_available", "is_member_call": true, "source_file": "src/explain/pipeline.py", "source_location": "L313", "receiver": null}, {"caller_nid": "$graphify-root$_src_explain_pipeline_validatorpipeline_score", "callee": "evaluate", "is_member_call": true, "source_file": "src/explain/pipeline.py", "source_location": "L315", "receiver": null}, {"caller_nid": "$graphify-root$_src_explain_pipeline_validatorpipeline_score", "callee": "compute", "is_member_call": true, "source_file": "src/explain/pipeline.py", "source_location": "L319", "receiver": null}, {"caller_nid": "$graphify-root$_src_explain_pipeline_validatorpipeline_score", "callee": "estimated", "is_member_call": false, "indirect": true, "context": "getattr", "source_file": "src/explain/pipeline.py", "source_location": "L329"}, {"caller_nid": "$graphify-root$_src_explain_pipeline_validatorpipeline_estimate_repair_gains", "callee": "simulate", "is_member_call": false, "source_file": "src/explain/pipeline.py", "source_location": "L386", "receiver": null}, {"caller_nid": "$graphify-root$_src_explain_pipeline_validatorpipeline_estimate_repair_gains", "callee": "append", "is_member_call": true, "source_file": "src/explain/pipeline.py", "source_location": "L387", "receiver": "reorders"}, {"caller_nid": "$graphify-root$_src_explain_pipeline_validatorpipeline_estimate_repair_gains", "callee": "replace", "is_member_call": true, "source_file": "src/explain/pipeline.py", "source_location": "L387", "receiver": "dataclasses"}, {"caller_nid": "$graphify-root$_src_explain_pipeline_validatorpipeline_estimate_repair_gains", "callee": "model_copy", "is_member_call": true, "source_file": "src/explain/pipeline.py", "source_location": "L394", "receiver": "p"}, {"caller_nid": "$graphify-root$_src_explain_pipeline_validatorpipeline_estimate_repair_gains", "callee": "simulate", "is_member_call": false, "source_file": "src/explain/pipeline.py", "source_location": "L398", "receiver": null}, {"caller_nid": "$graphify-root$_src_explain_pipeline_validatorpipeline_estimate_repair_gains", "callee": "append", "is_member_call": true, "source_file": "src/explain/pipeline.py", "source_location": "L399", "receiver": "time_tunes"}, {"caller_nid": "$graphify-root$_src_explain_pipeline_validatorpipeline_estimate_repair_gains", "callee": "replace", "is_member_call": true, "source_file": "src/explain/pipeline.py", "source_location": "L399", "receiver": "dataclasses"}, {"caller_nid": "$graphify-root$_src_explain_pipeline_validatorpipeline_estimate_repair_gains", "callee": "simulate", "is_member_call": false, "source_file": "src/explain/pipeline.py", "source_location": "L406", "receiver": null}, {"caller_nid": "$graphify-root$_src_explain_pipeline_validatorpipeline_estimate_repair_gains", "callee": "append", "is_member_call": true, "source_file": "src/explain/pipeline.py", "source_location": "L407", "receiver": "deletions"}, {"caller_nid": "$graphify-root$_src_explain_pipeline_validatorpipeline_estimate_repair_gains", "callee": "replace", "is_member_call": true, "source_file": "src/explain/pipeline.py", "source_location": "L407", "receiver": "dataclasses"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/f58d648f7d654e139b8981865f151ded76f0abe21e2d09b1dec2eb3f39771dc7.json b/graphify-out/cache/ast/v0.9.31/f58d648f7d654e139b8981865f151ded76f0abe21e2d09b1dec2eb3f39771dc7.json new file mode 100644 index 0000000..76150b5 --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/f58d648f7d654e139b8981865f151ded76f0abe21e2d09b1dec2eb3f39771dc7.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_src_data_models_py", "label": "models.py", "file_type": "code", "source_file": "src/data/models.py", "source_location": "L1"}, {"id": "$graphify-root$_src_data_models_kakaoplace", "label": "KakaoPlace", "file_type": "code", "source_file": "src/data/models.py", "source_location": "L22", "_callable": true, "_callable_class": true}, {"id": "basemodel", "label": "BaseModel", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/data/models.py"}, {"id": "$graphify-root$_src_data_models_placeevidence", "label": "PlaceEvidence", "file_type": "code", "source_file": "src/data/models.py", "source_location": "L34", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_src_data_models_hardfail", "label": "HardFail", "file_type": "code", "source_file": "src/data/models.py", "source_location": "L47", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_src_data_models_warning", "label": "Warning", "file_type": "code", "source_file": "src/data/models.py", "source_location": "L64", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_src_data_models_scores", "label": "Scores", "file_type": "code", "source_file": "src/data/models.py", "source_location": "L81", "_callable": true, "_callable_class": true}, {"id": "model_validator", "label": "model_validator", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/data/models.py"}, {"id": "$graphify-root$_src_data_models_scores_validate_ranges", "label": ".validate_ranges()", "file_type": "code", "source_file": "src/data/models.py", "source_location": "L89", "_callable": true}, {"id": "$graphify-root$_src_data_models_alternativepoi", "label": "AlternativePOI", "file_type": "code", "source_file": "src/data/models.py", "source_location": "L97", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_src_data_models_poi", "label": "POI", "file_type": "code", "source_file": "src/data/models.py", "source_location": "L105", "_callable": true, "_callable_class": true}, {"id": "field_validator", "label": "field_validator", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/data/models.py"}, {"id": "$graphify-root$_src_data_models_poi_poi_id_not_empty", "label": ".poi_id_not_empty()", "file_type": "code", "source_file": "src/data/models.py", "source_location": "L121", "_callable": true}, {"id": "$graphify-root$_src_data_models_poi_validate_lat", "label": ".validate_lat()", "file_type": "code", "source_file": "src/data/models.py", "source_location": "L128", "_callable": true}, {"id": "$graphify-root$_src_data_models_poi_validate_lng", "label": ".validate_lng()", "file_type": "code", "source_file": "src/data/models.py", "source_location": "L135", "_callable": true}, {"id": "$graphify-root$_src_data_models_poi_validate_hhmm", "label": ".validate_hhmm()", "file_type": "code", "source_file": "src/data/models.py", "source_location": "L142", "_callable": true}, {"id": "$graphify-root$_src_data_models_poi_validate_duration", "label": ".validate_duration()", "file_type": "code", "source_file": "src/data/models.py", "source_location": "L152", "_callable": true}, {"id": "$graphify-root$_src_data_models_placeinput", "label": "PlaceInput", "file_type": "code", "source_file": "src/data/models.py", "source_location": "L158", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_src_data_models_placeinput_validate_order", "label": ".validate_order()", "file_type": "code", "source_file": "src/data/models.py", "source_location": "L165", "_callable": true}, {"id": "$graphify-root$_src_data_models_dayplan", "label": "DayPlan", "file_type": "code", "source_file": "src/data/models.py", "source_location": "L173", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_src_data_models_dayplan_validate_place_count", "label": ".validate_place_count()", "file_type": "code", "source_file": "src/data/models.py", "source_location": "L179", "_callable": true}, {"id": "$graphify-root$_src_data_models_dayplan_auto_fill_visit_order", "label": ".auto_fill_visit_order()", "file_type": "code", "source_file": "src/data/models.py", "source_location": "L187", "_callable": true}, {"id": "$graphify-root$_src_data_models_itineraryplan", "label": "ItineraryPlan", "file_type": "code", "source_file": "src/data/models.py", "source_location": "L195", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_src_data_models_itineraryplan_validate_days", "label": ".validate_days()", "file_type": "code", "source_file": "src/data/models.py", "source_location": "L204", "_callable": true}, {"id": "computed_field", "label": "computed_field", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/data/models.py"}, {"id": "$graphify-root$_src_data_models_itineraryplan_travel_days", "label": ".travel_days()", "file_type": "code", "source_file": "src/data/models.py", "source_location": "L212", "_callable": true}, {"id": "$graphify-root$_src_data_models_itineraryplan_plan_id", "label": ".plan_id()", "file_type": "code", "source_file": "src/data/models.py", "source_location": "L216", "_callable": true}, {"id": "$graphify-root$_src_data_models_validationresult", "label": "ValidationResult", "file_type": "code", "source_file": "src/data/models.py", "source_location": "L225", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_src_data_models_validationresult_validate_score_range", "label": ".validate_score_range()", "file_type": "code", "source_file": "src/data/models.py", "source_location": "L244", "_callable": true}, {"id": "$graphify-root$_src_data_models_validationresult_hard_fail_score_cap", "label": ".hard_fail_score_cap()", "file_type": "code", "source_file": "src/data/models.py", "source_location": "L250", "_callable": true}, {"id": "$graphify-root$_src_data_models_settings", "label": "Settings", "file_type": "code", "source_file": "src/data/models.py", "source_location": "L256", "_callable": true, "_callable_class": true}, {"id": "basesettings", "label": "BaseSettings", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/data/models.py"}, {"id": "$graphify-root$_src_data_models_settings_fill_gov_api_keys", "label": ".fill_gov_api_keys()", "file_type": "code", "source_file": "src/data/models.py", "source_location": "L269", "_callable": true}, {"id": "$graphify-root$_src_data_models_vrptwplace", "label": "VRPTWPlace", "file_type": "code", "source_file": "src/data/models.py", "source_location": "L283", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_src_data_models_vrptwplace_validate_hhmm", "label": ".validate_hhmm()", "file_type": "code", "source_file": "src/data/models.py", "source_location": "L294", "_callable": true}, {"id": "$graphify-root$_src_data_models_vrptwplace_validate_lat", "label": ".validate_lat()", "file_type": "code", "source_file": "src/data/models.py", "source_location": "L304", "_callable": true}, {"id": "$graphify-root$_src_data_models_vrptwplace_validate_lng", "label": ".validate_lng()", "file_type": "code", "source_file": "src/data/models.py", "source_location": "L311", "_callable": true}, {"id": "$graphify-root$_src_data_models_vrptwplace_validate_stay", "label": ".validate_stay()", "file_type": "code", "source_file": "src/data/models.py", "source_location": "L318", "_callable": true}, {"id": "$graphify-root$_src_data_models_vrptwplace_open_minutes", "label": ".open_minutes()", "file_type": "code", "source_file": "src/data/models.py", "source_location": "L324", "_callable": true}, {"id": "$graphify-root$_src_data_models_vrptwplace_close_minutes", "label": ".close_minutes()", "file_type": "code", "source_file": "src/data/models.py", "source_location": "L329", "_callable": true}, {"id": "$graphify-root$_src_data_models_vrptwday", "label": "VRPTWDay", "file_type": "code", "source_file": "src/data/models.py", "source_location": "L334", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_src_data_models_vrptwday_at_least_one", "label": ".at_least_one()", "file_type": "code", "source_file": "src/data/models.py", "source_location": "L339", "_callable": true}, {"id": "$graphify-root$_src_data_models_vrptwrequest", "label": "VRPTWRequest", "file_type": "code", "source_file": "src/data/models.py", "source_location": "L345", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_src_data_models_vrptwrequest_at_least_one_day", "label": ".at_least_one_day()", "file_type": "code", "source_file": "src/data/models.py", "source_location": "L350", "_callable": true}, {"id": "$graphify-root$_src_data_models_deepdiveitem", "label": "DeepDiveItem", "file_type": "code", "source_file": "src/data/models.py", "source_location": "L356", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_src_data_models_explanationitem", "label": "ExplanationItem", "file_type": "code", "source_file": "src/data/models.py", "source_location": "L363", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_src_data_models_dayroutecomparison", "label": "DayRouteComparison", "file_type": "code", "source_file": "src/data/models.py", "source_location": "L374", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_src_data_models_vrptwresult", "label": "VRPTWResult", "file_type": "code", "source_file": "src/data/models.py", "source_location": "L382", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_src_data_models_rationale_1", "label": "Pydantic models for travel plan validator (main app + VRPTW engine). NOTE: from\u2026", "file_type": "rationale", "source_file": "src/data/models.py", "source_location": "L1"}, {"id": "$graphify-root$_src_data_models_rationale_23", "label": "\uce74\uce74\uc624 \ub85c\uceec \ud0a4\uc6cc\ub4dc \uac80\uc0c9 \uacb0\uacfc 1\uac74 (\uc88c\ud45c\u00b7\uce74\ud14c\uace0\ub9ac\u00b7\uc8fc\uc18c).", "file_type": "rationale", "source_file": "src/data/models.py", "source_location": "L23"}, {"id": "$graphify-root$_src_data_models_rationale_35", "label": "\uc9c0\uc2dd\uadf8\ub798\ud504(Neo4j)\uc5d0\uc11c \uac80\uc0c9\ub41c \uc7a5\uc18c \uadfc\uac70 1\uac74 (Region \ucee8\ud14d\uc2a4\ud2b8 \ud3ec\ud568).", "file_type": "rationale", "source_file": "src/data/models.py", "source_location": "L35"}, {"id": "$graphify-root$_src_data_models_rationale_174", "label": "\ud558\ub8e8 \uc77c\uc815 \u2014 \uc7a5\uc18c \uc774\ub984\uacfc \ubc29\ubb38 \uc21c\uc11c \uc785\ub825.", "file_type": "rationale", "source_file": "src/data/models.py", "source_location": "L174"}, {"id": "$graphify-root$_src_data_models_rationale_188", "label": "visit_order \ubbf8\uc785\ub825 \uc2dc \ud574\ub2f9 \uc77c\uc790 \ub0b4 \ub9ac\uc2a4\ud2b8 \uc704\uce58(1-based)\ub85c \uc790\ub3d9 \ud560\ub2f9.", "file_type": "rationale", "source_file": "src/data/models.py", "source_location": "L188"}, {"id": "$graphify-root$_src_data_models_rationale_270", "label": "wellness_api_key / barrier_free_api_key \ubbf8\uc124\uc815 \uc2dc tour_api_key\ub85c \ub300\uccb4.", "file_type": "rationale", "source_file": "src/data/models.py", "source_location": "L270"}, {"id": "$graphify-root$_src_data_models_rationale_364", "label": "ExplainEngine\uc774 \uc0dd\uc131\ud558\ub294 4\ub2e8\uacc4 \uc124\uba85 \ud56d\ubaa9.", "file_type": "rationale", "source_file": "src/data/models.py", "source_location": "L364"}], "edges": [{"source": "$graphify-root$_src_data_models_py", "target": "hashlib", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L9", "weight": 1.0}, {"source": "$graphify-root$_src_data_models_py", "target": "re", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L10", "weight": 1.0}, {"source": "$graphify-root$_src_data_models_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L11", "weight": 1.0}, {"source": "$graphify-root$_src_data_models_py", "target": "pydantic", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L13", "weight": 1.0}, {"source": "$graphify-root$_src_data_models_py", "target": "pydantic_settings", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L14", "weight": 1.0}, {"source": "$graphify-root$_src_data_models_py", "target": "$graphify-root$_src_data_models_kakaoplace", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L22", "weight": 1.0}, {"source": "$graphify-root$_src_data_models_kakaoplace", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L22", "weight": 1.0}, {"source": "$graphify-root$_src_data_models_py", "target": "$graphify-root$_src_data_models_placeevidence", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L34", "weight": 1.0}, {"source": "$graphify-root$_src_data_models_placeevidence", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L34", "weight": 1.0}, {"source": "$graphify-root$_src_data_models_py", "target": "$graphify-root$_src_data_models_hardfail", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L47", "weight": 1.0}, {"source": "$graphify-root$_src_data_models_hardfail", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L47", "weight": 1.0}, {"source": "$graphify-root$_src_data_models_py", "target": "$graphify-root$_src_data_models_warning", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L64", "weight": 1.0}, {"source": "$graphify-root$_src_data_models_warning", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L64", "weight": 1.0}, {"source": "$graphify-root$_src_data_models_py", "target": "$graphify-root$_src_data_models_scores", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L81", "weight": 1.0}, {"source": "$graphify-root$_src_data_models_scores", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L81", "weight": 1.0}, {"source": "$graphify-root$_src_data_models_scores_validate_ranges", "target": "model_validator", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L88", "weight": 1.0, "context": "decorator"}, {"source": "$graphify-root$_src_data_models_scores", "target": "$graphify-root$_src_data_models_scores_validate_ranges", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L89", "weight": 1.0}, {"source": "$graphify-root$_src_data_models_py", "target": "$graphify-root$_src_data_models_alternativepoi", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L97", "weight": 1.0}, {"source": "$graphify-root$_src_data_models_alternativepoi", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L97", "weight": 1.0}, {"source": "$graphify-root$_src_data_models_py", "target": "$graphify-root$_src_data_models_poi", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L105", "weight": 1.0}, {"source": "$graphify-root$_src_data_models_poi", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L105", "weight": 1.0}, {"source": "$graphify-root$_src_data_models_poi_poi_id_not_empty", "target": "field_validator", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L119", "weight": 1.0, "context": "decorator"}, {"source": "$graphify-root$_src_data_models_poi", "target": "$graphify-root$_src_data_models_poi_poi_id_not_empty", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L121", "weight": 1.0}, {"source": "$graphify-root$_src_data_models_poi_validate_lat", "target": "field_validator", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L126", "weight": 1.0, "context": "decorator"}, {"source": "$graphify-root$_src_data_models_poi", "target": "$graphify-root$_src_data_models_poi_validate_lat", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L128", "weight": 1.0}, {"source": "$graphify-root$_src_data_models_poi_validate_lng", "target": "field_validator", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L133", "weight": 1.0, "context": "decorator"}, {"source": "$graphify-root$_src_data_models_poi", "target": "$graphify-root$_src_data_models_poi_validate_lng", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L135", "weight": 1.0}, {"source": "$graphify-root$_src_data_models_poi_validate_hhmm", "target": "field_validator", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L140", "weight": 1.0, "context": "decorator"}, {"source": "$graphify-root$_src_data_models_poi", "target": "$graphify-root$_src_data_models_poi_validate_hhmm", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L142", "weight": 1.0}, {"source": "$graphify-root$_src_data_models_poi_validate_duration", "target": "field_validator", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L150", "weight": 1.0, "context": "decorator"}, {"source": "$graphify-root$_src_data_models_poi", "target": "$graphify-root$_src_data_models_poi_validate_duration", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L152", "weight": 1.0}, {"source": "$graphify-root$_src_data_models_py", "target": "$graphify-root$_src_data_models_placeinput", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L158", "weight": 1.0}, {"source": "$graphify-root$_src_data_models_placeinput", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L158", "weight": 1.0}, {"source": "$graphify-root$_src_data_models_placeinput_validate_order", "target": "field_validator", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L163", "weight": 1.0, "context": "decorator"}, {"source": "$graphify-root$_src_data_models_placeinput", "target": "$graphify-root$_src_data_models_placeinput_validate_order", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L165", "weight": 1.0}, {"source": "$graphify-root$_src_data_models_py", "target": "$graphify-root$_src_data_models_dayplan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L173", "weight": 1.0}, {"source": "$graphify-root$_src_data_models_dayplan", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L173", "weight": 1.0}, {"source": "$graphify-root$_src_data_models_dayplan_validate_place_count", "target": "field_validator", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L177", "weight": 1.0, "context": "decorator"}, {"source": "$graphify-root$_src_data_models_dayplan", "target": "$graphify-root$_src_data_models_dayplan_validate_place_count", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L179", "weight": 1.0}, {"source": "$graphify-root$_src_data_models_dayplan_validate_place_count", "target": "$graphify-root$_src_data_models_placeinput", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L179", "weight": 1.0}, {"source": "$graphify-root$_src_data_models_dayplan_validate_place_count", "target": "$graphify-root$_src_data_models_placeinput", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L179", "weight": 1.0}, {"source": "$graphify-root$_src_data_models_dayplan_auto_fill_visit_order", "target": "model_validator", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L186", "weight": 1.0, "context": "decorator"}, {"source": "$graphify-root$_src_data_models_dayplan", "target": "$graphify-root$_src_data_models_dayplan_auto_fill_visit_order", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L187", "weight": 1.0}, {"source": "$graphify-root$_src_data_models_py", "target": "$graphify-root$_src_data_models_itineraryplan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L195", "weight": 1.0}, {"source": "$graphify-root$_src_data_models_itineraryplan", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L195", "weight": 1.0}, {"source": "$graphify-root$_src_data_models_itineraryplan_validate_days", "target": "field_validator", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L202", "weight": 1.0, "context": "decorator"}, {"source": "$graphify-root$_src_data_models_itineraryplan", "target": "$graphify-root$_src_data_models_itineraryplan_validate_days", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L204", "weight": 1.0}, {"source": "$graphify-root$_src_data_models_itineraryplan_validate_days", "target": "$graphify-root$_src_data_models_dayplan", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L204", "weight": 1.0}, {"source": "$graphify-root$_src_data_models_itineraryplan_validate_days", "target": "$graphify-root$_src_data_models_dayplan", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L204", "weight": 1.0}, {"source": "$graphify-root$_src_data_models_itineraryplan_travel_days", "target": "computed_field", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L211", "weight": 1.0, "context": "decorator"}, {"source": "$graphify-root$_src_data_models_itineraryplan", "target": "$graphify-root$_src_data_models_itineraryplan_travel_days", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L212", "weight": 1.0}, {"source": "$graphify-root$_src_data_models_itineraryplan_plan_id", "target": "computed_field", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L215", "weight": 1.0, "context": "decorator"}, {"source": "$graphify-root$_src_data_models_itineraryplan", "target": "$graphify-root$_src_data_models_itineraryplan_plan_id", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L216", "weight": 1.0}, {"source": "$graphify-root$_src_data_models_py", "target": "$graphify-root$_src_data_models_validationresult", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L225", "weight": 1.0}, {"source": "$graphify-root$_src_data_models_validationresult", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L225", "weight": 1.0}, {"source": "$graphify-root$_src_data_models_validationresult_validate_score_range", "target": "field_validator", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L242", "weight": 1.0, "context": "decorator"}, {"source": "$graphify-root$_src_data_models_validationresult", "target": "$graphify-root$_src_data_models_validationresult_validate_score_range", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L244", "weight": 1.0}, {"source": "$graphify-root$_src_data_models_validationresult_hard_fail_score_cap", "target": "model_validator", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L249", "weight": 1.0, "context": "decorator"}, {"source": "$graphify-root$_src_data_models_validationresult", "target": "$graphify-root$_src_data_models_validationresult_hard_fail_score_cap", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L250", "weight": 1.0}, {"source": "$graphify-root$_src_data_models_py", "target": "$graphify-root$_src_data_models_settings", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L256", "weight": 1.0}, {"source": "$graphify-root$_src_data_models_settings", "target": "basesettings", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L256", "weight": 1.0}, {"source": "$graphify-root$_src_data_models_settings_fill_gov_api_keys", "target": "model_validator", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L268", "weight": 1.0, "context": "decorator"}, {"source": "$graphify-root$_src_data_models_settings", "target": "$graphify-root$_src_data_models_settings_fill_gov_api_keys", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L269", "weight": 1.0}, {"source": "$graphify-root$_src_data_models_py", "target": "$graphify-root$_src_data_models_vrptwplace", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L283", "weight": 1.0}, {"source": "$graphify-root$_src_data_models_vrptwplace", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L283", "weight": 1.0}, {"source": "$graphify-root$_src_data_models_vrptwplace_validate_hhmm", "target": "field_validator", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L292", "weight": 1.0, "context": "decorator"}, {"source": "$graphify-root$_src_data_models_vrptwplace", "target": "$graphify-root$_src_data_models_vrptwplace_validate_hhmm", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L294", "weight": 1.0}, {"source": "$graphify-root$_src_data_models_vrptwplace_validate_lat", "target": "field_validator", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L302", "weight": 1.0, "context": "decorator"}, {"source": "$graphify-root$_src_data_models_vrptwplace", "target": "$graphify-root$_src_data_models_vrptwplace_validate_lat", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L304", "weight": 1.0}, {"source": "$graphify-root$_src_data_models_vrptwplace_validate_lng", "target": "field_validator", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L309", "weight": 1.0, "context": "decorator"}, {"source": "$graphify-root$_src_data_models_vrptwplace", "target": "$graphify-root$_src_data_models_vrptwplace_validate_lng", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L311", "weight": 1.0}, {"source": "$graphify-root$_src_data_models_vrptwplace_validate_stay", "target": "field_validator", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L316", "weight": 1.0, "context": "decorator"}, {"source": "$graphify-root$_src_data_models_vrptwplace", "target": "$graphify-root$_src_data_models_vrptwplace_validate_stay", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L318", "weight": 1.0}, {"source": "$graphify-root$_src_data_models_vrptwplace", "target": "$graphify-root$_src_data_models_vrptwplace_open_minutes", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L324", "weight": 1.0}, {"source": "$graphify-root$_src_data_models_vrptwplace", "target": "$graphify-root$_src_data_models_vrptwplace_close_minutes", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L329", "weight": 1.0}, {"source": "$graphify-root$_src_data_models_py", "target": "$graphify-root$_src_data_models_vrptwday", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L334", "weight": 1.0}, {"source": "$graphify-root$_src_data_models_vrptwday", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L334", "weight": 1.0}, {"source": "$graphify-root$_src_data_models_vrptwday_at_least_one", "target": "field_validator", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L337", "weight": 1.0, "context": "decorator"}, {"source": "$graphify-root$_src_data_models_vrptwday", "target": "$graphify-root$_src_data_models_vrptwday_at_least_one", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L339", "weight": 1.0}, {"source": "$graphify-root$_src_data_models_vrptwday_at_least_one", "target": "$graphify-root$_src_data_models_vrptwplace", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L339", "weight": 1.0}, {"source": "$graphify-root$_src_data_models_vrptwday_at_least_one", "target": "$graphify-root$_src_data_models_vrptwplace", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L339", "weight": 1.0}, {"source": "$graphify-root$_src_data_models_py", "target": "$graphify-root$_src_data_models_vrptwrequest", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L345", "weight": 1.0}, {"source": "$graphify-root$_src_data_models_vrptwrequest", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L345", "weight": 1.0}, {"source": "$graphify-root$_src_data_models_vrptwrequest_at_least_one_day", "target": "field_validator", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L348", "weight": 1.0, "context": "decorator"}, {"source": "$graphify-root$_src_data_models_vrptwrequest", "target": "$graphify-root$_src_data_models_vrptwrequest_at_least_one_day", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L350", "weight": 1.0}, {"source": "$graphify-root$_src_data_models_vrptwrequest_at_least_one_day", "target": "$graphify-root$_src_data_models_vrptwday", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L350", "weight": 1.0}, {"source": "$graphify-root$_src_data_models_vrptwrequest_at_least_one_day", "target": "$graphify-root$_src_data_models_vrptwday", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L350", "weight": 1.0}, {"source": "$graphify-root$_src_data_models_py", "target": "$graphify-root$_src_data_models_deepdiveitem", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L356", "weight": 1.0}, {"source": "$graphify-root$_src_data_models_deepdiveitem", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L356", "weight": 1.0}, {"source": "$graphify-root$_src_data_models_py", "target": "$graphify-root$_src_data_models_explanationitem", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L363", "weight": 1.0}, {"source": "$graphify-root$_src_data_models_explanationitem", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L363", "weight": 1.0}, {"source": "$graphify-root$_src_data_models_py", "target": "$graphify-root$_src_data_models_dayroutecomparison", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L374", "weight": 1.0}, {"source": "$graphify-root$_src_data_models_dayroutecomparison", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L374", "weight": 1.0}, {"source": "$graphify-root$_src_data_models_py", "target": "$graphify-root$_src_data_models_vrptwresult", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L382", "weight": 1.0}, {"source": "$graphify-root$_src_data_models_vrptwresult", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L382", "weight": 1.0}, {"source": "$graphify-root$_src_data_models_rationale_1", "target": "$graphify-root$_src_data_models_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_src_data_models_rationale_23", "target": "$graphify-root$_src_data_models_kakaoplace", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L23", "weight": 1.0}, {"source": "$graphify-root$_src_data_models_rationale_35", "target": "$graphify-root$_src_data_models_placeevidence", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L35", "weight": 1.0}, {"source": "$graphify-root$_src_data_models_rationale_174", "target": "$graphify-root$_src_data_models_dayplan", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L174", "weight": 1.0}, {"source": "$graphify-root$_src_data_models_rationale_188", "target": "$graphify-root$_src_data_models_dayplan_auto_fill_visit_order", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L188", "weight": 1.0}, {"source": "$graphify-root$_src_data_models_rationale_270", "target": "$graphify-root$_src_data_models_settings_fill_gov_api_keys", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L270", "weight": 1.0}, {"source": "$graphify-root$_src_data_models_rationale_364", "target": "$graphify-root$_src_data_models_explanationitem", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/data/models.py", "source_location": "L364", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_src_data_models_scores_validate_ranges", "callee": "ValueError", "is_member_call": false, "source_file": "src/data/models.py", "source_location": "L93", "receiver": null}, {"caller_nid": "$graphify-root$_src_data_models_poi_poi_id_not_empty", "callee": "strip", "is_member_call": true, "source_file": "src/data/models.py", "source_location": "L122", "receiver": "v"}, {"caller_nid": "$graphify-root$_src_data_models_poi_poi_id_not_empty", "callee": "ValueError", "is_member_call": false, "source_file": "src/data/models.py", "source_location": "L123", "receiver": null}, {"caller_nid": "$graphify-root$_src_data_models_poi_validate_lat", "callee": "ValueError", "is_member_call": false, "source_file": "src/data/models.py", "source_location": "L130", "receiver": null}, {"caller_nid": "$graphify-root$_src_data_models_poi_validate_lng", "callee": "ValueError", "is_member_call": false, "source_file": "src/data/models.py", "source_location": "L137", "receiver": null}, {"caller_nid": "$graphify-root$_src_data_models_poi_validate_hhmm", "callee": "fullmatch", "is_member_call": true, "source_file": "src/data/models.py", "source_location": "L143", "receiver": "re"}, {"caller_nid": "$graphify-root$_src_data_models_poi_validate_hhmm", "callee": "ValueError", "is_member_call": false, "source_file": "src/data/models.py", "source_location": "L144", "receiver": null}, {"caller_nid": "$graphify-root$_src_data_models_poi_validate_hhmm", "callee": "ValueError", "is_member_call": false, "source_file": "src/data/models.py", "source_location": "L147", "receiver": null}, {"caller_nid": "$graphify-root$_src_data_models_poi_validate_duration", "callee": "ValueError", "is_member_call": false, "source_file": "src/data/models.py", "source_location": "L154", "receiver": null}, {"caller_nid": "$graphify-root$_src_data_models_placeinput_validate_order", "callee": "ValueError", "is_member_call": false, "source_file": "src/data/models.py", "source_location": "L169", "receiver": null}, {"caller_nid": "$graphify-root$_src_data_models_dayplan_validate_place_count", "callee": "ValueError", "is_member_call": false, "source_file": "src/data/models.py", "source_location": "L181", "receiver": null}, {"caller_nid": "$graphify-root$_src_data_models_dayplan_validate_place_count", "callee": "ValueError", "is_member_call": false, "source_file": "src/data/models.py", "source_location": "L183", "receiver": null}, {"caller_nid": "$graphify-root$_src_data_models_itineraryplan_validate_days", "callee": "ValueError", "is_member_call": false, "source_file": "src/data/models.py", "source_location": "L206", "receiver": null}, {"caller_nid": "$graphify-root$_src_data_models_itineraryplan_validate_days", "callee": "ValueError", "is_member_call": false, "source_file": "src/data/models.py", "source_location": "L208", "receiver": null}, {"caller_nid": "$graphify-root$_src_data_models_itineraryplan_plan_id", "callee": "append", "is_member_call": true, "source_file": "src/data/models.py", "source_location": "L220", "receiver": "parts"}, {"caller_nid": "$graphify-root$_src_data_models_itineraryplan_plan_id", "callee": "join", "is_member_call": true, "source_file": "src/data/models.py", "source_location": "L221", "receiver": null}, {"caller_nid": "$graphify-root$_src_data_models_itineraryplan_plan_id", "callee": "hexdigest", "is_member_call": true, "source_file": "src/data/models.py", "source_location": "L222", "receiver": null}, {"caller_nid": "$graphify-root$_src_data_models_itineraryplan_plan_id", "callee": "sha256", "is_member_call": true, "source_file": "src/data/models.py", "source_location": "L222", "receiver": "hashlib"}, {"caller_nid": "$graphify-root$_src_data_models_itineraryplan_plan_id", "callee": "encode", "is_member_call": true, "source_file": "src/data/models.py", "source_location": "L222", "receiver": "key"}, {"caller_nid": "$graphify-root$_src_data_models_validationresult_validate_score_range", "callee": "ValueError", "is_member_call": false, "source_file": "src/data/models.py", "source_location": "L246", "receiver": null}, {"caller_nid": "$graphify-root$_src_data_models_validationresult_hard_fail_score_cap", "callee": "ValueError", "is_member_call": false, "source_file": "src/data/models.py", "source_location": "L252", "receiver": null}, {"caller_nid": "$graphify-root$_src_data_models_vrptwplace_validate_hhmm", "callee": "fullmatch", "is_member_call": true, "source_file": "src/data/models.py", "source_location": "L295", "receiver": "re"}, {"caller_nid": "$graphify-root$_src_data_models_vrptwplace_validate_hhmm", "callee": "ValueError", "is_member_call": false, "source_file": "src/data/models.py", "source_location": "L296", "receiver": null}, {"caller_nid": "$graphify-root$_src_data_models_vrptwplace_validate_hhmm", "callee": "ValueError", "is_member_call": false, "source_file": "src/data/models.py", "source_location": "L299", "receiver": null}, {"caller_nid": "$graphify-root$_src_data_models_vrptwplace_validate_lat", "callee": "ValueError", "is_member_call": false, "source_file": "src/data/models.py", "source_location": "L306", "receiver": null}, {"caller_nid": "$graphify-root$_src_data_models_vrptwplace_validate_lng", "callee": "ValueError", "is_member_call": false, "source_file": "src/data/models.py", "source_location": "L313", "receiver": null}, {"caller_nid": "$graphify-root$_src_data_models_vrptwplace_validate_stay", "callee": "ValueError", "is_member_call": false, "source_file": "src/data/models.py", "source_location": "L320", "receiver": null}, {"caller_nid": "$graphify-root$_src_data_models_vrptwday_at_least_one", "callee": "ValueError", "is_member_call": false, "source_file": "src/data/models.py", "source_location": "L341", "receiver": null}, {"caller_nid": "$graphify-root$_src_data_models_vrptwrequest_at_least_one_day", "callee": "ValueError", "is_member_call": false, "source_file": "src/data/models.py", "source_location": "L352", "receiver": null}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/f59929f833fa418dc77a5b258351d6a6aba4284b524f8f0df7d9ffbac0b70c6c.json b/graphify-out/cache/ast/v0.9.31/f59929f833fa418dc77a5b258351d6a6aba4284b524f8f0df7d9ffbac0b70c6c.json new file mode 100644 index 0000000..219cf4b --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/f59929f833fa418dc77a5b258351d6a6aba4284b524f8f0df7d9ffbac0b70c6c.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_scripts_execute_py", "label": "execute.py", "file_type": "code", "source_file": "scripts/execute.py", "source_location": "L1"}, {"id": "$graphify-root$_scripts_execute_progress_indicator", "label": "progress_indicator()", "file_type": "code", "source_file": "scripts/execute.py", "source_location": "L26", "_callable": true}, {"id": "$graphify-root$_scripts_execute_stepexecutor", "label": "StepExecutor", "file_type": "code", "source_file": "scripts/execute.py", "source_location": "L53", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_scripts_execute_stepexecutor_init", "label": ".__init__()", "file_type": "code", "source_file": "scripts/execute.py", "source_location": "L61", "_callable": true}, {"id": "$graphify-root$_scripts_execute_stepexecutor_run", "label": ".run()", "file_type": "code", "source_file": "scripts/execute.py", "source_location": "L83", "_callable": true}, {"id": "$graphify-root$_scripts_execute_stepexecutor_stamp", "label": "._stamp()", "file_type": "code", "source_file": "scripts/execute.py", "source_location": "L94", "_callable": true}, {"id": "$graphify-root$_scripts_execute_stepexecutor_read_json", "label": "._read_json()", "file_type": "code", "source_file": "scripts/execute.py", "source_location": "L100", "_callable": true}, {"id": "path", "label": "Path", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/scripts/execute.py"}, {"id": "$graphify-root$_scripts_execute_stepexecutor_write_json", "label": "._write_json()", "file_type": "code", "source_file": "scripts/execute.py", "source_location": "L104", "_callable": true}, {"id": "$graphify-root$_scripts_execute_stepexecutor_run_git", "label": "._run_git()", "file_type": "code", "source_file": "scripts/execute.py", "source_location": "L109", "_callable": true}, {"id": "completedprocess", "label": "CompletedProcess", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/scripts/execute.py"}, {"id": "$graphify-root$_scripts_execute_stepexecutor_checkout_branch", "label": "._checkout_branch()", "file_type": "code", "source_file": "scripts/execute.py", "source_location": "L113", "_callable": true}, {"id": "$graphify-root$_scripts_execute_stepexecutor_commit_step", "label": "._commit_step()", "file_type": "code", "source_file": "scripts/execute.py", "source_location": "L136", "_callable": true}, {"id": "$graphify-root$_scripts_execute_stepexecutor_update_top_index", "label": "._update_top_index()", "file_type": "code", "source_file": "scripts/execute.py", "source_location": "L161", "_callable": true}, {"id": "$graphify-root$_scripts_execute_stepexecutor_load_guardrails", "label": "._load_guardrails()", "file_type": "code", "source_file": "scripts/execute.py", "source_location": "L177", "_callable": true}, {"id": "$graphify-root$_scripts_execute_stepexecutor_build_step_context", "label": "._build_step_context()", "file_type": "code", "source_file": "scripts/execute.py", "source_location": "L189", "_callable": true}, {"id": "$graphify-root$_scripts_execute_stepexecutor_build_preamble", "label": "._build_preamble()", "file_type": "code", "source_file": "scripts/execute.py", "source_location": "L199", "_callable": true}, {"id": "$graphify-root$_scripts_execute_stepexecutor_invoke_claude", "label": "._invoke_claude()", "file_type": "code", "source_file": "scripts/execute.py", "source_location": "L229", "_callable": true}, {"id": "$graphify-root$_scripts_execute_stepexecutor_print_header", "label": "._print_header()", "file_type": "code", "source_file": "scripts/execute.py", "source_location": "L261", "_callable": true}, {"id": "$graphify-root$_scripts_execute_stepexecutor_check_blockers", "label": "._check_blockers()", "file_type": "code", "source_file": "scripts/execute.py", "source_location": "L269", "_callable": true}, {"id": "$graphify-root$_scripts_execute_stepexecutor_ensure_created_at", "label": "._ensure_created_at()", "file_type": "code", "source_file": "scripts/execute.py", "source_location": "L285", "_callable": true}, {"id": "$graphify-root$_scripts_execute_stepexecutor_execute_single_step", "label": "._execute_single_step()", "file_type": "code", "source_file": "scripts/execute.py", "source_location": "L293", "_callable": true}, {"id": "$graphify-root$_scripts_execute_stepexecutor_execute_all_steps", "label": "._execute_all_steps()", "file_type": "code", "source_file": "scripts/execute.py", "source_location": "L364", "_callable": true}, {"id": "$graphify-root$_scripts_execute_stepexecutor_finalize", "label": "._finalize()", "file_type": "code", "source_file": "scripts/execute.py", "source_location": "L381", "_callable": true}, {"id": "$graphify-root$_scripts_execute_main", "label": "main()", "file_type": "code", "source_file": "scripts/execute.py", "source_location": "L407", "_callable": true}, {"id": "$graphify-root$_scripts_execute_rationale_27", "label": "\ud130\ubbf8\ub110 \uc9c4\ud589 \ud45c\uc2dc\uae30. with \ubb38\uc73c\ub85c \uc0ac\uc6a9\ud558\uba70 .elapsed \ub85c \uacbd\uacfc \uc2dc\uac04\uc744 \uc77d\ub294\ub2e4.", "file_type": "rationale", "source_file": "scripts/execute.py", "source_location": "L27"}, {"id": "$graphify-root$_scripts_execute_rationale_54", "label": "Phase \ub514\ub809\ud1a0\ub9ac \uc548\uc758 step\ub4e4\uc744 \uc21c\ucc28 \uc2e4\ud589\ud558\ub294 \ud558\ub124\uc2a4.", "file_type": "rationale", "source_file": "scripts/execute.py", "source_location": "L54"}, {"id": "$graphify-root$_scripts_execute_rationale_294", "label": "\ub2e8\uc77c step \uc2e4\ud589 (\uc7ac\uc2dc\ub3c4 \ud3ec\ud568). \uc644\ub8cc\ub418\uba74 True, \uc2e4\ud328/\ucc28\ub2e8\uc774\uba74 False.", "file_type": "rationale", "source_file": "scripts/execute.py", "source_location": "L294"}], "edges": [{"source": "$graphify-root$_scripts_execute_py", "target": "argparse", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/execute.py", "source_location": "L9", "weight": 1.0}, {"source": "$graphify-root$_scripts_execute_py", "target": "contextlib", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/execute.py", "source_location": "L10", "weight": 1.0}, {"source": "$graphify-root$_scripts_execute_py", "target": "json", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/execute.py", "source_location": "L11", "weight": 1.0}, {"source": "$graphify-root$_scripts_execute_py", "target": "os", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/execute.py", "source_location": "L12", "weight": 1.0}, {"source": "$graphify-root$_scripts_execute_py", "target": "subprocess", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/execute.py", "source_location": "L13", "weight": 1.0}, {"source": "$graphify-root$_scripts_execute_py", "target": "sys", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/execute.py", "source_location": "L14", "weight": 1.0}, {"source": "$graphify-root$_scripts_execute_py", "target": "threading", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/execute.py", "source_location": "L15", "weight": 1.0}, {"source": "$graphify-root$_scripts_execute_py", "target": "time", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/execute.py", "source_location": "L16", "weight": 1.0}, {"source": "$graphify-root$_scripts_execute_py", "target": "types", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/execute.py", "source_location": "L17", "weight": 1.0}, {"source": "$graphify-root$_scripts_execute_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/execute.py", "source_location": "L18", "weight": 1.0}, {"source": "$graphify-root$_scripts_execute_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/execute.py", "source_location": "L19", "weight": 1.0}, {"source": "$graphify-root$_scripts_execute_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "scripts/execute.py", "source_location": "L20", "weight": 1.0}, {"source": "$graphify-root$_scripts_execute_py", "target": "$graphify-root$_scripts_execute_progress_indicator", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/execute.py", "source_location": "L26", "weight": 1.0}, {"source": "$graphify-root$_scripts_execute_py", "target": "$graphify-root$_scripts_execute_stepexecutor", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/execute.py", "source_location": "L53", "weight": 1.0}, {"source": "$graphify-root$_scripts_execute_stepexecutor", "target": "$graphify-root$_scripts_execute_stepexecutor_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "scripts/execute.py", "source_location": "L61", "weight": 1.0}, {"source": "$graphify-root$_scripts_execute_stepexecutor", "target": "$graphify-root$_scripts_execute_stepexecutor_run", "relation": "method", "confidence": "EXTRACTED", "source_file": "scripts/execute.py", "source_location": "L83", "weight": 1.0}, {"source": "$graphify-root$_scripts_execute_stepexecutor", "target": "$graphify-root$_scripts_execute_stepexecutor_stamp", "relation": "method", "confidence": "EXTRACTED", "source_file": "scripts/execute.py", "source_location": "L94", "weight": 1.0}, {"source": "$graphify-root$_scripts_execute_stepexecutor", "target": "$graphify-root$_scripts_execute_stepexecutor_read_json", "relation": "method", "confidence": "EXTRACTED", "source_file": "scripts/execute.py", "source_location": "L100", "weight": 1.0}, {"source": "$graphify-root$_scripts_execute_stepexecutor_read_json", "target": "path", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "scripts/execute.py", "source_location": "L100", "weight": 1.0}, {"source": "$graphify-root$_scripts_execute_stepexecutor", "target": "$graphify-root$_scripts_execute_stepexecutor_write_json", "relation": "method", "confidence": "EXTRACTED", "source_file": "scripts/execute.py", "source_location": "L104", "weight": 1.0}, {"source": "$graphify-root$_scripts_execute_stepexecutor_write_json", "target": "path", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "scripts/execute.py", "source_location": "L104", "weight": 1.0}, {"source": "$graphify-root$_scripts_execute_stepexecutor", "target": "$graphify-root$_scripts_execute_stepexecutor_run_git", "relation": "method", "confidence": "EXTRACTED", "source_file": "scripts/execute.py", "source_location": "L109", "weight": 1.0}, {"source": "$graphify-root$_scripts_execute_stepexecutor_run_git", "target": "completedprocess", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "scripts/execute.py", "source_location": "L109", "weight": 1.0}, {"source": "$graphify-root$_scripts_execute_stepexecutor", "target": "$graphify-root$_scripts_execute_stepexecutor_checkout_branch", "relation": "method", "confidence": "EXTRACTED", "source_file": "scripts/execute.py", "source_location": "L113", "weight": 1.0}, {"source": "$graphify-root$_scripts_execute_stepexecutor", "target": "$graphify-root$_scripts_execute_stepexecutor_commit_step", "relation": "method", "confidence": "EXTRACTED", "source_file": "scripts/execute.py", "source_location": "L136", "weight": 1.0}, {"source": "$graphify-root$_scripts_execute_stepexecutor", "target": "$graphify-root$_scripts_execute_stepexecutor_update_top_index", "relation": "method", "confidence": "EXTRACTED", "source_file": "scripts/execute.py", "source_location": "L161", "weight": 1.0}, {"source": "$graphify-root$_scripts_execute_stepexecutor", "target": "$graphify-root$_scripts_execute_stepexecutor_load_guardrails", "relation": "method", "confidence": "EXTRACTED", "source_file": "scripts/execute.py", "source_location": "L177", "weight": 1.0}, {"source": "$graphify-root$_scripts_execute_stepexecutor", "target": "$graphify-root$_scripts_execute_stepexecutor_build_step_context", "relation": "method", "confidence": "EXTRACTED", "source_file": "scripts/execute.py", "source_location": "L189", "weight": 1.0}, {"source": "$graphify-root$_scripts_execute_stepexecutor", "target": "$graphify-root$_scripts_execute_stepexecutor_build_preamble", "relation": "method", "confidence": "EXTRACTED", "source_file": "scripts/execute.py", "source_location": "L199", "weight": 1.0}, {"source": "$graphify-root$_scripts_execute_stepexecutor", "target": "$graphify-root$_scripts_execute_stepexecutor_invoke_claude", "relation": "method", "confidence": "EXTRACTED", "source_file": "scripts/execute.py", "source_location": "L229", "weight": 1.0}, {"source": "$graphify-root$_scripts_execute_stepexecutor", "target": "$graphify-root$_scripts_execute_stepexecutor_print_header", "relation": "method", "confidence": "EXTRACTED", "source_file": "scripts/execute.py", "source_location": "L261", "weight": 1.0}, {"source": "$graphify-root$_scripts_execute_stepexecutor", "target": "$graphify-root$_scripts_execute_stepexecutor_check_blockers", "relation": "method", "confidence": "EXTRACTED", "source_file": "scripts/execute.py", "source_location": "L269", "weight": 1.0}, {"source": "$graphify-root$_scripts_execute_stepexecutor", "target": "$graphify-root$_scripts_execute_stepexecutor_ensure_created_at", "relation": "method", "confidence": "EXTRACTED", "source_file": "scripts/execute.py", "source_location": "L285", "weight": 1.0}, {"source": "$graphify-root$_scripts_execute_stepexecutor", "target": "$graphify-root$_scripts_execute_stepexecutor_execute_single_step", "relation": "method", "confidence": "EXTRACTED", "source_file": "scripts/execute.py", "source_location": "L293", "weight": 1.0}, {"source": "$graphify-root$_scripts_execute_stepexecutor", "target": "$graphify-root$_scripts_execute_stepexecutor_execute_all_steps", "relation": "method", "confidence": "EXTRACTED", "source_file": "scripts/execute.py", "source_location": "L364", "weight": 1.0}, {"source": "$graphify-root$_scripts_execute_stepexecutor", "target": "$graphify-root$_scripts_execute_stepexecutor_finalize", "relation": "method", "confidence": "EXTRACTED", "source_file": "scripts/execute.py", "source_location": "L381", "weight": 1.0}, {"source": "$graphify-root$_scripts_execute_py", "target": "$graphify-root$_scripts_execute_main", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/execute.py", "source_location": "L407", "weight": 1.0}, {"source": "$graphify-root$_scripts_execute_stepexecutor_init", "target": "$graphify-root$_scripts_execute_stepexecutor_read_json", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/execute.py", "source_location": "L78", "weight": 1.0}, {"source": "$graphify-root$_scripts_execute_stepexecutor_run", "target": "$graphify-root$_scripts_execute_stepexecutor_print_header", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/execute.py", "source_location": "L84", "weight": 1.0}, {"source": "$graphify-root$_scripts_execute_stepexecutor_run", "target": "$graphify-root$_scripts_execute_stepexecutor_check_blockers", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/execute.py", "source_location": "L85", "weight": 1.0}, {"source": "$graphify-root$_scripts_execute_stepexecutor_run", "target": "$graphify-root$_scripts_execute_stepexecutor_checkout_branch", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/execute.py", "source_location": "L86", "weight": 1.0}, {"source": "$graphify-root$_scripts_execute_stepexecutor_run", "target": "$graphify-root$_scripts_execute_stepexecutor_load_guardrails", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/execute.py", "source_location": "L87", "weight": 1.0}, {"source": "$graphify-root$_scripts_execute_stepexecutor_run", "target": "$graphify-root$_scripts_execute_stepexecutor_ensure_created_at", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/execute.py", "source_location": "L88", "weight": 1.0}, {"source": "$graphify-root$_scripts_execute_stepexecutor_run", "target": "$graphify-root$_scripts_execute_stepexecutor_execute_all_steps", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/execute.py", "source_location": "L89", "weight": 1.0}, {"source": "$graphify-root$_scripts_execute_stepexecutor_run", "target": "$graphify-root$_scripts_execute_stepexecutor_finalize", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/execute.py", "source_location": "L90", "weight": 1.0}, {"source": "$graphify-root$_scripts_execute_stepexecutor_run_git", "target": "$graphify-root$_scripts_execute_stepexecutor_run", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/execute.py", "source_location": "L111", "weight": 1.0}, {"source": "$graphify-root$_scripts_execute_stepexecutor_checkout_branch", "target": "$graphify-root$_scripts_execute_stepexecutor_run_git", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/execute.py", "source_location": "L116", "weight": 1.0}, {"source": "$graphify-root$_scripts_execute_stepexecutor_commit_step", "target": "$graphify-root$_scripts_execute_stepexecutor_run_git", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/execute.py", "source_location": "L140", "weight": 1.0}, {"source": "$graphify-root$_scripts_execute_stepexecutor_update_top_index", "target": "$graphify-root$_scripts_execute_stepexecutor_read_json", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/execute.py", "source_location": "L164", "weight": 1.0}, {"source": "$graphify-root$_scripts_execute_stepexecutor_update_top_index", "target": "$graphify-root$_scripts_execute_stepexecutor_stamp", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/execute.py", "source_location": "L165", "weight": 1.0}, {"source": "$graphify-root$_scripts_execute_stepexecutor_update_top_index", "target": "$graphify-root$_scripts_execute_stepexecutor_write_json", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/execute.py", "source_location": "L173", "weight": 1.0}, {"source": "$graphify-root$_scripts_execute_stepexecutor_invoke_claude", "target": "$graphify-root$_scripts_execute_stepexecutor_run", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/execute.py", "source_location": "L238", "weight": 1.0}, {"source": "$graphify-root$_scripts_execute_stepexecutor_check_blockers", "target": "$graphify-root$_scripts_execute_stepexecutor_read_json", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/execute.py", "source_location": "L270", "weight": 1.0}, {"source": "$graphify-root$_scripts_execute_stepexecutor_ensure_created_at", "target": "$graphify-root$_scripts_execute_stepexecutor_read_json", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/execute.py", "source_location": "L286", "weight": 1.0}, {"source": "$graphify-root$_scripts_execute_stepexecutor_ensure_created_at", "target": "$graphify-root$_scripts_execute_stepexecutor_stamp", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/execute.py", "source_location": "L288", "weight": 1.0}, {"source": "$graphify-root$_scripts_execute_stepexecutor_ensure_created_at", "target": "$graphify-root$_scripts_execute_stepexecutor_write_json", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/execute.py", "source_location": "L289", "weight": 1.0}, {"source": "$graphify-root$_scripts_execute_stepexecutor_execute_single_step", "target": "$graphify-root$_scripts_execute_stepexecutor_read_json", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/execute.py", "source_location": "L296", "weight": 1.0}, {"source": "$graphify-root$_scripts_execute_stepexecutor_execute_single_step", "target": "$graphify-root$_scripts_execute_stepexecutor_build_step_context", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/execute.py", "source_location": "L301", "weight": 1.0}, {"source": "$graphify-root$_scripts_execute_stepexecutor_execute_single_step", "target": "$graphify-root$_scripts_execute_stepexecutor_build_preamble", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/execute.py", "source_location": "L302", "weight": 1.0}, {"source": "$graphify-root$_scripts_execute_stepexecutor_execute_single_step", "target": "$graphify-root$_scripts_execute_progress_indicator", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/execute.py", "source_location": "L308", "weight": 1.0}, {"source": "$graphify-root$_scripts_execute_stepexecutor_execute_single_step", "target": "$graphify-root$_scripts_execute_stepexecutor_invoke_claude", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/execute.py", "source_location": "L309", "weight": 1.0}, {"source": "$graphify-root$_scripts_execute_stepexecutor_execute_single_step", "target": "$graphify-root$_scripts_execute_stepexecutor_stamp", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/execute.py", "source_location": "L314", "weight": 1.0}, {"source": "$graphify-root$_scripts_execute_stepexecutor_execute_single_step", "target": "$graphify-root$_scripts_execute_stepexecutor_write_json", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/execute.py", "source_location": "L320", "weight": 1.0}, {"source": "$graphify-root$_scripts_execute_stepexecutor_execute_single_step", "target": "$graphify-root$_scripts_execute_stepexecutor_commit_step", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/execute.py", "source_location": "L321", "weight": 1.0}, {"source": "$graphify-root$_scripts_execute_stepexecutor_execute_single_step", "target": "$graphify-root$_scripts_execute_stepexecutor_update_top_index", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/execute.py", "source_location": "L333", "weight": 1.0}, {"source": "$graphify-root$_scripts_execute_stepexecutor_execute_all_steps", "target": "$graphify-root$_scripts_execute_stepexecutor_read_json", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/execute.py", "source_location": "L366", "weight": 1.0}, {"source": "$graphify-root$_scripts_execute_stepexecutor_execute_all_steps", "target": "$graphify-root$_scripts_execute_stepexecutor_stamp", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/execute.py", "source_location": "L375", "weight": 1.0}, {"source": "$graphify-root$_scripts_execute_stepexecutor_execute_all_steps", "target": "$graphify-root$_scripts_execute_stepexecutor_write_json", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/execute.py", "source_location": "L376", "weight": 1.0}, {"source": "$graphify-root$_scripts_execute_stepexecutor_execute_all_steps", "target": "$graphify-root$_scripts_execute_stepexecutor_execute_single_step", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/execute.py", "source_location": "L379", "weight": 1.0}, {"source": "$graphify-root$_scripts_execute_stepexecutor_finalize", "target": "$graphify-root$_scripts_execute_stepexecutor_read_json", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/execute.py", "source_location": "L382", "weight": 1.0}, {"source": "$graphify-root$_scripts_execute_stepexecutor_finalize", "target": "$graphify-root$_scripts_execute_stepexecutor_stamp", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/execute.py", "source_location": "L383", "weight": 1.0}, {"source": "$graphify-root$_scripts_execute_stepexecutor_finalize", "target": "$graphify-root$_scripts_execute_stepexecutor_write_json", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/execute.py", "source_location": "L384", "weight": 1.0}, {"source": "$graphify-root$_scripts_execute_stepexecutor_finalize", "target": "$graphify-root$_scripts_execute_stepexecutor_update_top_index", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/execute.py", "source_location": "L385", "weight": 1.0}, {"source": "$graphify-root$_scripts_execute_stepexecutor_finalize", "target": "$graphify-root$_scripts_execute_stepexecutor_run_git", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/execute.py", "source_location": "L387", "weight": 1.0}, {"source": "$graphify-root$_scripts_execute_main", "target": "$graphify-root$_scripts_execute_stepexecutor_run", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/execute.py", "source_location": "L413", "weight": 1.0}, {"source": "$graphify-root$_scripts_execute_main", "target": "$graphify-root$_scripts_execute_stepexecutor", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "scripts/execute.py", "source_location": "L413", "weight": 1.0}, {"source": "$graphify-root$_scripts_execute_rationale_27", "target": "$graphify-root$_scripts_execute_progress_indicator", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "scripts/execute.py", "source_location": "L27", "weight": 1.0}, {"source": "$graphify-root$_scripts_execute_rationale_54", "target": "$graphify-root$_scripts_execute_stepexecutor", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "scripts/execute.py", "source_location": "L54", "weight": 1.0}, {"source": "$graphify-root$_scripts_execute_rationale_294", "target": "$graphify-root$_scripts_execute_stepexecutor_execute_single_step", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "scripts/execute.py", "source_location": "L294", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_scripts_execute_progress_indicator", "callee": "Event", "is_member_call": true, "source_file": "scripts/execute.py", "source_location": "L29", "receiver": "threading"}, {"caller_nid": "$graphify-root$_scripts_execute_progress_indicator", "callee": "monotonic", "is_member_call": true, "source_file": "scripts/execute.py", "source_location": "L30", "receiver": "time"}, {"caller_nid": "$graphify-root$_scripts_execute_progress_indicator", "callee": "Thread", "is_member_call": true, "source_file": "scripts/execute.py", "source_location": "L42", "receiver": "threading"}, {"caller_nid": "$graphify-root$_scripts_execute_progress_indicator", "callee": "_animate", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/execute.py", "source_location": "L42"}, {"caller_nid": "$graphify-root$_scripts_execute_progress_indicator", "callee": "start", "is_member_call": true, "source_file": "scripts/execute.py", "source_location": "L43", "receiver": "th"}, {"caller_nid": "$graphify-root$_scripts_execute_progress_indicator", "callee": "SimpleNamespace", "is_member_call": true, "source_file": "scripts/execute.py", "source_location": "L44", "receiver": "types"}, {"caller_nid": "$graphify-root$_scripts_execute_progress_indicator", "callee": "join", "is_member_call": true, "source_file": "scripts/execute.py", "source_location": "L49", "receiver": "th"}, {"caller_nid": "$graphify-root$_scripts_execute_progress_indicator", "callee": "monotonic", "is_member_call": true, "source_file": "scripts/execute.py", "source_location": "L50", "receiver": "time"}, {"caller_nid": "$graphify-root$_scripts_execute_stepexecutor_init", "callee": "ROOT", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/execute.py", "source_location": "L62"}, {"caller_nid": "$graphify-root$_scripts_execute_stepexecutor_init", "callee": "is_dir", "is_member_call": true, "source_file": "scripts/execute.py", "source_location": "L69", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_execute_stepexecutor_init", "callee": "exit", "is_member_call": true, "source_file": "scripts/execute.py", "source_location": "L71", "receiver": "sys"}, {"caller_nid": "$graphify-root$_scripts_execute_stepexecutor_init", "callee": "exists", "is_member_call": true, "source_file": "scripts/execute.py", "source_location": "L74", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_execute_stepexecutor_init", "callee": "exit", "is_member_call": true, "source_file": "scripts/execute.py", "source_location": "L76", "receiver": "sys"}, {"caller_nid": "$graphify-root$_scripts_execute_stepexecutor_init", "callee": "get", "is_member_call": true, "source_file": "scripts/execute.py", "source_location": "L79", "receiver": "idx"}, {"caller_nid": "$graphify-root$_scripts_execute_stepexecutor_init", "callee": "get", "is_member_call": true, "source_file": "scripts/execute.py", "source_location": "L80", "receiver": "idx"}, {"caller_nid": "$graphify-root$_scripts_execute_stepexecutor_stamp", "callee": "strftime", "is_member_call": true, "source_file": "scripts/execute.py", "source_location": "L95", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_execute_stepexecutor_stamp", "callee": "now", "is_member_call": true, "source_file": "scripts/execute.py", "source_location": "L95", "receiver": "datetime"}, {"caller_nid": "$graphify-root$_scripts_execute_stepexecutor_read_json", "callee": "loads", "is_member_call": true, "source_file": "scripts/execute.py", "source_location": "L101", "receiver": "json"}, {"caller_nid": "$graphify-root$_scripts_execute_stepexecutor_read_json", "callee": "read_text", "is_member_call": true, "source_file": "scripts/execute.py", "source_location": "L101", "receiver": "p"}, {"caller_nid": "$graphify-root$_scripts_execute_stepexecutor_write_json", "callee": "write_text", "is_member_call": true, "source_file": "scripts/execute.py", "source_location": "L105", "receiver": "p"}, {"caller_nid": "$graphify-root$_scripts_execute_stepexecutor_write_json", "callee": "dumps", "is_member_call": true, "source_file": "scripts/execute.py", "source_location": "L105", "receiver": "json"}, {"caller_nid": "$graphify-root$_scripts_execute_stepexecutor_checkout_branch", "callee": "strip", "is_member_call": true, "source_file": "scripts/execute.py", "source_location": "L119", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_execute_stepexecutor_checkout_branch", "callee": "exit", "is_member_call": true, "source_file": "scripts/execute.py", "source_location": "L120", "receiver": "sys"}, {"caller_nid": "$graphify-root$_scripts_execute_stepexecutor_checkout_branch", "callee": "strip", "is_member_call": true, "source_file": "scripts/execute.py", "source_location": "L122", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_execute_stepexecutor_checkout_branch", "callee": "strip", "is_member_call": true, "source_file": "scripts/execute.py", "source_location": "L130", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_execute_stepexecutor_checkout_branch", "callee": "exit", "is_member_call": true, "source_file": "scripts/execute.py", "source_location": "L132", "receiver": "sys"}, {"caller_nid": "$graphify-root$_scripts_execute_stepexecutor_commit_step", "callee": "format", "is_member_call": true, "source_file": "scripts/execute.py", "source_location": "L145", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_execute_stepexecutor_commit_step", "callee": "strip", "is_member_call": true, "source_file": "scripts/execute.py", "source_location": "L150", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_execute_stepexecutor_commit_step", "callee": "format", "is_member_call": true, "source_file": "scripts/execute.py", "source_location": "L154", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_execute_stepexecutor_commit_step", "callee": "strip", "is_member_call": true, "source_file": "scripts/execute.py", "source_location": "L157", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_execute_stepexecutor_update_top_index", "callee": "exists", "is_member_call": true, "source_file": "scripts/execute.py", "source_location": "L162", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_execute_stepexecutor_update_top_index", "callee": "get", "is_member_call": true, "source_file": "scripts/execute.py", "source_location": "L166", "receiver": "top"}, {"caller_nid": "$graphify-root$_scripts_execute_stepexecutor_update_top_index", "callee": "get", "is_member_call": true, "source_file": "scripts/execute.py", "source_location": "L167", "receiver": "phase"}, {"caller_nid": "$graphify-root$_scripts_execute_stepexecutor_update_top_index", "callee": "get", "is_member_call": true, "source_file": "scripts/execute.py", "source_location": "L169", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_execute_stepexecutor_load_guardrails", "callee": "exists", "is_member_call": true, "source_file": "scripts/execute.py", "source_location": "L180", "receiver": "claude_md"}, {"caller_nid": "$graphify-root$_scripts_execute_stepexecutor_load_guardrails", "callee": "append", "is_member_call": true, "source_file": "scripts/execute.py", "source_location": "L181", "receiver": "sections"}, {"caller_nid": "$graphify-root$_scripts_execute_stepexecutor_load_guardrails", "callee": "read_text", "is_member_call": true, "source_file": "scripts/execute.py", "source_location": "L181", "receiver": "claude_md"}, {"caller_nid": "$graphify-root$_scripts_execute_stepexecutor_load_guardrails", "callee": "is_dir", "is_member_call": true, "source_file": "scripts/execute.py", "source_location": "L183", "receiver": "docs_dir"}, {"caller_nid": "$graphify-root$_scripts_execute_stepexecutor_load_guardrails", "callee": "glob", "is_member_call": true, "source_file": "scripts/execute.py", "source_location": "L184", "receiver": "docs_dir"}, {"caller_nid": "$graphify-root$_scripts_execute_stepexecutor_load_guardrails", "callee": "append", "is_member_call": true, "source_file": "scripts/execute.py", "source_location": "L185", "receiver": "sections"}, {"caller_nid": "$graphify-root$_scripts_execute_stepexecutor_load_guardrails", "callee": "read_text", "is_member_call": true, "source_file": "scripts/execute.py", "source_location": "L185", "receiver": "doc"}, {"caller_nid": "$graphify-root$_scripts_execute_stepexecutor_load_guardrails", "callee": "join", "is_member_call": true, "source_file": "scripts/execute.py", "source_location": "L186", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_execute_stepexecutor_build_step_context", "callee": "get", "is_member_call": true, "source_file": "scripts/execute.py", "source_location": "L193", "receiver": "s"}, {"caller_nid": "$graphify-root$_scripts_execute_stepexecutor_build_step_context", "callee": "join", "is_member_call": true, "source_file": "scripts/execute.py", "source_location": "L197", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_execute_stepexecutor_build_preamble", "callee": "format", "is_member_call": true, "source_file": "scripts/execute.py", "source_location": "L201", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_execute_stepexecutor_invoke_claude", "callee": "exists", "is_member_call": true, "source_file": "scripts/execute.py", "source_location": "L233", "receiver": "step_file"}, {"caller_nid": "$graphify-root$_scripts_execute_stepexecutor_invoke_claude", "callee": "exit", "is_member_call": true, "source_file": "scripts/execute.py", "source_location": "L235", "receiver": "sys"}, {"caller_nid": "$graphify-root$_scripts_execute_stepexecutor_invoke_claude", "callee": "read_text", "is_member_call": true, "source_file": "scripts/execute.py", "source_location": "L237", "receiver": "step_file"}, {"caller_nid": "$graphify-root$_scripts_execute_stepexecutor_invoke_claude", "callee": "dump", "is_member_call": true, "source_file": "scripts/execute.py", "source_location": "L255", "receiver": "json"}, {"caller_nid": "$graphify-root$_scripts_execute_stepexecutor_invoke_claude", "callee": "f", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "scripts/execute.py", "source_location": "L255"}, {"caller_nid": "$graphify-root$_scripts_execute_stepexecutor_check_blockers", "callee": "get", "is_member_call": true, "source_file": "scripts/execute.py", "source_location": "L274", "receiver": "s"}, {"caller_nid": "$graphify-root$_scripts_execute_stepexecutor_check_blockers", "callee": "exit", "is_member_call": true, "source_file": "scripts/execute.py", "source_location": "L276", "receiver": "sys"}, {"caller_nid": "$graphify-root$_scripts_execute_stepexecutor_check_blockers", "callee": "get", "is_member_call": true, "source_file": "scripts/execute.py", "source_location": "L279", "receiver": "s"}, {"caller_nid": "$graphify-root$_scripts_execute_stepexecutor_check_blockers", "callee": "exit", "is_member_call": true, "source_file": "scripts/execute.py", "source_location": "L281", "receiver": "sys"}, {"caller_nid": "$graphify-root$_scripts_execute_stepexecutor_execute_single_step", "callee": "get", "is_member_call": true, "source_file": "scripts/execute.py", "source_location": "L313", "receiver": "s"}, {"caller_nid": "$graphify-root$_scripts_execute_stepexecutor_execute_single_step", "callee": "get", "is_member_call": true, "source_file": "scripts/execute.py", "source_location": "L330", "receiver": "s"}, {"caller_nid": "$graphify-root$_scripts_execute_stepexecutor_execute_single_step", "callee": "exit", "is_member_call": true, "source_file": "scripts/execute.py", "source_location": "L334", "receiver": "sys"}, {"caller_nid": "$graphify-root$_scripts_execute_stepexecutor_execute_single_step", "callee": "get", "is_member_call": true, "source_file": "scripts/execute.py", "source_location": "L337", "receiver": "s"}, {"caller_nid": "$graphify-root$_scripts_execute_stepexecutor_execute_single_step", "callee": "pop", "is_member_call": true, "source_file": "scripts/execute.py", "source_location": "L345", "receiver": "s"}, {"caller_nid": "$graphify-root$_scripts_execute_stepexecutor_execute_single_step", "callee": "exit", "is_member_call": true, "source_file": "scripts/execute.py", "source_location": "L360", "receiver": "sys"}, {"caller_nid": "$graphify-root$_scripts_execute_stepexecutor_finalize", "callee": "strip", "is_member_call": true, "source_file": "scripts/execute.py", "source_location": "L398", "receiver": null}, {"caller_nid": "$graphify-root$_scripts_execute_stepexecutor_finalize", "callee": "exit", "is_member_call": true, "source_file": "scripts/execute.py", "source_location": "L399", "receiver": "sys"}, {"caller_nid": "$graphify-root$_scripts_execute_main", "callee": "ArgumentParser", "is_member_call": true, "source_file": "scripts/execute.py", "source_location": "L408", "receiver": "argparse"}, {"caller_nid": "$graphify-root$_scripts_execute_main", "callee": "add_argument", "is_member_call": true, "source_file": "scripts/execute.py", "source_location": "L409", "receiver": "parser"}, {"caller_nid": "$graphify-root$_scripts_execute_main", "callee": "add_argument", "is_member_call": true, "source_file": "scripts/execute.py", "source_location": "L410", "receiver": "parser"}, {"caller_nid": "$graphify-root$_scripts_execute_main", "callee": "parse_args", "is_member_call": true, "source_file": "scripts/execute.py", "source_location": "L411", "receiver": "parser"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/f6481579f778d33a4fdf464e064d8a6dcc309eef6619ab1060b87ffd4e191b15.json b/graphify-out/cache/ast/v0.9.31/f6481579f778d33a4fdf464e064d8a6dcc309eef6619ab1060b87ffd4e191b15.json new file mode 100644 index 0000000..9d723bd --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/f6481579f778d33a4fdf464e064d8a6dcc309eef6619ab1060b87ffd4e191b15.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_src_validation_vrptw_engine_py", "label": "vrptw_engine.py", "file_type": "code", "source_file": "src/validation/vrptw_engine.py", "source_location": "L1"}, {"id": "$graphify-root$_src_validation_vrptw_engine_timematrix", "label": "TimeMatrix", "file_type": "code", "source_file": "src/validation/vrptw_engine.py", "source_location": "L55", "_callable": true, "_callable_class": true}, {"id": "abc", "label": "ABC", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/validation/vrptw_engine.py"}, {"id": "$graphify-root$_src_validation_vrptw_engine_timematrix_get_travel_time", "label": ".get_travel_time()", "file_type": "code", "source_file": "src/validation/vrptw_engine.py", "source_location": "L59", "_callable": true}, {"id": "vrptwplace", "label": "VRPTWPlace", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/validation/vrptw_engine.py"}, {"id": "$graphify-root$_src_validation_vrptw_engine_haversinematrix", "label": "HaversineMatrix", "file_type": "code", "source_file": "src/validation/vrptw_engine.py", "source_location": "L63", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_src_validation_vrptw_engine_haversinematrix_effective_speed", "label": "._effective_speed()", "file_type": "code", "source_file": "src/validation/vrptw_engine.py", "source_location": "L80", "_callable": true}, {"id": "$graphify-root$_src_validation_vrptw_engine_haversinematrix_get_travel_time", "label": ".get_travel_time()", "file_type": "code", "source_file": "src/validation/vrptw_engine.py", "source_location": "L86", "_callable": true}, {"id": "$graphify-root$_src_validation_vrptw_engine_cachedroutematrix", "label": "CachedRouteMatrix", "file_type": "code", "source_file": "src/validation/vrptw_engine.py", "source_location": "L91", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_src_validation_vrptw_engine_cachedroutematrix_init", "label": ".__init__()", "file_type": "code", "source_file": "src/validation/vrptw_engine.py", "source_location": "L98", "_callable": true}, {"id": "$graphify-root$_src_validation_vrptw_engine_cachedroutematrix_from_file", "label": ".from_file()", "file_type": "code", "source_file": "src/validation/vrptw_engine.py", "source_location": "L112", "_callable": true}, {"id": "path", "label": "Path", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/validation/vrptw_engine.py"}, {"id": "$graphify-root$_src_validation_vrptw_engine_cachedroutematrix_get_travel_time", "label": ".get_travel_time()", "file_type": "code", "source_file": "src/validation/vrptw_engine.py", "source_location": "L117", "_callable": true}, {"id": "$graphify-root$_src_validation_vrptw_engine_haversine_m", "label": "_haversine_m()", "file_type": "code", "source_file": "src/validation/vrptw_engine.py", "source_location": "L130", "_callable": true}, {"id": "$graphify-root$_src_validation_vrptw_engine_simresult", "label": "_SimResult", "file_type": "code", "source_file": "src/validation/vrptw_engine.py", "source_location": "L144", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_src_validation_vrptw_engine_minutes_to_hhmm", "label": "_minutes_to_hhmm()", "file_type": "code", "source_file": "src/validation/vrptw_engine.py", "source_location": "L151", "_callable": true}, {"id": "$graphify-root$_src_validation_vrptw_engine_simulate_day", "label": "_simulate_day()", "file_type": "code", "source_file": "src/validation/vrptw_engine.py", "source_location": "L156", "_callable": true}, {"id": "$graphify-root$_src_validation_vrptw_engine_compute_day_total_minutes", "label": "_compute_day_total_minutes()", "file_type": "code", "source_file": "src/validation/vrptw_engine.py", "source_location": "L216", "_callable": true}, {"id": "$graphify-root$_src_validation_vrptw_engine_solve_vrptw_ortools", "label": "_solve_vrptw_ortools()", "file_type": "code", "source_file": "src/validation/vrptw_engine.py", "source_location": "L244", "_callable": true}, {"id": "$graphify-root$_src_validation_vrptw_engine_check_depot_constraints", "label": "_check_depot_constraints()", "file_type": "code", "source_file": "src/validation/vrptw_engine.py", "source_location": "L317", "_callable": true}, {"id": "vrptwday", "label": "VRPTWDay", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/validation/vrptw_engine.py"}, {"id": "deepdiveitem", "label": "DeepDiveItem", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/validation/vrptw_engine.py"}, {"id": "$graphify-root$_src_validation_vrptw_engine_vrptwengine", "label": "VRPTWEngine", "file_type": "code", "source_file": "src/validation/vrptw_engine.py", "source_location": "L378", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_src_validation_vrptw_engine_vrptwengine_init", "label": ".__init__()", "file_type": "code", "source_file": "src/validation/vrptw_engine.py", "source_location": "L385", "_callable": true}, {"id": "$graphify-root$_src_validation_vrptw_engine_vrptwengine_validate", "label": ".validate()", "file_type": "code", "source_file": "src/validation/vrptw_engine.py", "source_location": "L396", "_callable": true}, {"id": "vrptwrequest", "label": "VRPTWRequest", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/validation/vrptw_engine.py"}, {"id": "vrptwresult", "label": "VRPTWResult", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/src/validation/vrptw_engine.py"}, {"id": "$graphify-root$_src_validation_vrptw_engine_vrptwengine_compute_risk_score", "label": "._compute_risk_score()", "file_type": "code", "source_file": "src/validation/vrptw_engine.py", "source_location": "L494", "_callable": true}, {"id": "$graphify-root$_src_validation_vrptw_engine_rationale_1", "label": "VRPTW Validation Engine. Validates travel itineraries against mathematical\u2026", "file_type": "rationale", "source_file": "src/validation/vrptw_engine.py", "source_location": "L1"}, {"id": "$graphify-root$_src_validation_vrptw_engine_rationale_56", "label": "Abstract travel-time provider. Implementations are interchangeable.", "file_type": "rationale", "source_file": "src/validation/vrptw_engine.py", "source_location": "L56"}, {"id": "$graphify-root$_src_validation_vrptw_engine_rationale_60", "label": "Return travel time in seconds.", "file_type": "rationale", "source_file": "src/validation/vrptw_engine.py", "source_location": "L60"}, {"id": "$graphify-root$_src_validation_vrptw_engine_rationale_64", "label": "Calibrated haversine fallback using distance-band multipliers. Kakao Mobility\u2026", "file_type": "rationale", "source_file": "src/validation/vrptw_engine.py", "source_location": "L64"}, {"id": "$graphify-root$_src_validation_vrptw_engine_rationale_92", "label": "Uses Kakao Mobility cache (lng,lat|lng,lat \u2192 seconds). Falls back to Haversine.\u2026", "file_type": "rationale", "source_file": "src/validation/vrptw_engine.py", "source_location": "L92"}, {"id": "$graphify-root$_src_validation_vrptw_engine_rationale_145", "label": "Simulation result for a single day.", "file_type": "rationale", "source_file": "src/validation/vrptw_engine.py", "source_location": "L145"}, {"id": "$graphify-root$_src_validation_vrptw_engine_rationale_161", "label": "Simulate traversal in the given order. Returns travel time and issues.", "file_type": "rationale", "source_file": "src/validation/vrptw_engine.py", "source_location": "L161"}, {"id": "$graphify-root$_src_validation_vrptw_engine_rationale_221", "label": "Total elapsed minutes from first departure to last arrival+stay.", "file_type": "rationale", "source_file": "src/validation/vrptw_engine.py", "source_location": "L221"}, {"id": "$graphify-root$_src_validation_vrptw_engine_rationale_249", "label": "Return (optimal_order, total_travel_seconds) or None on failure.", "file_type": "rationale", "source_file": "src/validation/vrptw_engine.py", "source_location": "L249"}, {"id": "$graphify-root$_src_validation_vrptw_engine_rationale_320", "label": "Enforce depot rules for 2\ubc153\uc77c+ (3+ days). 1\ubc152\uc77c is exempt.", "file_type": "rationale", "source_file": "src/validation/vrptw_engine.py", "source_location": "L320"}, {"id": "$graphify-root$_src_validation_vrptw_engine_rationale_379", "label": "VRPTW-based travel itinerary validator. Accepts a TimeMatrix implementation;\u2026", "file_type": "rationale", "source_file": "src/validation/vrptw_engine.py", "source_location": "L379"}], "edges": [{"source": "$graphify-root$_src_validation_vrptw_engine_py", "target": "json", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/validation/vrptw_engine.py", "source_location": "L11", "weight": 1.0}, {"source": "$graphify-root$_src_validation_vrptw_engine_py", "target": "math", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/validation/vrptw_engine.py", "source_location": "L12", "weight": 1.0}, {"source": "$graphify-root$_src_validation_vrptw_engine_py", "target": "abc", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/validation/vrptw_engine.py", "source_location": "L13", "weight": 1.0}, {"source": "$graphify-root$_src_validation_vrptw_engine_py", "target": "dataclasses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/validation/vrptw_engine.py", "source_location": "L14", "weight": 1.0}, {"source": "$graphify-root$_src_validation_vrptw_engine_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/validation/vrptw_engine.py", "source_location": "L15", "weight": 1.0}, {"source": "$graphify-root$_src_validation_vrptw_engine_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/validation/vrptw_engine.py", "source_location": "L16", "weight": 1.0}, {"source": "$graphify-root$_src_validation_vrptw_engine_py", "target": "src_data_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/validation/vrptw_engine.py", "source_location": "L18", "weight": 1.0}, {"source": "$graphify-root$_src_validation_vrptw_engine_py", "target": "ortools_constraint_solver", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/validation/vrptw_engine.py", "source_location": "L45", "weight": 1.0}, {"source": "$graphify-root$_src_validation_vrptw_engine_py", "target": "$graphify-root$_src_validation_vrptw_engine_timematrix", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/validation/vrptw_engine.py", "source_location": "L55", "weight": 1.0}, {"source": "$graphify-root$_src_validation_vrptw_engine_timematrix", "target": "abc", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "src/validation/vrptw_engine.py", "source_location": "L55", "weight": 1.0}, {"source": "$graphify-root$_src_validation_vrptw_engine_timematrix", "target": "$graphify-root$_src_validation_vrptw_engine_timematrix_get_travel_time", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/validation/vrptw_engine.py", "source_location": "L59", "weight": 1.0}, {"source": "$graphify-root$_src_validation_vrptw_engine_timematrix_get_travel_time", "target": "vrptwplace", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/validation/vrptw_engine.py", "source_location": "L59", "weight": 1.0}, {"source": "$graphify-root$_src_validation_vrptw_engine_timematrix_get_travel_time", "target": "vrptwplace", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/validation/vrptw_engine.py", "source_location": "L59", "weight": 1.0}, {"source": "$graphify-root$_src_validation_vrptw_engine_py", "target": "$graphify-root$_src_validation_vrptw_engine_haversinematrix", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/validation/vrptw_engine.py", "source_location": "L63", "weight": 1.0}, {"source": "$graphify-root$_src_validation_vrptw_engine_haversinematrix", "target": "$graphify-root$_src_validation_vrptw_engine_timematrix", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "src/validation/vrptw_engine.py", "source_location": "L63", "weight": 1.0}, {"source": "$graphify-root$_src_validation_vrptw_engine_haversinematrix", "target": "$graphify-root$_src_validation_vrptw_engine_haversinematrix_effective_speed", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/validation/vrptw_engine.py", "source_location": "L80", "weight": 1.0}, {"source": "$graphify-root$_src_validation_vrptw_engine_haversinematrix", "target": "$graphify-root$_src_validation_vrptw_engine_haversinematrix_get_travel_time", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/validation/vrptw_engine.py", "source_location": "L86", "weight": 1.0}, {"source": "$graphify-root$_src_validation_vrptw_engine_haversinematrix_get_travel_time", "target": "vrptwplace", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/validation/vrptw_engine.py", "source_location": "L86", "weight": 1.0}, {"source": "$graphify-root$_src_validation_vrptw_engine_haversinematrix_get_travel_time", "target": "vrptwplace", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/validation/vrptw_engine.py", "source_location": "L86", "weight": 1.0}, {"source": "$graphify-root$_src_validation_vrptw_engine_py", "target": "$graphify-root$_src_validation_vrptw_engine_cachedroutematrix", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/validation/vrptw_engine.py", "source_location": "L91", "weight": 1.0}, {"source": "$graphify-root$_src_validation_vrptw_engine_cachedroutematrix", "target": "$graphify-root$_src_validation_vrptw_engine_timematrix", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "src/validation/vrptw_engine.py", "source_location": "L91", "weight": 1.0}, {"source": "$graphify-root$_src_validation_vrptw_engine_cachedroutematrix", "target": "$graphify-root$_src_validation_vrptw_engine_cachedroutematrix_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/validation/vrptw_engine.py", "source_location": "L98", "weight": 1.0}, {"source": "$graphify-root$_src_validation_vrptw_engine_cachedroutematrix", "target": "$graphify-root$_src_validation_vrptw_engine_cachedroutematrix_from_file", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/validation/vrptw_engine.py", "source_location": "L112", "weight": 1.0}, {"source": "$graphify-root$_src_validation_vrptw_engine_cachedroutematrix_from_file", "target": "path", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/validation/vrptw_engine.py", "source_location": "L112", "weight": 1.0}, {"source": "$graphify-root$_src_validation_vrptw_engine_cachedroutematrix", "target": "$graphify-root$_src_validation_vrptw_engine_cachedroutematrix_get_travel_time", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/validation/vrptw_engine.py", "source_location": "L117", "weight": 1.0}, {"source": "$graphify-root$_src_validation_vrptw_engine_cachedroutematrix_get_travel_time", "target": "vrptwplace", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/validation/vrptw_engine.py", "source_location": "L117", "weight": 1.0}, {"source": "$graphify-root$_src_validation_vrptw_engine_cachedroutematrix_get_travel_time", "target": "vrptwplace", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/validation/vrptw_engine.py", "source_location": "L117", "weight": 1.0}, {"source": "$graphify-root$_src_validation_vrptw_engine_py", "target": "$graphify-root$_src_validation_vrptw_engine_haversine_m", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/validation/vrptw_engine.py", "source_location": "L130", "weight": 1.0}, {"source": "$graphify-root$_src_validation_vrptw_engine_py", "target": "$graphify-root$_src_validation_vrptw_engine_simresult", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/validation/vrptw_engine.py", "source_location": "L144", "weight": 1.0}, {"source": "$graphify-root$_src_validation_vrptw_engine_py", "target": "$graphify-root$_src_validation_vrptw_engine_minutes_to_hhmm", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/validation/vrptw_engine.py", "source_location": "L151", "weight": 1.0}, {"source": "$graphify-root$_src_validation_vrptw_engine_py", "target": "$graphify-root$_src_validation_vrptw_engine_simulate_day", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/validation/vrptw_engine.py", "source_location": "L156", "weight": 1.0}, {"source": "$graphify-root$_src_validation_vrptw_engine_simulate_day", "target": "vrptwplace", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/validation/vrptw_engine.py", "source_location": "L156", "weight": 1.0}, {"source": "$graphify-root$_src_validation_vrptw_engine_simulate_day", "target": "$graphify-root$_src_validation_vrptw_engine_timematrix", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/validation/vrptw_engine.py", "source_location": "L156", "weight": 1.0}, {"source": "$graphify-root$_src_validation_vrptw_engine_simulate_day", "target": "$graphify-root$_src_validation_vrptw_engine_simresult", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "src/validation/vrptw_engine.py", "source_location": "L156", "weight": 1.0}, {"source": "$graphify-root$_src_validation_vrptw_engine_py", "target": "$graphify-root$_src_validation_vrptw_engine_compute_day_total_minutes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/validation/vrptw_engine.py", "source_location": "L216", "weight": 1.0}, {"source": "$graphify-root$_src_validation_vrptw_engine_compute_day_total_minutes", "target": "vrptwplace", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/validation/vrptw_engine.py", "source_location": "L216", "weight": 1.0}, {"source": "$graphify-root$_src_validation_vrptw_engine_compute_day_total_minutes", "target": "$graphify-root$_src_validation_vrptw_engine_timematrix", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/validation/vrptw_engine.py", "source_location": "L216", "weight": 1.0}, {"source": "$graphify-root$_src_validation_vrptw_engine_py", "target": "$graphify-root$_src_validation_vrptw_engine_solve_vrptw_ortools", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/validation/vrptw_engine.py", "source_location": "L244", "weight": 1.0}, {"source": "$graphify-root$_src_validation_vrptw_engine_solve_vrptw_ortools", "target": "vrptwplace", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/validation/vrptw_engine.py", "source_location": "L244", "weight": 1.0}, {"source": "$graphify-root$_src_validation_vrptw_engine_solve_vrptw_ortools", "target": "$graphify-root$_src_validation_vrptw_engine_timematrix", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/validation/vrptw_engine.py", "source_location": "L244", "weight": 1.0}, {"source": "$graphify-root$_src_validation_vrptw_engine_py", "target": "$graphify-root$_src_validation_vrptw_engine_check_depot_constraints", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/validation/vrptw_engine.py", "source_location": "L317", "weight": 1.0}, {"source": "$graphify-root$_src_validation_vrptw_engine_check_depot_constraints", "target": "vrptwday", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/validation/vrptw_engine.py", "source_location": "L317", "weight": 1.0}, {"source": "$graphify-root$_src_validation_vrptw_engine_check_depot_constraints", "target": "deepdiveitem", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/validation/vrptw_engine.py", "source_location": "L317", "weight": 1.0}, {"source": "$graphify-root$_src_validation_vrptw_engine_py", "target": "$graphify-root$_src_validation_vrptw_engine_vrptwengine", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/validation/vrptw_engine.py", "source_location": "L378", "weight": 1.0}, {"source": "$graphify-root$_src_validation_vrptw_engine_vrptwengine", "target": "$graphify-root$_src_validation_vrptw_engine_vrptwengine_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/validation/vrptw_engine.py", "source_location": "L385", "weight": 1.0}, {"source": "$graphify-root$_src_validation_vrptw_engine_vrptwengine_init", "target": "$graphify-root$_src_validation_vrptw_engine_timematrix", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/validation/vrptw_engine.py", "source_location": "L385", "weight": 1.0}, {"source": "$graphify-root$_src_validation_vrptw_engine_vrptwengine", "target": "$graphify-root$_src_validation_vrptw_engine_vrptwengine_validate", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/validation/vrptw_engine.py", "source_location": "L396", "weight": 1.0}, {"source": "$graphify-root$_src_validation_vrptw_engine_vrptwengine_validate", "target": "vrptwrequest", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/validation/vrptw_engine.py", "source_location": "L396", "weight": 1.0}, {"source": "$graphify-root$_src_validation_vrptw_engine_vrptwengine_validate", "target": "vrptwresult", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "src/validation/vrptw_engine.py", "source_location": "L396", "weight": 1.0}, {"source": "$graphify-root$_src_validation_vrptw_engine_vrptwengine", "target": "$graphify-root$_src_validation_vrptw_engine_vrptwengine_compute_risk_score", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/validation/vrptw_engine.py", "source_location": "L494", "weight": 1.0}, {"source": "$graphify-root$_src_validation_vrptw_engine_vrptwengine_compute_risk_score", "target": "deepdiveitem", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/validation/vrptw_engine.py", "source_location": "L494", "weight": 1.0}, {"source": "$graphify-root$_src_validation_vrptw_engine_vrptwengine_compute_risk_score", "target": "vrptwday", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "src/validation/vrptw_engine.py", "source_location": "L494", "weight": 1.0}, {"source": "$graphify-root$_src_validation_vrptw_engine_haversinematrix_get_travel_time", "target": "$graphify-root$_src_validation_vrptw_engine_haversine_m", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/validation/vrptw_engine.py", "source_location": "L87", "weight": 1.0}, {"source": "$graphify-root$_src_validation_vrptw_engine_haversinematrix_get_travel_time", "target": "$graphify-root$_src_validation_vrptw_engine_haversinematrix_effective_speed", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/validation/vrptw_engine.py", "source_location": "L88", "weight": 1.0}, {"source": "$graphify-root$_src_validation_vrptw_engine_cachedroutematrix_init", "target": "$graphify-root$_src_validation_vrptw_engine_haversinematrix", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/validation/vrptw_engine.py", "source_location": "L109", "weight": 1.0}, {"source": "$graphify-root$_src_validation_vrptw_engine_simulate_day", "target": "$graphify-root$_src_validation_vrptw_engine_cachedroutematrix_get_travel_time", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/validation/vrptw_engine.py", "source_location": "L172", "weight": 1.0}, {"source": "$graphify-root$_src_validation_vrptw_engine_simulate_day", "target": "deepdiveitem", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/validation/vrptw_engine.py", "source_location": "L180", "weight": 1.0}, {"source": "$graphify-root$_src_validation_vrptw_engine_simulate_day", "target": "$graphify-root$_src_validation_vrptw_engine_minutes_to_hhmm", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/validation/vrptw_engine.py", "source_location": "L182", "weight": 1.0}, {"source": "$graphify-root$_src_validation_vrptw_engine_simulate_day", "target": "$graphify-root$_src_validation_vrptw_engine_simresult", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/validation/vrptw_engine.py", "source_location": "L209", "weight": 1.0}, {"source": "$graphify-root$_src_validation_vrptw_engine_compute_day_total_minutes", "target": "$graphify-root$_src_validation_vrptw_engine_cachedroutematrix_get_travel_time", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/validation/vrptw_engine.py", "source_location": "L231", "weight": 1.0}, {"source": "$graphify-root$_src_validation_vrptw_engine_solve_vrptw_ortools", "target": "$graphify-root$_src_validation_vrptw_engine_simulate_day", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/validation/vrptw_engine.py", "source_location": "L253", "weight": 1.0}, {"source": "$graphify-root$_src_validation_vrptw_engine_solve_vrptw_ortools", "target": "$graphify-root$_src_validation_vrptw_engine_cachedroutematrix_get_travel_time", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/validation/vrptw_engine.py", "source_location": "L257", "weight": 1.0}, {"source": "$graphify-root$_src_validation_vrptw_engine_check_depot_constraints", "target": "deepdiveitem", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/validation/vrptw_engine.py", "source_location": "L339", "weight": 1.0}, {"source": "$graphify-root$_src_validation_vrptw_engine_vrptwengine_init", "target": "$graphify-root$_src_validation_vrptw_engine_haversinematrix", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/validation/vrptw_engine.py", "source_location": "L390", "weight": 1.0}, {"source": "$graphify-root$_src_validation_vrptw_engine_vrptwengine_validate", "target": "$graphify-root$_src_validation_vrptw_engine_check_depot_constraints", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/validation/vrptw_engine.py", "source_location": "L403", "weight": 1.0}, {"source": "$graphify-root$_src_validation_vrptw_engine_vrptwengine_validate", "target": "$graphify-root$_src_validation_vrptw_engine_simulate_day", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/validation/vrptw_engine.py", "source_location": "L414", "weight": 1.0}, {"source": "$graphify-root$_src_validation_vrptw_engine_vrptwengine_validate", "target": "$graphify-root$_src_validation_vrptw_engine_compute_day_total_minutes", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/validation/vrptw_engine.py", "source_location": "L419", "weight": 1.0}, {"source": "$graphify-root$_src_validation_vrptw_engine_vrptwengine_validate", "target": "deepdiveitem", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/validation/vrptw_engine.py", "source_location": "L422", "weight": 1.0}, {"source": "$graphify-root$_src_validation_vrptw_engine_vrptwengine_validate", "target": "$graphify-root$_src_validation_vrptw_engine_solve_vrptw_ortools", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/validation/vrptw_engine.py", "source_location": "L437", "weight": 1.0}, {"source": "$graphify-root$_src_validation_vrptw_engine_vrptwengine_validate", "target": "$graphify-root$_src_validation_vrptw_engine_vrptwengine_compute_risk_score", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/validation/vrptw_engine.py", "source_location": "L472", "weight": 1.0}, {"source": "$graphify-root$_src_validation_vrptw_engine_vrptwengine_validate", "target": "vrptwresult", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/validation/vrptw_engine.py", "source_location": "L483", "weight": 1.0}, {"source": "$graphify-root$_src_validation_vrptw_engine_vrptwengine_compute_risk_score", "target": "$graphify-root$_src_validation_vrptw_engine_compute_day_total_minutes", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/validation/vrptw_engine.py", "source_location": "L518", "weight": 1.0}, {"source": "$graphify-root$_src_validation_vrptw_engine_rationale_1", "target": "$graphify-root$_src_validation_vrptw_engine_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/validation/vrptw_engine.py", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_src_validation_vrptw_engine_rationale_56", "target": "$graphify-root$_src_validation_vrptw_engine_timematrix", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/validation/vrptw_engine.py", "source_location": "L56", "weight": 1.0}, {"source": "$graphify-root$_src_validation_vrptw_engine_rationale_60", "target": "$graphify-root$_src_validation_vrptw_engine_timematrix_get_travel_time", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/validation/vrptw_engine.py", "source_location": "L60", "weight": 1.0}, {"source": "$graphify-root$_src_validation_vrptw_engine_rationale_64", "target": "$graphify-root$_src_validation_vrptw_engine_haversinematrix", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/validation/vrptw_engine.py", "source_location": "L64", "weight": 1.0}, {"source": "$graphify-root$_src_validation_vrptw_engine_rationale_92", "target": "$graphify-root$_src_validation_vrptw_engine_cachedroutematrix", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/validation/vrptw_engine.py", "source_location": "L92", "weight": 1.0}, {"source": "$graphify-root$_src_validation_vrptw_engine_rationale_145", "target": "$graphify-root$_src_validation_vrptw_engine_simresult", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/validation/vrptw_engine.py", "source_location": "L145", "weight": 1.0}, {"source": "$graphify-root$_src_validation_vrptw_engine_rationale_161", "target": "$graphify-root$_src_validation_vrptw_engine_simulate_day", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/validation/vrptw_engine.py", "source_location": "L161", "weight": 1.0}, {"source": "$graphify-root$_src_validation_vrptw_engine_rationale_221", "target": "$graphify-root$_src_validation_vrptw_engine_compute_day_total_minutes", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/validation/vrptw_engine.py", "source_location": "L221", "weight": 1.0}, {"source": "$graphify-root$_src_validation_vrptw_engine_rationale_249", "target": "$graphify-root$_src_validation_vrptw_engine_solve_vrptw_ortools", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/validation/vrptw_engine.py", "source_location": "L249", "weight": 1.0}, {"source": "$graphify-root$_src_validation_vrptw_engine_rationale_320", "target": "$graphify-root$_src_validation_vrptw_engine_check_depot_constraints", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/validation/vrptw_engine.py", "source_location": "L320", "weight": 1.0}, {"source": "$graphify-root$_src_validation_vrptw_engine_rationale_379", "target": "$graphify-root$_src_validation_vrptw_engine_vrptwengine", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/validation/vrptw_engine.py", "source_location": "L379", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_src_validation_vrptw_engine_cachedroutematrix_init", "callee": "items", "is_member_call": true, "source_file": "src/validation/vrptw_engine.py", "source_location": "L101", "receiver": "cache"}, {"caller_nid": "$graphify-root$_src_validation_vrptw_engine_cachedroutematrix_init", "callee": "split", "is_member_call": true, "source_file": "src/validation/vrptw_engine.py", "source_location": "L103", "receiver": "raw_key"}, {"caller_nid": "$graphify-root$_src_validation_vrptw_engine_cachedroutematrix_init", "callee": "split", "is_member_call": true, "source_file": "src/validation/vrptw_engine.py", "source_location": "L104", "receiver": "left"}, {"caller_nid": "$graphify-root$_src_validation_vrptw_engine_cachedroutematrix_init", "callee": "split", "is_member_call": true, "source_file": "src/validation/vrptw_engine.py", "source_location": "L105", "receiver": "right"}, {"caller_nid": "$graphify-root$_src_validation_vrptw_engine_cachedroutematrix_from_file", "callee": "load", "is_member_call": true, "source_file": "src/validation/vrptw_engine.py", "source_location": "L114", "receiver": "json"}, {"caller_nid": "$graphify-root$_src_validation_vrptw_engine_cachedroutematrix_from_file", "callee": "f", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "src/validation/vrptw_engine.py", "source_location": "L114"}, {"caller_nid": "$graphify-root$_src_validation_vrptw_engine_cachedroutematrix_from_file", "callee": "cls", "is_member_call": false, "source_file": "src/validation/vrptw_engine.py", "source_location": "L115", "receiver": null}, {"caller_nid": "$graphify-root$_src_validation_vrptw_engine_haversine_m", "callee": "radians", "is_member_call": true, "source_file": "src/validation/vrptw_engine.py", "source_location": "L132", "receiver": "math"}, {"caller_nid": "$graphify-root$_src_validation_vrptw_engine_haversine_m", "callee": "radians", "is_member_call": true, "source_file": "src/validation/vrptw_engine.py", "source_location": "L132", "receiver": "math"}, {"caller_nid": "$graphify-root$_src_validation_vrptw_engine_haversine_m", "callee": "radians", "is_member_call": true, "source_file": "src/validation/vrptw_engine.py", "source_location": "L133", "receiver": "math"}, {"caller_nid": "$graphify-root$_src_validation_vrptw_engine_haversine_m", "callee": "radians", "is_member_call": true, "source_file": "src/validation/vrptw_engine.py", "source_location": "L134", "receiver": "math"}, {"caller_nid": "$graphify-root$_src_validation_vrptw_engine_haversine_m", "callee": "sin", "is_member_call": true, "source_file": "src/validation/vrptw_engine.py", "source_location": "L135", "receiver": "math"}, {"caller_nid": "$graphify-root$_src_validation_vrptw_engine_haversine_m", "callee": "cos", "is_member_call": true, "source_file": "src/validation/vrptw_engine.py", "source_location": "L135", "receiver": "math"}, {"caller_nid": "$graphify-root$_src_validation_vrptw_engine_haversine_m", "callee": "cos", "is_member_call": true, "source_file": "src/validation/vrptw_engine.py", "source_location": "L135", "receiver": "math"}, {"caller_nid": "$graphify-root$_src_validation_vrptw_engine_haversine_m", "callee": "sin", "is_member_call": true, "source_file": "src/validation/vrptw_engine.py", "source_location": "L135", "receiver": "math"}, {"caller_nid": "$graphify-root$_src_validation_vrptw_engine_haversine_m", "callee": "asin", "is_member_call": true, "source_file": "src/validation/vrptw_engine.py", "source_location": "L136", "receiver": "math"}, {"caller_nid": "$graphify-root$_src_validation_vrptw_engine_haversine_m", "callee": "sqrt", "is_member_call": true, "source_file": "src/validation/vrptw_engine.py", "source_location": "L136", "receiver": "math"}, {"caller_nid": "$graphify-root$_src_validation_vrptw_engine_minutes_to_hhmm", "callee": "divmod", "is_member_call": false, "source_file": "src/validation/vrptw_engine.py", "source_location": "L152", "receiver": null}, {"caller_nid": "$graphify-root$_src_validation_vrptw_engine_simulate_day", "callee": "append", "is_member_call": true, "source_file": "src/validation/vrptw_engine.py", "source_location": "L180", "receiver": "deep_dive"}, {"caller_nid": "$graphify-root$_src_validation_vrptw_engine_simulate_day", "callee": "append", "is_member_call": true, "source_file": "src/validation/vrptw_engine.py", "source_location": "L195", "receiver": "deep_dive"}, {"caller_nid": "$graphify-root$_src_validation_vrptw_engine_solve_vrptw_ortools", "callee": "RoutingIndexManager", "is_member_call": true, "source_file": "src/validation/vrptw_engine.py", "source_location": "L259", "receiver": "pywrapcp"}, {"caller_nid": "$graphify-root$_src_validation_vrptw_engine_solve_vrptw_ortools", "callee": "RoutingModel", "is_member_call": true, "source_file": "src/validation/vrptw_engine.py", "source_location": "L260", "receiver": "pywrapcp"}, {"caller_nid": "$graphify-root$_src_validation_vrptw_engine_solve_vrptw_ortools", "callee": "RegisterTransitCallback", "is_member_call": true, "source_file": "src/validation/vrptw_engine.py", "source_location": "L267", "receiver": "routing"}, {"caller_nid": "$graphify-root$_src_validation_vrptw_engine_solve_vrptw_ortools", "callee": "_time_callback", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "src/validation/vrptw_engine.py", "source_location": "L267"}, {"caller_nid": "$graphify-root$_src_validation_vrptw_engine_solve_vrptw_ortools", "callee": "SetArcCostEvaluatorOfAllVehicles", "is_member_call": true, "source_file": "src/validation/vrptw_engine.py", "source_location": "L268", "receiver": "routing"}, {"caller_nid": "$graphify-root$_src_validation_vrptw_engine_solve_vrptw_ortools", "callee": "AddDimension", "is_member_call": true, "source_file": "src/validation/vrptw_engine.py", "source_location": "L272", "receiver": "routing"}, {"caller_nid": "$graphify-root$_src_validation_vrptw_engine_solve_vrptw_ortools", "callee": "GetDimensionOrDie", "is_member_call": true, "source_file": "src/validation/vrptw_engine.py", "source_location": "L279", "receiver": "routing"}, {"caller_nid": "$graphify-root$_src_validation_vrptw_engine_solve_vrptw_ortools", "callee": "NodeToIndex", "is_member_call": true, "source_file": "src/validation/vrptw_engine.py", "source_location": "L282", "receiver": "manager"}, {"caller_nid": "$graphify-root$_src_validation_vrptw_engine_solve_vrptw_ortools", "callee": "SetRange", "is_member_call": true, "source_file": "src/validation/vrptw_engine.py", "source_location": "L285", "receiver": null}, {"caller_nid": "$graphify-root$_src_validation_vrptw_engine_solve_vrptw_ortools", "callee": "CumulVar", "is_member_call": true, "source_file": "src/validation/vrptw_engine.py", "source_location": "L285", "receiver": "time_dim"}, {"caller_nid": "$graphify-root$_src_validation_vrptw_engine_solve_vrptw_ortools", "callee": "DefaultRoutingSearchParameters", "is_member_call": true, "source_file": "src/validation/vrptw_engine.py", "source_location": "L287", "receiver": "pywrapcp"}, {"caller_nid": "$graphify-root$_src_validation_vrptw_engine_solve_vrptw_ortools", "callee": "SolveWithParameters", "is_member_call": true, "source_file": "src/validation/vrptw_engine.py", "source_location": "L293", "receiver": "routing"}, {"caller_nid": "$graphify-root$_src_validation_vrptw_engine_solve_vrptw_ortools", "callee": "Start", "is_member_call": true, "source_file": "src/validation/vrptw_engine.py", "source_location": "L300", "receiver": "routing"}, {"caller_nid": "$graphify-root$_src_validation_vrptw_engine_solve_vrptw_ortools", "callee": "IsEnd", "is_member_call": true, "source_file": "src/validation/vrptw_engine.py", "source_location": "L302", "receiver": "routing"}, {"caller_nid": "$graphify-root$_src_validation_vrptw_engine_solve_vrptw_ortools", "callee": "IndexToNode", "is_member_call": true, "source_file": "src/validation/vrptw_engine.py", "source_location": "L303", "receiver": "manager"}, {"caller_nid": "$graphify-root$_src_validation_vrptw_engine_solve_vrptw_ortools", "callee": "append", "is_member_call": true, "source_file": "src/validation/vrptw_engine.py", "source_location": "L304", "receiver": "route"}, {"caller_nid": "$graphify-root$_src_validation_vrptw_engine_solve_vrptw_ortools", "callee": "Value", "is_member_call": true, "source_file": "src/validation/vrptw_engine.py", "source_location": "L308", "receiver": "solution"}, {"caller_nid": "$graphify-root$_src_validation_vrptw_engine_solve_vrptw_ortools", "callee": "NextVar", "is_member_call": true, "source_file": "src/validation/vrptw_engine.py", "source_location": "L308", "receiver": "routing"}, {"caller_nid": "$graphify-root$_src_validation_vrptw_engine_check_depot_constraints", "callee": "_has_depot", "is_member_call": false, "source_file": "src/validation/vrptw_engine.py", "source_location": "L338", "receiver": null}, {"caller_nid": "$graphify-root$_src_validation_vrptw_engine_check_depot_constraints", "callee": "append", "is_member_call": true, "source_file": "src/validation/vrptw_engine.py", "source_location": "L339", "receiver": "issues"}, {"caller_nid": "$graphify-root$_src_validation_vrptw_engine_check_depot_constraints", "callee": "_has_depot", "is_member_call": false, "source_file": "src/validation/vrptw_engine.py", "source_location": "L347", "receiver": null}, {"caller_nid": "$graphify-root$_src_validation_vrptw_engine_check_depot_constraints", "callee": "append", "is_member_call": true, "source_file": "src/validation/vrptw_engine.py", "source_location": "L348", "receiver": "issues"}, {"caller_nid": "$graphify-root$_src_validation_vrptw_engine_check_depot_constraints", "callee": "_has_depot", "is_member_call": false, "source_file": "src/validation/vrptw_engine.py", "source_location": "L356", "receiver": null}, {"caller_nid": "$graphify-root$_src_validation_vrptw_engine_check_depot_constraints", "callee": "append", "is_member_call": true, "source_file": "src/validation/vrptw_engine.py", "source_location": "L357", "receiver": "issues"}, {"caller_nid": "$graphify-root$_src_validation_vrptw_engine_check_depot_constraints", "callee": "_has_depot", "is_member_call": false, "source_file": "src/validation/vrptw_engine.py", "source_location": "L363", "receiver": null}, {"caller_nid": "$graphify-root$_src_validation_vrptw_engine_check_depot_constraints", "callee": "append", "is_member_call": true, "source_file": "src/validation/vrptw_engine.py", "source_location": "L364", "receiver": "issues"}, {"caller_nid": "$graphify-root$_src_validation_vrptw_engine_vrptwengine_init", "callee": "_ORTOOLS_AVAILABLE", "is_member_call": false, "indirect": true, "context": "assignment", "source_file": "src/validation/vrptw_engine.py", "source_location": "L392"}, {"caller_nid": "$graphify-root$_src_validation_vrptw_engine_vrptwengine_validate", "callee": "extend", "is_member_call": true, "source_file": "src/validation/vrptw_engine.py", "source_location": "L403", "receiver": "deep_dive"}, {"caller_nid": "$graphify-root$_src_validation_vrptw_engine_vrptwengine_validate", "callee": "DEFAULT_START_MINUTES", "is_member_call": false, "indirect": true, "context": "assignment", "source_file": "src/validation/vrptw_engine.py", "source_location": "L407"}, {"caller_nid": "$graphify-root$_src_validation_vrptw_engine_vrptwengine_validate", "callee": "DEFAULT_START_MINUTES", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "src/validation/vrptw_engine.py", "source_location": "L411"}, {"caller_nid": "$graphify-root$_src_validation_vrptw_engine_vrptwengine_validate", "callee": "extend", "is_member_call": true, "source_file": "src/validation/vrptw_engine.py", "source_location": "L416", "receiver": "deep_dive"}, {"caller_nid": "$graphify-root$_src_validation_vrptw_engine_vrptwengine_validate", "callee": "append", "is_member_call": true, "source_file": "src/validation/vrptw_engine.py", "source_location": "L422", "receiver": "deep_dive"}, {"caller_nid": "$graphify-root$_src_validation_vrptw_engine_vrptwengine_validate", "callee": "append", "is_member_call": true, "source_file": "src/validation/vrptw_engine.py", "source_location": "L443", "receiver": "day_comparisons"}, {"caller_nid": "$graphify-root$_src_validation_vrptw_engine_vrptwengine_validate", "callee": "DayRouteComparison", "is_member_call": false, "source_file": "src/validation/vrptw_engine.py", "source_location": "L443", "receiver": null}, {"caller_nid": "$graphify-root$_src_validation_vrptw_engine_vrptwengine_validate", "callee": "append", "is_member_call": true, "source_file": "src/validation/vrptw_engine.py", "source_location": "L460", "receiver": "deep_dive"}, {"caller_nid": "$graphify-root$_src_validation_vrptw_engine_vrptwengine_compute_risk_score", "callee": "DEFAULT_START_MINUTES", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "src/validation/vrptw_engine.py", "source_location": "L519"}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.9.31/fdcd45f1447f5dd20fc2a4e9f6650fc1a7cf3b6654aac46d87b0b2520b9f85e4.json b/graphify-out/cache/ast/v0.9.31/fdcd45f1447f5dd20fc2a4e9f6650fc1a7cf3b6654aac46d87b0b2520b9f85e4.json new file mode 100644 index 0000000..9621232 --- /dev/null +++ b/graphify-out/cache/ast/v0.9.31/fdcd45f1447f5dd20fc2a4e9f6650fc1a7cf3b6654aac46d87b0b2520b9f85e4.json @@ -0,0 +1 @@ +{"nodes": [{"id": "$graphify-root$_phases_0_setup_statistical_report_py", "label": "statistical_report.py", "file_type": "code", "source_file": "phases/0-setup/statistical_report.py", "source_location": "L1"}, {"id": "$graphify-root$_phases_0_setup_statistical_report_pct", "label": "pct()", "file_type": "code", "source_file": "phases/0-setup/statistical_report.py", "source_location": "L37", "_callable": true}, {"id": "$graphify-root$_phases_0_setup_statistical_report_pctile", "label": "pctile()", "file_type": "code", "source_file": "phases/0-setup/statistical_report.py", "source_location": "L40", "_callable": true}, {"id": "$graphify-root$_phases_0_setup_statistical_report_header", "label": "header()", "file_type": "code", "source_file": "phases/0-setup/statistical_report.py", "source_location": "L87", "_callable": true}, {"id": "$graphify-root$_phases_0_setup_statistical_report_rationale_1", "label": "AI \uc5ec\ud589 \ucd94\ucc9c \uc131\ub2a5 \ud1b5\uacc4 \ubd84\uc11d analysis_result.json \uc744 \uc77d\uc5b4 AI \ucd94\ucc9c\uc758 \uad6c\uc870\uc801 \ubb38\uc81c\ub97c \uc815\ub7c9\ud654\ud55c\ub2e4.", "file_type": "rationale", "source_file": "phases/0-setup/statistical_report.py", "source_location": "L1"}], "edges": [{"source": "$graphify-root$_phases_0_setup_statistical_report_py", "target": "json", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "phases/0-setup/statistical_report.py", "source_location": "L5", "weight": 1.0}, {"source": "$graphify-root$_phases_0_setup_statistical_report_py", "target": "math", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "phases/0-setup/statistical_report.py", "source_location": "L6", "weight": 1.0}, {"source": "$graphify-root$_phases_0_setup_statistical_report_py", "target": "statistics", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "phases/0-setup/statistical_report.py", "source_location": "L7", "weight": 1.0}, {"source": "$graphify-root$_phases_0_setup_statistical_report_py", "target": "sys", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "phases/0-setup/statistical_report.py", "source_location": "L8", "weight": 1.0}, {"source": "$graphify-root$_phases_0_setup_statistical_report_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "phases/0-setup/statistical_report.py", "source_location": "L9", "weight": 1.0}, {"source": "$graphify-root$_phases_0_setup_statistical_report_py", "target": "collections", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "phases/0-setup/statistical_report.py", "source_location": "L10", "weight": 1.0}, {"source": "$graphify-root$_phases_0_setup_statistical_report_py", "target": "$graphify-root$_phases_0_setup_statistical_report_pct", "relation": "contains", "confidence": "EXTRACTED", "source_file": "phases/0-setup/statistical_report.py", "source_location": "L37", "weight": 1.0}, {"source": "$graphify-root$_phases_0_setup_statistical_report_py", "target": "$graphify-root$_phases_0_setup_statistical_report_pctile", "relation": "contains", "confidence": "EXTRACTED", "source_file": "phases/0-setup/statistical_report.py", "source_location": "L40", "weight": 1.0}, {"source": "$graphify-root$_phases_0_setup_statistical_report_py", "target": "$graphify-root$_phases_0_setup_statistical_report_header", "relation": "contains", "confidence": "EXTRACTED", "source_file": "phases/0-setup/statistical_report.py", "source_location": "L87", "weight": 1.0}, {"source": "$graphify-root$_phases_0_setup_statistical_report_rationale_1", "target": "$graphify-root$_phases_0_setup_statistical_report_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "phases/0-setup/statistical_report.py", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_phases_0_setup_statistical_report_header", "callee": "sep", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "phases/0-setup/statistical_report.py", "source_location": "L90"}]} \ No newline at end of file diff --git a/graphify-out/cache/last_query_stamp b/graphify-out/cache/last_query_stamp new file mode 100644 index 0000000..d431cda --- /dev/null +++ b/graphify-out/cache/last_query_stamp @@ -0,0 +1 @@ +1789203191.2654688 \ No newline at end of file diff --git a/graphify-out/cache/stat-index.json b/graphify-out/cache/stat-index.json new file mode 100644 index 0000000..7b16525 --- /dev/null +++ b/graphify-out/cache/stat-index.json @@ -0,0 +1 @@ +{".codex/hooks.json":{"size":901,"mtime_ns":1785898952005275288,"word_count":82,"hashes":{".codex/hooks.json":"8c3ca9681b2d256e64895bb5cc29a0e4c9c7ab3f1640404744da993c24e32550"}},".github/workflows/ci.yml":{"size":785,"mtime_ns":1780630909494225541,"word_count":85,"hashes":{".github/workflows/ci.yml":"d203e480f677bc4c14c77a10c986fcc8ea2a0282765fcd4ed6f31f8b07f0cf6b"}},".impeccable/critique/2026-05-30T06-32-37Z__src-api-static-index-html.md":{"size":4012,"mtime_ns":1780122757280615535,"word_count":623,"hashes":{".impeccable/critique/2026-05-30t06-32-37z__src-api-static-index-html.md":"0d90e0ad7d10f9c8fc6d4f8c1edff48ed8b5a3e6e5b1e80481bb39fc506758c0"}},".impeccable/critique/2026-05-30T06-43-35Z__src-api-static-index-html.md":{"size":3210,"mtime_ns":1780123415848350885,"word_count":510,"hashes":{".impeccable/critique/2026-05-30t06-43-35z__src-api-static-index-html.md":"80f10c277b7624f5485f98b4fec8f189afa156fab639bc48eef2a10708193a15"}},".impeccable/critique/2026-06-09T16-23-22Z__src-api-static-index-html.md":{"size":5072,"mtime_ns":1781022202041674057,"word_count":777,"hashes":{".impeccable/critique/2026-06-09t16-23-22z__src-api-static-index-html.md":"cc21bfdb74cee1fe4f5fe5b7715d67c7eb7999fbf1249915a65b29dba94a63dc"}},".impeccable/critique/2026-06-09T16-52-59Z__src-api-static-index-html.md":{"size":4283,"mtime_ns":1781023979495552890,"word_count":564,"hashes":{".impeccable/critique/2026-06-09t16-52-59z__src-api-static-index-html.md":"1a4619f9d31421d3e741666a8808be078300e5153ddf6c0eb84c04dfe53a5a73"}},".serena/project.yml":{"size":61,"mtime_ns":1785637323943564412,"word_count":5,"hashes":{".serena/project.yml":"548f15c3bf9a3fc96e852fad5e026015d952a40f4e689ff7616430d6cc7b5314"}},"AGENTS.md":{"size":3974,"mtime_ns":1785898952003512281,"word_count":490,"hashes":{"agents.md":"4ea3c28a7d55d78c692fd35bf63bb0d9a9e3fb85e3e09ea9e8ca04a8eb70d06a"}},"CLAUDE.md":{"size":3979,"mtime_ns":1777520459390385988,"word_count":490,"hashes":{"claude.md":"4b53a5fdc066099b72f586d17b9c3b715eb1aade4d0aa9a45809c90a65732a45"}},"GEMINI.md":{"size":5588,"mtime_ns":1777524503816741681,"word_count":736,"hashes":{"gemini.md":"213bb4d19f8dcdfad0c5ccbfb0ce19e1c4ae9dbc3c121be1d1d5d1cada462406"}},"PRODUCT.md":{"size":2898,"mtime_ns":1780121642942688013,"word_count":426,"hashes":{"product.md":"d4a7ffa92bae49ada971e9f05975cd0dff591c6909e459994f392cb5eb366e03"}},"README.md":{"size":18141,"mtime_ns":1781013588628931807,"word_count":2511,"hashes":{"readme.md":"b5f7f9974cf86f3c91f14071590750d5be5d3e35d39d9b77bf003849f0e4d89e"}},"SUMMARY.md":{"size":35736,"mtime_ns":1778132197598392261,"word_count":2673,"hashes":{"summary.md":"8d9b6d74207184cbc36a956dba4ff3b833fd1e9949437944a337c0a42defd899"}},"api.md":{"size":1728,"mtime_ns":1777715514673590277,"word_count":172,"hashes":{"api.md":"c41821804c10e64135fe62a24a0a5806b93187c0d200f404237c87d0138e1900"}},"data/barrier_free_places.json":{"size":583842,"mtime_ns":1777871166071958080,"word_count":50845,"hashes":{"data/barrier_free_places.json":"22d7f531dff8fc4d5f17095ebfc8ddffbc0ba131fcefe44c51e17cef9ec67738"}},"data/jeju_hours.json":{"size":12024,"mtime_ns":1785587001302524123,"word_count":1367,"hashes":{"data/jeju_hours.json":"430c6b04400fecc36091d3ed6110355672851cb4f75c23c13b09760013f60b72"}},"data/naver/naver_metadata.json":{"size":570601,"mtime_ns":1777472848775867548,"word_count":44822,"hashes":{"data/naver/naver_metadata.json":"34f55b7f7bcd98f2ded56cebb0a0325c269ac72ca00b03657922d85dbeac4517"}},"data/naver/naver_progress.json":{"size":570601,"mtime_ns":1777472848768358587,"word_count":44822,"hashes":{"data/naver/naver_progress.json":"5dc4657a34dced0d6137fbed1fb01d9f4848e8dd3b126765028ad35dbea963c0"}},"data/supabase_migration_congestion.sql":{"size":1774,"mtime_ns":1777516043418635376,"word_count":209,"hashes":{"data/supabase_migration_congestion.sql":"0841a33fae3334025964e290dcba09d333bc8d20b05fa78fafa1c0e4a19bc36d"}},"data/wellness_places.json":{"size":43020,"mtime_ns":1777871146010441360,"word_count":3924,"hashes":{"data/wellness_places.json":"5602e63db75e0d4ab8596368a8c9680690f6669857a68d5f9393219293a7e423"}},"data_construct.md":{"size":6962,"mtime_ns":1785371055323068002,"word_count":847,"hashes":{"data_construct.md":"64cc08da9d377930c34849d167d51240cf87289b9ff4613f3e9eeb4f779bab79"}},"docker-compose.yml":{"size":449,"mtime_ns":1780630909494931784,"word_count":36,"hashes":{"docker-compose.yml":"3c08be6ae484cac1fe94d61ae92c7627fcb2d901f2caeb90007a6d5a80b2309e"}},"docs/ADR.md":{"size":5148,"mtime_ns":1777524250981362621,"word_count":591,"hashes":{"docs/adr.md":"eaee1c03d2d9f854720c2609372e137e9ec920fff607a3ffb8b8e6b13949eb43"}},"docs/ARCHITECTURE.md":{"size":10039,"mtime_ns":1777523474771753946,"word_count":1235,"hashes":{"docs/architecture.md":"75e2fd237ed68ad3fae3d136223c2365fa7f8f10c3167bfeb6e7af0c898da8a9"}},"docs/DATA_COLLECTION.md":{"size":5997,"mtime_ns":1777524464925312953,"word_count":711,"hashes":{"docs/data_collection.md":"4d3f1a0dbb52577e374bd6c87f5c0398022d0ad792d2d40a1f8292829e2dec8b"}},"docs/ENHANCEMENT_PLAN.md":{"size":13723,"mtime_ns":1777524391620629301,"word_count":1832,"hashes":{"docs/enhancement_plan.md":"f7896e2a677141bd8c08eb79353681f9c79e4fb3479526205c033139eba1f634"}},"docs/PRD.md":{"size":5674,"mtime_ns":1777524306578525432,"word_count":756,"hashes":{"docs/prd.md":"c945b57a4cdd9baff70d1e545c499eb480e9bcc11cf20935502ba70182144a60"}},"docs/UI_GUIDE.md":{"size":5315,"mtime_ns":1777524420389598098,"word_count":653,"hashes":{"docs/ui_guide.md":"3232f79089dfbbafd5d8e8e90be38845df47a2fe69066fb58a0137c24b1fa03f"}},"gun/data/kakao_route_cache.json":{"size":8542,"mtime_ns":1777722543919778095,"word_count":402,"hashes":{"gun/data/kakao_route_cache.json":"f30f2d72f97621f7275dd7102477b5083c4f47d7e88d4c0ec1fb6db023c0f719"}},"gun/docs/COLLECTION_GUIDE.md":{"size":7680,"mtime_ns":1777722543920450597,"word_count":1065,"hashes":{"gun/docs/collection_guide.md":"7dc0914c0f22e47cdab5a8d4ed401fbe6f35ab839d93babf2cd256e991c367f1"}},"gun/docs/DESIGN_RECONCILIATION.md":{"size":10769,"mtime_ns":1777722543920618139,"word_count":1395,"hashes":{"gun/docs/design_reconciliation.md":"7da145770f0042aed9e3bd02469e296c2ad10f35424fca9636fbdf7643f74d7a"}},"gun/docs/README.md":{"size":1610,"mtime_ns":1777722543920736722,"word_count":198,"hashes":{"gun/docs/readme.md":"f8302172c453a3eee6d9833fbe3f81bcf1756ac8beb6017ed92ee07e4e37068a"}},"gun/scripts/build_hours_db.py":{"size":35991,"mtime_ns":1777774502375675821,"word_count":2234,"hashes":{"gun/scripts/build_hours_db.py":"8c0bf46d9ea062ee35d3676e1e9130054bdf1a47a46b44385e691c603e8f1954"}},"gun/scripts/build_itinerary_excel.py":{"size":22228,"mtime_ns":1777774502376047611,"word_count":1849,"hashes":{"gun/scripts/build_itinerary_excel.py":"e7477d4a6751d5b8b73957d50ddd92e15872a1517a43cd2c5b4b3db626cf2e99"}},"gun/scripts/build_ppt.js":{"size":82683,"mtime_ns":1777722543921198265,"word_count":10539},"gun/scripts/build_travel_matrix.py":{"size":6679,"mtime_ns":1777722543921413724,"word_count":601,"hashes":{"gun/scripts/build_travel_matrix.py":"6214e09ef0a8a9abacff2ec6a9e7e0ca002d503a5a56ce005c26a6e59f6de5a7"}},"gun/scripts/create_input_template.py":{"size":7955,"mtime_ns":1777722543921626683,"word_count":674,"hashes":{"gun/scripts/create_input_template.py":"22feb272eb4e2fa6ddffb4f0f095a2fa27ad9af2b666d5f77397c3ca7c3f0686"}},"gun/scripts/curated_itineraries.py":{"size":34461,"mtime_ns":1777722543921766100,"word_count":2668,"hashes":{"gun/scripts/curated_itineraries.py":"86e9427e650fb2a467fb8b65ea37600d642a8d96f69d00b481a25699ae861c25"}},"gun/scripts/fetch_google_hours.py":{"size":8479,"mtime_ns":1777725821046097424,"word_count":708,"hashes":{"gun/scripts/fetch_google_hours.py":"62a1600bad85c2df3c9c7fe88f175da8c8214d38b62ce75d10d59f5e84a18582"}},"gun/scripts/fetch_tourapi_to_csv.py":{"size":40810,"mtime_ns":1777722543921929850,"word_count":3443,"hashes":{"gun/scripts/fetch_tourapi_to_csv.py":"39c8836f09762652402a903155e8f873e2d88c24e82f185923cddfbbc0384f52"}},"gun/scripts/inspect_json.py":{"size":6608,"mtime_ns":1777722543922128601,"word_count":640,"hashes":{"gun/scripts/inspect_json.py":"24ce014a6e4284ab10877ff8595735d01d7f820c595a5026c1b9b6e7fcfb18c7"}},"gun/scripts/preprocess_pois.py":{"size":11136,"mtime_ns":1777722543922292893,"word_count":1005,"hashes":{"gun/scripts/preprocess_pois.py":"1cf4b2953f79d03587cb233f060c575183ada7285a12f66cf1245f429bfef9f2"}},"gun/scripts/setup_and_test.py":{"size":2626,"mtime_ns":1777722543922385685,"word_count":241,"hashes":{"gun/scripts/setup_and_test.py":"651d7d4fbc67fb037ee51cee9f0b6685479d63aec7fba9f4f2fb473f7e2e9881"}},"gun/src/__init__.py":{"size":0,"mtime_ns":1777722543922457644,"word_count":0,"hashes":{"gun/src/__init__.py":"0bb2be7d2b7ff58a6bb19492dcd31a3e6152b7cc64e60b871552f18851f61336"}},"gun/src/validation/__init__.py":{"size":0,"mtime_ns":1777722543922543602,"word_count":0,"hashes":{"gun/src/validation/__init__.py":"b44a90018ceb78e047b4587cdd5b1784b241ff87045d4fc33005cf64e52c1db3"}},"gun/tests/__init__.py":{"size":0,"mtime_ns":1777722543922630144,"word_count":0,"hashes":{"gun/tests/__init__.py":"0bf71a6870f836354488c5ab12ae0e5d7568471a30d8f751caae22ac03b3c6a7"}},"package.json":{"size":54,"mtime_ns":1777722543922728728,"word_count":7,"hashes":{"package.json":"07cc7681576c2df22194b42d51211a47c33f22b37e3c0da8b74adb07764f0582"}},"phases/0-setup/analysis_result.json":{"size":45493,"mtime_ns":1777451253562237410,"word_count":3867,"hashes":{"phases/0-setup/analysis_result.json":"45c5b6d4fe137bc9eb1020984802a0e64f92b669beaa63f7b6287364c0bb39ea"}},"phases/0-setup/analyze.py":{"size":17133,"mtime_ns":1777451253562374408,"word_count":1606,"hashes":{"phases/0-setup/analyze.py":"01cbfd23b94cbd533ae354770d90475f7090879eea6324159c4bb235ff7071ee"}},"phases/0-setup/analyze_triple.py":{"size":18882,"mtime_ns":1777451253562494198,"word_count":1820,"hashes":{"phases/0-setup/analyze_triple.py":"746211cf1105bf95334ae8d58345e89cff39469079546d60fa716d745faa3af4"}},"phases/0-setup/cache_route.json":{"size":26160,"mtime_ns":1777451253562775444,"word_count":1238,"hashes":{"phases/0-setup/cache_route.json":"c92ac67e542aafa2269b2617a6acb424940df6f76052f6ec0c79fd8ca01be620"}},"phases/0-setup/index.json":{"size":220,"mtime_ns":1777451253563608391,"word_count":28,"hashes":{"phases/0-setup/index.json":"3a317bcb806cbeece881cf452206342c7fbcb5a687016048b27f2aad59db1bd6"}},"phases/0-setup/statistical_report.json":{"size":6510,"mtime_ns":1777451253563687349,"word_count":611,"hashes":{"phases/0-setup/statistical_report.json":"8a34e5e743cb42a2c0db1e705f56dae893eefd52186d6c989a3cf16eea4cb5d2"}},"phases/0-setup/statistical_report.py":{"size":13457,"mtime_ns":1777451253563792389,"word_count":1214,"hashes":{"phases/0-setup/statistical_report.py":"fdcd45f1447f5dd20fc2a4e9f6650fc1a7cf3b6654aac46d87b0b2520b9f85e4"}},"phases/0-setup/step0.md":{"size":2738,"mtime_ns":1777451253563893929,"word_count":256,"hashes":{"phases/0-setup/step0.md":"253c5045044e04833e5faa7117fb50f1cd83527bf6782443018c92ab9d463ac4"}},"phases/0-setup/step1.md":{"size":9518,"mtime_ns":1777451253564010511,"word_count":859,"hashes":{"phases/0-setup/step1.md":"0a7dde4c5628675d7fe174083a40106670f92c636b20be3c1965871cec061d7d"}},"phases/0-setup/triple_analysis_result.json":{"size":48344,"mtime_ns":1777451253564103760,"word_count":4069,"hashes":{"phases/0-setup/triple_analysis_result.json":"ca69c9cc19b4c2a650f0938c9c0b369844d79c621e6788b3fca81e9f9a1e8a33"}},"phases/0-setup/visualize.py":{"size":6948,"mtime_ns":1777451253564729793,"word_count":661,"hashes":{"phases/0-setup/visualize.py":"432695e40c8fc3be7a00f85d5f15e39a565f748c592825bfdc28e1eac22f3bbf"}},"phases/0-setup/visualize_combined.py":{"size":12852,"mtime_ns":1778043956778001721,"word_count":1198,"hashes":{"phases/0-setup/visualize_combined.py":"2d8e22a201939a2bafec1809a59ad56c137e2b82647dd3b47161e6ca92603bb9"}},"phases/1-data/index.json":{"size":295,"mtime_ns":1777451253565236494,"word_count":36,"hashes":{"phases/1-data/index.json":"eca291eef3e5656b6443e78ae33031b6bc63d85a19f4020d5ce2bfb8877c46f8"}},"phases/1-data/step0.md":{"size":2798,"mtime_ns":1777451253565321076,"word_count":318,"hashes":{"phases/1-data/step0.md":"e5ea0ec026800e6d35540b80a47f922cd6af90a1d62c96f9c793eadbcecb1a70"}},"phases/1-data/step1.md":{"size":3782,"mtime_ns":1777451253565398617,"word_count":368,"hashes":{"phases/1-data/step1.md":"3dc65245c95fd9ff9797048340b49e0e1594e9526b06bbfed69b61ae7cc9846f"}},"phases/1-data/step2.md":{"size":3903,"mtime_ns":1777451253565467866,"word_count":421,"hashes":{"phases/1-data/step2.md":"434366a39381920c53a1853a47ced0591be8bd177549ece29f38131356c4517b"}},"phases/1-data/step3.md":{"size":5105,"mtime_ns":1777451253565549490,"word_count":459,"hashes":{"phases/1-data/step3.md":"2f24ce47f28b019008107b98fa33e460653cf9710b3a322761b56e9af8e5d668"}},"phases/2-matrix/index.json":{"size":158,"mtime_ns":1777451253565660363,"word_count":20,"hashes":{"phases/2-matrix/index.json":"d2186113fc2b3e94b2c47b2c4982f8ebc3aa123d4b97a87689d2e60345cdd252"}},"phases/2-matrix/step0.md":{"size":4246,"mtime_ns":1777451253565728237,"word_count":413,"hashes":{"phases/2-matrix/step0.md":"8b970582db94a91aa842d38c5c0432939a302f56eb0ba8741ae951945c34c305"}},"phases/3-graph/index.json":{"size":287,"mtime_ns":1777451253565820028,"word_count":36,"hashes":{"phases/3-graph/index.json":"188330f39eabb7b1c38b1c971186c8158431bf9ceeb7a7ad9eacff36b9e5ae25"}},"phases/3-graph/step0.md":{"size":3496,"mtime_ns":1777451253565900110,"word_count":368,"hashes":{"phases/3-graph/step0.md":"1b3e1e78418fd7a958cbb9708b877bf136da2c1b195eb1f5dedadf15ffb725dd"}},"phases/3-graph/step1.md":{"size":3649,"mtime_ns":1777451253565973776,"word_count":376,"hashes":{"phases/3-graph/step1.md":"e016451cddb482532295b935e7c480b600401d0418a6cbc9594da529d7b5b2ff"}},"phases/3-graph/step2.md":{"size":2969,"mtime_ns":1777451253566046191,"word_count":316,"hashes":{"phases/3-graph/step2.md":"cf45de8a6d108946ec62da9118806621824ba4424cfa9098a12e2af5f3ff5ebf"}},"phases/4-validation/index.json":{"size":280,"mtime_ns":1777451253566143607,"word_count":36,"hashes":{"phases/4-validation/index.json":"b023f67f479e700b9df7220cc84f591db4130f24706cd725df16093647cd3f9d"}},"phases/4-validation/step0.md":{"size":4422,"mtime_ns":1777451253566208314,"word_count":462,"hashes":{"phases/4-validation/step0.md":"bf6d642c0eec5c799e8812d20a737bfc5862460f80f7c01f2fad700fe83e59bc"}},"phases/4-validation/step1.md":{"size":4254,"mtime_ns":1777451253566283521,"word_count":429,"hashes":{"phases/4-validation/step1.md":"216f3af9787af953e27490b6e48ce28b6496759d9b414f0391567e74158ef358"}},"phases/4-validation/step2.md":{"size":5212,"mtime_ns":1777451253566356354,"word_count":559,"hashes":{"phases/4-validation/step2.md":"d20407494a170bbd1b22c4bd2c132356e27f58cc70835c12422dbd7e5cf77b30"}},"phases/5-explain/index.json":{"size":292,"mtime_ns":1777451253566470185,"word_count":36,"hashes":{"phases/5-explain/index.json":"d6c1ca51e5fc771b8e13e5d5dce2c9a9a717fda347cc5b00e270834e331d4fe7"}},"phases/5-explain/step0.md":{"size":3730,"mtime_ns":1777451253566548934,"word_count":382,"hashes":{"phases/5-explain/step0.md":"643eb0c8947b0c93d807299b657d478741cd965ecf3d6fd1fb8c9d17b92ac59a"}},"phases/5-explain/step1.md":{"size":4291,"mtime_ns":1777451253566627600,"word_count":396,"hashes":{"phases/5-explain/step1.md":"af877f3f64d15695d17ac89eac3b77c851a455f054dc7d394d6eba442b2c474d"}},"phases/5-explain/step2.md":{"size":6251,"mtime_ns":1777451253566710599,"word_count":548,"hashes":{"phases/5-explain/step2.md":"c6388cc22474218a404ff1d69f61335fea749ef01fe8c917c54f623b4eda9853"}},"phases/6-api/index.json":{"size":216,"mtime_ns":1777451253566832472,"word_count":28,"hashes":{"phases/6-api/index.json":"e967e70bdefd006891255bbd5db174c5de09a968652ebb9edd2689aded4f5b19"}},"phases/6-api/step0.md":{"size":4937,"mtime_ns":1777451253566928554,"word_count":390,"hashes":{"phases/6-api/step0.md":"6583ccb91b1084186848fe30f75541c89ae46ea9b9980a253f716744be75a7aa"}},"phases/6-api/step1.md":{"size":5701,"mtime_ns":1777451253567004720,"word_count":560,"hashes":{"phases/6-api/step1.md":"3bf7687bc63bf490152f34d3e3141f3aeab604c10cc6f5cb5f211e6651a6441a"}},"phases/index.json":{"size":497,"mtime_ns":1777523379983558015,"word_count":57,"hashes":{"phases/index.json":"d71c65324a5606f6916c1c86e894546eb5436a91aa4cba5f321f02fd2b3965d6"}},"plan.md":{"size":29088,"mtime_ns":1777799274067425920,"word_count":2815,"hashes":{"plan.md":"97bd119efdb701b6468228b828c6d7fe69e7b65d26415d15f91bb73641fa054f"}},"pyproject.toml":{"size":1007,"mtime_ns":1786589332026793132,"word_count":98,"hashes":{"pyproject.toml":"27ad0975d768033562e94d9a8e572dc7fc7c16032a0ac9c746f5f89e4297eb02"}},"requirements.txt":{"size":452,"mtime_ns":1786853002875934231,"word_count":49,"hashes":{"requirements.txt":"3b81e24ceed57daaaa8aee9311bb547318c940b3a0e7da2ad54147f031749db2"}},"scripts/build_knowledge_graph.py":{"size":11064,"mtime_ns":1785584052306574707,"word_count":923,"hashes":{"scripts/build_knowledge_graph.py":"a54cd9190059c611c8dce01363dfda8f451357b1885d952180e373c1b649dcfa"}},"scripts/build_poi_dataset.py":{"size":3133,"mtime_ns":1777738552472917674,"word_count":256,"hashes":{"scripts/build_poi_dataset.py":"c7d3ca447b831b996c8fb62a4a4ed76d2e6c33051a260b10ed80d19489db1435"}},"scripts/collect_naver_full.py":{"size":24270,"mtime_ns":1777472360586854707,"word_count":2147,"hashes":{"scripts/collect_naver_full.py":"1d3d0b0e2a24fe31b116ad7acb19a4b3f223f5d1c6919444c5e50513ba40f413"}},"scripts/collect_naver_metadata.py":{"size":12179,"mtime_ns":1777456822351481026,"word_count":1058,"hashes":{"scripts/collect_naver_metadata.py":"3a9bd6c7ad75d25b1110fce15de4cb2832f8faaf4fff8e6ef76696702498eb4a"}},"scripts/collect_naver_only.py":{"size":19968,"mtime_ns":1777466784903237542,"word_count":1717,"hashes":{"scripts/collect_naver_only.py":"a240dd183a68608f5686056562433df371a49bf95788ce3f9b7f42212fce2d77"}},"scripts/demo_live_e2e.py":{"size":3088,"mtime_ns":1785585693723218510,"word_count":273,"hashes":{"scripts/demo_live_e2e.py":"94a5004c2d8e1e00fa7ae4f30103103917d240da2e7c76c342998dc36d2be81e"}},"scripts/execute.py":{"size":16360,"mtime_ns":1777451253584151277,"word_count":1338,"hashes":{"scripts/execute.py":"f59929f833fa418dc77a5b258351d6a6aba4284b524f8f0df7d9ffbac0b70c6c"}},"scripts/extract_visitor_stats.py":{"size":6376,"mtime_ns":1777515293761947263,"word_count":541,"hashes":{"scripts/extract_visitor_stats.py":"4cf1c4b0c5291bd340741c3fa44e0f44405c7c547a5d10188761bf1d76c4cf35"}},"scripts/fetch_jeju_hours.py":{"size":2483,"mtime_ns":1785586956137761903,"word_count":251,"hashes":{"scripts/fetch_jeju_hours.py":"197911bb59bc12c7128b036f9780c46be69ce81c37b55778a5a6f2d47a52f40b"}},"scripts/fetch_missing_pois.py":{"size":6273,"mtime_ns":1779312122043491942,"word_count":533,"hashes":{"scripts/fetch_missing_pois.py":"dcb76677107618c486fbfd6c36851965e380035eea5b2ba6219af356123c9ed6"}},"scripts/geocode_jeju_missing_coords.py":{"size":3340,"mtime_ns":1785334245581387135,"word_count":329,"hashes":{"scripts/geocode_jeju_missing_coords.py":"2654b4fea9fb08f631e2a9864c6a8dea8789361be229c10db1d65202bc033fd0"}},"scripts/load_knowledge_graph_neo4j.py":{"size":5938,"mtime_ns":1785583919120050175,"word_count":538,"hashes":{"scripts/load_knowledge_graph_neo4j.py":"caa1ad54c2c0b12774e306037a9557964a2e789ce4aad927bad2453e6758bedf"}},"scripts/neo4j_coverage_analysis.py":{"size":15888,"mtime_ns":1777520076568973863,"word_count":1311,"hashes":{"scripts/neo4j_coverage_analysis.py":"b3274ebc249bbd43ebfbaf6c94a018cf00c634bfc78ff54b6b05eb98109b8f21"}},"scripts/test_execute.py":{"size":21227,"mtime_ns":1777451253584262358,"word_count":1622,"hashes":{"scripts/test_execute.py":"3bfe2cb281217a98711c28f53692ffc22168193beae12b23f0c97df4a0f866fd"}},"scripts/test_pipeline.py":{"size":16326,"mtime_ns":1777735206533104289,"word_count":1453,"hashes":{"scripts/test_pipeline.py":"73da2dca800e902c041726e4a76f0e5458e6998686b640dfeee456a5e1e38df4"}},"src/__init__.py":{"size":0,"mtime_ns":1777451253584333732,"word_count":0,"hashes":{"src/__init__.py":"f2ddc4c32d3ace6eb5786bbe136168ec6286d22339b0c2b5fba5c5411ba3db33"}},"src/api/__init__.py":{"size":0,"mtime_ns":1777816109394578787,"word_count":0,"hashes":{"src/api/__init__.py":"cfcc66c4b0c6cdc64b680f4732791cca779f9666d52f94581cf457b821c9ef8a"}},"src/api/main.py":{"size":3766,"mtime_ns":1785587795130929415,"word_count":314,"hashes":{"src/api/main.py":"1725befc5a5f1c81a222a7385978af4fcaf030ecc866e5781e329cdc102a8315"}},"src/api/router.py":{"size":48358,"mtime_ns":1786783687653695077,"word_count":4380,"hashes":{"src/api/router.py":"1b6e66642d94020eed4e102b2beffcb988b24c4c62d5ba1f0956e1a373a8b250"}},"src/api/schemas.py":{"size":2351,"mtime_ns":1786783667349050119,"word_count":247,"hashes":{"src/api/schemas.py":"7086528e6754f06ea0cdfd2f5caf3899f17a27a890e9f30113e5e215c79944fb"}},"src/api/static/index.html":{"size":245517,"mtime_ns":1786861293229369672,"word_count":14089,"hashes":{"src/api/static/index.html":"bbfb9800b8a7fe3a8c1c4dae48d758f25af1ae4d36e6914a5c36226141a6ebda"}},"src/api/static/manifest.json":{"size":1387,"mtime_ns":1780124687450251357,"word_count":148,"hashes":{"src/api/static/manifest.json":"49889c0f0087e6353e14ea0f69192481591e6cc7e9df229041261395d4068170"}},"src/api/static/service-worker.js":{"size":1349,"mtime_ns":1780124696762896419,"word_count":128},"src/data/__init__.py":{"size":0,"mtime_ns":1777451253584417231,"word_count":0,"hashes":{"src/data/__init__.py":"5aab75a1df3ce4c322908ffe8170a42b246f3383126cff5f9f7629fed9baef8c"}},"src/data/barrier_free_api.py":{"size":8069,"mtime_ns":1777781991111676653,"word_count":676,"hashes":{"src/data/barrier_free_api.py":"48868fed2687a2f94002ad114dbdf582536015f24400c2b4cee54c1f9ff60414"}},"src/data/dwell_db.py":{"size":8586,"mtime_ns":1777451253584501813,"word_count":906,"hashes":{"src/data/dwell_db.py":"f2f82fb7d4e09432e8b04a83a983b4f9aced3d9249e58d9f36558841ac9aa8a6"}},"src/data/graph_retriever.py":{"size":4678,"mtime_ns":1786616520125143920,"word_count":397,"hashes":{"src/data/graph_retriever.py":"0b241600eaf24a807c9bbdaf99de1072b36ed93106e7bdf7ec6dd56972e42cf7"}},"src/data/hours_db.py":{"size":14236,"mtime_ns":1777774502376461859,"word_count":618,"hashes":{"src/data/hours_db.py":"56f4f33322b380c0dd91ac66850c13aa135ce059909117ffba257edda02e61df"}},"src/data/kakao_local.py":{"size":5911,"mtime_ns":1785334192934038414,"word_count":481,"hashes":{"src/data/kakao_local.py":"e6f41625a2ab2c40d1c03c6d87d4dd08f54c38cb277788d42c155b68b3ad26a0"}},"src/data/models.py":{"size":12323,"mtime_ns":1786783617984089668,"word_count":1269,"hashes":{"src/data/models.py":"f58d648f7d654e139b8981865f151ded76f0abe21e2d09b1dec2eb3f39771dc7"}},"src/data/party_config.py":{"size":1567,"mtime_ns":1777721907795654717,"word_count":146,"hashes":{"src/data/party_config.py":"3f270df90a3e3fee4caf266a91c83ad685240a6e0402cae96e0758a07a89a079"}},"src/data/region_config.py":{"size":3934,"mtime_ns":1777718481390864291,"word_count":320,"hashes":{"src/data/region_config.py":"b455e0d85674b0ac7990f236708d68ab16026bdb66cc972478dcd97863867932"}},"src/data/restaurant_catalog.py":{"size":2557,"mtime_ns":1786616398485766423,"word_count":226,"hashes":{"src/data/restaurant_catalog.py":"c6a1439abb298710266bf3f026fda27743a6aa0606c227edf47b45d4b4dbbe5b"}},"src/data/seoul_citydata_client.py":{"size":7071,"mtime_ns":1777523278371401393,"word_count":573,"hashes":{"src/data/seoul_citydata_client.py":"6bfe909c3cb46e05bb4831cf9bb32532e16fc50e4417204846a09bde95a514b4"}},"src/data/theme_taxonomy.py":{"size":6661,"mtime_ns":1777451253584637395,"word_count":598,"hashes":{"src/data/theme_taxonomy.py":"77a1d82310031c8c205fa05e8c15c3f0ed4a03d86a793af72917c43dfe6e48ee"}},"src/data/tour_api.py":{"size":5351,"mtime_ns":1777785284939497405,"word_count":446,"hashes":{"src/data/tour_api.py":"4ce63ec57dd4b7954fbf9fcfb160d38f6ebc5cda477b2b38124b88774a785215"}},"src/data/wellness_api.py":{"size":4229,"mtime_ns":1777869280292773430,"word_count":376,"hashes":{"src/data/wellness_api.py":"761476ae9d54730d0d583bff8af9a3a883c614698c0da15ae346c1b28e65827c"}},"src/explain/__init__.py":{"size":0,"mtime_ns":1777738407096040425,"word_count":0,"hashes":{"src/explain/__init__.py":"aebd9818bb704e3273f3ae2f096c24bbe8bc876e0edd6356fd016d0f6fb2ceac"}},"src/explain/explain_engine.py":{"size":23156,"mtime_ns":1786779975226671912,"word_count":1992,"hashes":{"src/explain/explain_engine.py":"1d132817dbc4971166d49423ee3dc87b14ba552ac4ed2305ec58514a78f3bdce"}},"src/explain/pipeline.py":{"size":17651,"mtime_ns":1786851619871097940,"word_count":1225,"hashes":{"src/explain/pipeline.py":"f50f70785c6271e4491a7a11522d57a9f692e307cfe5262e21fd624e12c72369"}},"src/explain/plan_extractor.py":{"size":8090,"mtime_ns":1786862653144251907,"word_count":719,"hashes":{"src/explain/plan_extractor.py":"40cae72ace465a5261dbc7a1ac187774c9b94a51431b9d41e21378f5dc85c9db"}},"src/explain/repair.py":{"size":10326,"mtime_ns":1786861266770538426,"word_count":999,"hashes":{"src/explain/repair.py":"5ed35d743092b779903182e43b86595b741787d48fdafb1ea76ec52758e39ffd"}},"src/matrix/__init__.py":{"size":141,"mtime_ns":1777718449740316301,"word_count":13,"hashes":{"src/matrix/__init__.py":"ce4f4206546db46e7aaaf2dd45659f5f585f86f2b43888646fda099d9bf1adb5"}},"src/matrix/redis_matrix.py":{"size":5237,"mtime_ns":1777718852132281000,"word_count":409,"hashes":{"src/matrix/redis_matrix.py":"cc736d76033e07fac230fbd5c99f992c33f3ad0a25c95689d7ab5a297a6b8940"}},"src/scoring/__init__.py":{"size":296,"mtime_ns":1777451253584732560,"word_count":36,"hashes":{"src/scoring/__init__.py":"33c5fb364c349fc3e085e6093090a51ca7d2b4ff2f0a3c46660d9944971647f6"}},"src/scoring/bonus_engine.py":{"size":4854,"mtime_ns":1786783637731264872,"word_count":380,"hashes":{"src/scoring/bonus_engine.py":"25b87debaeb3bd26e7968184f701deca25d00a7b765386a316ecc91323be3864"}},"src/scoring/cluster_dispersion.py":{"size":10816,"mtime_ns":1777738403795307957,"word_count":1000,"hashes":{"src/scoring/cluster_dispersion.py":"0e029402dc8b67f8514efa39e6f8efe1efa36f919e25b1a344763825384eb623"}},"src/scoring/congestion_engine.py":{"size":8268,"mtime_ns":1777523358998648153,"word_count":681,"hashes":{"src/scoring/congestion_engine.py":"dcc67140df0396e3e5c3337dc9ae1631b2fce2ab2c8a7d76dca2f2bc4b7eacc1"}},"src/scoring/reward_engine.py":{"size":2501,"mtime_ns":1777718876992598807,"word_count":246,"hashes":{"src/scoring/reward_engine.py":"577457af325961efe8606b411406ebbd8a22aa9edffa9cbe0813e193b65a022a"}},"src/scoring/theme_alignment.py":{"size":10505,"mtime_ns":1786779975228786467,"word_count":941,"hashes":{"src/scoring/theme_alignment.py":"d879a3ae59268bc118f5e88cc666fecbcde6a6be901dbd05cb5306830eaaf534"}},"src/scoring/travel_ratio.py":{"size":3924,"mtime_ns":1777451253584926308,"word_count":371,"hashes":{"src/scoring/travel_ratio.py":"8eda4ee5e0635eaecbd4bbed862043f08605b1ca7da57bf076a16dc7e03a163b"}},"src/utils/__init__.py":{"size":0,"mtime_ns":1777731460264655726,"word_count":0,"hashes":{"src/utils/__init__.py":"e0f516a85c8039f189c4e8c728cc8d7c2fa4cb6aed920648ac261cd1ba909e03"}},"src/utils/geo.py":{"size":2859,"mtime_ns":1777731462310334008,"word_count":322,"hashes":{"src/utils/geo.py":"cdd822b431df58c4227138afaee87957fd97fad329839c82e40657ca255f04fd"}},"src/validation/__init__.py":{"size":0,"mtime_ns":1777451253585002723,"word_count":0,"hashes":{"src/validation/__init__.py":"d28e1c146ae48649d1ee4632184814b817efc9f4c39cbc4d6f87ac1b903318dd"}},"src/validation/alternatives.py":{"size":4423,"mtime_ns":1777828486944011198,"word_count":423,"hashes":{"src/validation/alternatives.py":"ec0107a9398d08e7471ca703ad6d216d17fd73c2b0dcbc405920d97ea761f9fc"}},"src/validation/hard_fail.py":{"size":8188,"mtime_ns":1786616520125523089,"word_count":686,"hashes":{"src/validation/hard_fail.py":"8b3032d9dea8254432ec455666d0463fd63eb4303321b497da5f465c547305d3"}},"src/validation/kakao_matrix.py":{"size":13101,"mtime_ns":1777718149849641691,"word_count":1026,"hashes":{"src/validation/kakao_matrix.py":"e6df9426218af420db0d9ef2a46f9ef03340443dcb54ff3155dc8e4f2e8c106c"}},"src/validation/scoring.py":{"size":6331,"mtime_ns":1777828448731181119,"word_count":664,"hashes":{"src/validation/scoring.py":"7c4022492eb3f45817366b08c7ef494df640d8ff944f25fd488cefd39cc26494"}},"src/validation/vrptw_engine.py":{"size":20507,"mtime_ns":1777473547114597665,"word_count":1802,"hashes":{"src/validation/vrptw_engine.py":"f6481579f778d33a4fdf464e064d8a6dcc309eef6619ab1060b87ffd4e191b15"}},"src/validation/warning.py":{"size":10586,"mtime_ns":1785639470571704769,"word_count":970,"hashes":{"src/validation/warning.py":"ea470fb1c90053b2da4907392405eba55185b81ac8687ee88b8934e7062ded15"}},"tests/__init__.py":{"size":0,"mtime_ns":1777451253585277469,"word_count":0,"hashes":{"tests/__init__.py":"9766508e5a013c3d3cbb2602719391199e90af5720c9782a77ca71565aa346b1"}},"tests/conftest.py":{"size":487,"mtime_ns":1786780450982917704,"word_count":41,"hashes":{"tests/conftest.py":"628d5b140ba73e0ac171019edf66e9eeadbd5f222f25ab5a0f211077bba5fd8c"}},"tests/test_alternatives.py":{"size":4858,"mtime_ns":1777828575824590582,"word_count":413,"hashes":{"tests/test_alternatives.py":"a9814e97969c079ec6c71dd016718fe79a944e2a4531fbdef907d3d0e7722132"}},"tests/test_bonus_engine.py":{"size":10132,"mtime_ns":1786783575554457563,"word_count":765,"hashes":{"tests/test_bonus_engine.py":"bc1d1b8d4443a45922e2152d306b6157ddbd9db8bbf19013cf5c4786368363d9"}},"tests/test_cluster_dispersion.py":{"size":6124,"mtime_ns":1777521944144603355,"word_count":558,"hashes":{"tests/test_cluster_dispersion.py":"c9488ccdf6a6a86610a112cb0547d095e2605beae3c248776c39209c65b4f49b"}},"tests/test_congestion_engine.py":{"size":6723,"mtime_ns":1777516006302043155,"word_count":448,"hashes":{"tests/test_congestion_engine.py":"6ba9d73a3e4386f30c3770c8d83341da973abf28ca1b9ac1da089635100c26b5"}},"tests/test_dwell_db.py":{"size":2288,"mtime_ns":1777451253585397051,"word_count":181,"hashes":{"tests/test_dwell_db.py":"a192d8c1d4f0ddbdc8cfad73aa1fef23209222b51a27624e1176b9cf7e4b4f64"}},"tests/test_estimated_hardfail.py":{"size":1940,"mtime_ns":1780630909497777045,"word_count":172,"hashes":{"tests/test_estimated_hardfail.py":"a546b170d2ad6bcb524c3b8763e0befd263cd7904ebb3e6fb501f36d8144fd48"}},"tests/test_explain_engine.py":{"size":21962,"mtime_ns":1785640352098022616,"word_count":1688,"hashes":{"tests/test_explain_engine.py":"c55543abeef8e54ee00023c4a3b962bbe6db55fb6110bac1ec5f2dcadf0240ac"}},"tests/test_geo.py":{"size":5878,"mtime_ns":1777736842624419383,"word_count":552,"hashes":{"tests/test_geo.py":"1e0a4400d4c40571f12397f91204c85fb20002f4ea632b4cd4750fa6ab0613e8"}},"tests/test_graph_retriever.py":{"size":4176,"mtime_ns":1786616520125693590,"word_count":268,"hashes":{"tests/test_graph_retriever.py":"74d131e431371f16377a6da34770d1d197feeeec9ac3844a45880393e39e0778"}},"tests/test_hard_fail.py":{"size":9338,"mtime_ns":1786616520125842632,"word_count":838,"hashes":{"tests/test_hard_fail.py":"a43ed21d165c464c5dbbf231443a8ed295ffb25d9039a0f391edb24120b4dafa"}},"tests/test_kakao_local.py":{"size":5564,"mtime_ns":1785334170304581136,"word_count":422,"hashes":{"tests/test_kakao_local.py":"663fefeaf89c8d280cc0f6fec74689e5b7151a7c3f66c3b5423d55f303da6cc4"}},"tests/test_kakao_matrix.py":{"size":9152,"mtime_ns":1777718270630216343,"word_count":664,"hashes":{"tests/test_kakao_matrix.py":"cbcedc6fa0fe399384ca41bf750a73abb2a764fb459d59b3e554690902595190"}},"tests/test_party_config.py":{"size":3305,"mtime_ns":1777722533600411358,"word_count":205,"hashes":{"tests/test_party_config.py":"a0678437010cb016ecdc5d16b9c9c58e237868b44f76a02cf7cfd015c033dd87"}},"tests/test_pipeline_orchestrator.py":{"size":16391,"mtime_ns":1786851429337339749,"word_count":1193,"hashes":{"tests/test_pipeline_orchestrator.py":"ad1d63af2a7ba70861b2e237e4b0492e85fcfc8f5647e123d0619502c39c7964"}},"tests/test_plan_extractor.py":{"size":4149,"mtime_ns":1786862644008612432,"word_count":267,"hashes":{"tests/test_plan_extractor.py":"c99aa95f1b05dac935f12799c24b8d471a5fb159f68eb75ed0aad642e997a0a2"}},"tests/test_region_config.py":{"size":1323,"mtime_ns":1777718962185175923,"word_count":76,"hashes":{"tests/test_region_config.py":"ef103c9e60e513d31184619cc642392b827076a5f855a1a23eededc4d9efd764"}},"tests/test_repair.py":{"size":9429,"mtime_ns":1786861255059269134,"word_count":757,"hashes":{"tests/test_repair.py":"3873598f4c623dc9fc625fdb2a5f14a8a89bb8d637bce5a39dba49eede4971f2"}},"tests/test_resolve_poi.py":{"size":5889,"mtime_ns":1786783594630138790,"word_count":421,"hashes":{"tests/test_resolve_poi.py":"8bd45a30f857e7c8af8cfca512444e80df8ef9bdfd961b6a9769a622895022dc"}},"tests/test_restaurant_catalog.py":{"size":1126,"mtime_ns":1786616467294536078,"word_count":104,"hashes":{"tests/test_restaurant_catalog.py":"2c7301f16aafa872f7322bd07d375751d63e9748859fbe253ad73eb92b79cb8f"}},"tests/test_reward_engine.py":{"size":3323,"mtime_ns":1777718976861340234,"word_count":215,"hashes":{"tests/test_reward_engine.py":"2c496b5d9432610f4d41952bb0bc8cf11f33d56daf69c3b30c0ec6f14a0883ad"}},"tests/test_scoring.py":{"size":8301,"mtime_ns":1777736815905397750,"word_count":709,"hashes":{"tests/test_scoring.py":"154143336bbb3e22546331f2d0c4ddfea8b7f8e31e92b6227a886f049a701e18"}},"tests/test_theme_alignment.py":{"size":5008,"mtime_ns":1777451253585484341,"word_count":386,"hashes":{"tests/test_theme_alignment.py":"9a1ec4ecf6809dfe35da7c584406986fe24ede1abff95ab5f0710044c3c5e94d"}},"tests/test_theme_taxonomy.py":{"size":2254,"mtime_ns":1777451253585555507,"word_count":160,"hashes":{"tests/test_theme_taxonomy.py":"5ad98c3354886a91442dbf0a4bb27533eed14ca91a1e477cd5341a02d9892c45"}},"tests/test_travel_ratio.py":{"size":2117,"mtime_ns":1777451253585615965,"word_count":181,"hashes":{"tests/test_travel_ratio.py":"e02744d06cc9ad7bfd17c0b4373df8fa368ff97ee387aef62c7a4bc8b6e4f41c"}},"tests/test_vrptw_engine.py":{"size":18271,"mtime_ns":1777451253585699047,"word_count":1466,"hashes":{"tests/test_vrptw_engine.py":"c7b785c4eeb6cd80fb8ef2cdbcba02265a18cd641e3e91bb098108575e736aeb"}},"tests/test_warning.py":{"size":11321,"mtime_ns":1785639582983330915,"word_count":1060,"hashes":{"tests/test_warning.py":"45bb07bdbd7ee60c56a8439aaf8c4eed6706302b9378076b37292fc21b73ae9d"}}} \ No newline at end of file diff --git a/graphify-out/graph.json b/graphify-out/graph.json new file mode 100644 index 0000000..46be564 --- /dev/null +++ b/graphify-out/graph.json @@ -0,0 +1,64478 @@ +{ + "nodes": [ + { + "id": "gun_scripts_build_hours_db", + "label": "build_hours_db.py", + "file_type": "code", + "source_file": "gun/scripts/build_hours_db.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "gun_scripts_build_hours_db_match_sub_category", + "label": "match_sub_category()", + "file_type": "code", + "source_file": "gun/scripts/build_hours_db.py", + "source_location": "L403", + "_origin": "ast" + }, + { + "id": "gun_scripts_build_hours_db_confidence", + "label": "confidence()", + "file_type": "code", + "source_file": "gun/scripts/build_hours_db.py", + "source_location": "L428", + "_origin": "ast" + }, + { + "id": "gun_scripts_build_hours_db_build_place_hours_xlsx", + "label": "build_place_hours_xlsx()", + "file_type": "code", + "source_file": "gun/scripts/build_hours_db.py", + "source_location": "L442", + "_origin": "ast" + }, + { + "id": "counter", + "label": "Counter", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast" + }, + { + "id": "gun_scripts_build_hours_db_build_category_std_xlsx", + "label": "build_category_std_xlsx()", + "file_type": "code", + "source_file": "gun/scripts/build_hours_db.py", + "source_location": "L543", + "_origin": "ast" + }, + { + "id": "gun_scripts_build_hours_db_build_hours_db_py", + "label": "build_hours_db_py()", + "file_type": "code", + "source_file": "gun/scripts/build_hours_db.py", + "source_location": "L605", + "_origin": "ast" + }, + { + "id": "gun_scripts_build_hours_db_main", + "label": "main()", + "file_type": "code", + "source_file": "gun/scripts/build_hours_db.py", + "source_location": "L700", + "_origin": "ast" + }, + { + "id": "gun_scripts_build_hours_db_rationale_1", + "label": "322\uac1c \uc7a5\uc18c \uc6b4\uc601\uc2dc\uac04 baseline + \uce74\ud14c\uace0\ub9ac \ud45c\uc900\uac12 \uc138\ud305. \uc0b0\ucd9c\ubb3c: 1. gun/data/place_hours_322.xlsx \u2014\u2026", + "file_type": "rationale", + "source_file": "gun/scripts/build_hours_db.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "gun_scripts_build_hours_db_rationale_404", + "label": "\uc774\ub984 + \uce74\ud14c\uace0\ub9ac\ud78c\ud2b8\ub85c sub_category \uacb0\uc815.", + "file_type": "rationale", + "source_file": "gun/scripts/build_hours_db.py", + "source_location": "L404", + "_origin": "ast" + }, + { + "id": "gun_scripts_build_hours_db_rationale_429", + "label": "\ub9e4\uce6d \ud655\uc2e0\ub3c4 \u2014 \ud6c4\uc18d \uac80\uc0c9 \uc6b0\uc120\uc21c\uc704 \uacb0\uc815.", + "file_type": "rationale", + "source_file": "gun/scripts/build_hours_db.py", + "source_location": "L429", + "_origin": "ast" + }, + { + "id": "gun_scripts_build_itinerary_excel", + "label": "build_itinerary_excel.py", + "file_type": "code", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "gun_scripts_build_itinerary_excel_parse_weekday", + "label": "parse_weekday()", + "file_type": "code", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L99", + "_origin": "ast" + }, + { + "id": "gun_scripts_build_itinerary_excel_minutes_to_hhmm", + "label": "minutes_to_hhmm()", + "file_type": "code", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L109", + "_origin": "ast" + }, + { + "id": "gun_scripts_build_itinerary_excel_check_hours_violations", + "label": "check_hours_violations()", + "file_type": "code", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L115", + "_origin": "ast" + }, + { + "id": "gun_scripts_build_itinerary_excel_poimatcher", + "label": "POIMatcher", + "file_type": "code", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L161", + "_origin": "ast" + }, + { + "id": "gun_scripts_build_itinerary_excel_poimatcher_init", + "label": ".__init__()", + "file_type": "code", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L164", + "_origin": "ast" + }, + { + "id": "gun_scripts_build_itinerary_excel_py_path", + "label": "Path", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast" + }, + { + "id": "gun_scripts_build_itinerary_excel_poimatcher_match", + "label": ".match()", + "file_type": "code", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L179", + "_origin": "ast" + }, + { + "id": "gun_scripts_build_itinerary_excel_poimatcher_row_to_dict", + "label": "._row_to_dict()", + "file_type": "code", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L203", + "_origin": "ast" + }, + { + "id": "gun_scripts_build_itinerary_excel_py_any", + "label": "Any", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast" + }, + { + "id": "gun_scripts_build_itinerary_excel_to_vrptw_place", + "label": "_to_vrptw_place()", + "file_type": "code", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L219", + "_origin": "ast" + }, + { + "id": "gun_scripts_build_itinerary_excel_process_one_day", + "label": "process_one_day()", + "file_type": "code", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L237", + "_origin": "ast" + }, + { + "id": "gun_scripts_build_itinerary_excel_main", + "label": "main()", + "file_type": "code", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L356", + "_origin": "ast" + }, + { + "id": "gun_scripts_build_itinerary_excel_rationale_1", + "label": "\ucd94\ucc9c \uc77c\uc815 \u2192 \ub9e4\uce6d \u2192 \uc2dc\uac04 \uacc4\uc0b0 \u2192 Excel \ucd9c\ub825 \ud30c\uc774\ud504\ub77c\uc778\u2026", + "file_type": "rationale", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "gun_scripts_build_itinerary_excel_rationale_100", + "label": "2025-05-01' \u2192 0(\uc6d4)~6(\uc77c). \ud30c\uc2f1 \uc2e4\ud328 \uc2dc None.", + "file_type": "rationale", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L100", + "_origin": "ast" + }, + { + "id": "gun_scripts_build_itinerary_excel_rationale_110", + "label": "\ubd84 \ub2e8\uc704 \u2192 'HH:MM' (\uc74c\uc218/24\uc2dc\uac04 \ucd08\uacfc\ub294 \uadf8\ub300\ub85c \ud45c\uae30).", + "file_type": "rationale", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L110", + "_origin": "ast" + }, + { + "id": "gun_scripts_build_itinerary_excel_rationale_121", + "label": "\uc6b4\uc601\uc2dc\uac04 \uc704\ubc18 \uac80\uc0ac \u2192 (\uc704\ubc18 \ubaa9\ub85d, \ud328\ub110\ud2f0 \ud569\uacc4).", + "file_type": "rationale", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L121", + "_origin": "ast" + }, + { + "id": "gun_scripts_build_itinerary_excel_rationale_162", + "label": "pois_processed.csv \uae30\ubc18 \uc774\ub984 \ub9e4\uce6d \u2014 \uc815\ud655/\ubd80\ubd84 \uc77c\uce58.", + "file_type": "rationale", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L162", + "_origin": "ast" + }, + { + "id": "gun_scripts_build_itinerary_excel_rationale_180", + "label": "\uc774\ub984\uc73c\ub85c \ub9e4\uce6d. \uc2dc\ub3c4/\uc2dc\uad70\uad6c\ub294 \ubd80\ubd84 \ub9e4\uce6d \uc2dc \ud6c4\ubcf4 \uc881\ud788\uae30.", + "file_type": "rationale", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L180", + "_origin": "ast" + }, + { + "id": "gun_scripts_build_itinerary_excel_rationale_220", + "label": "\ub9e4\uce6d\ub41c row \u2192 VRPTWPlace \ubcc0\ud658. \uc88c\ud45c \uc5c6\uc73c\uba74 None. \uc6b4\uc601\uc2dc\uac04\uc740 hours_db.resolve_hours() \uacb0\uacfc\ub97c \uc0ac\uc6a9.", + "file_type": "rationale", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L220", + "_origin": "ast" + }, + { + "id": "gun_scripts_build_itinerary_excel_rationale_241", + "label": "\ud55c day(\uac19\uc740 plan_id+day)\uc758 row\ub4e4\uc5d0 \uc774\ub3d9\uc2dc\uac04\u00b7\uc6b4\uc601\uc2dc\uac04 \uc704\ubc18\u00b7\ud328\ub110\ud2f0 \ucc44\uc6b0\uae30.", + "file_type": "rationale", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L241", + "_origin": "ast" + }, + { + "id": "gun_scripts_build_ppt", + "label": "build_ppt.js", + "file_type": "code", + "source_file": "gun/scripts/build_ppt.js", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "gun_scripts_build_ppt_pptxgen", + "label": "pptxgen", + "file_type": "code", + "source_file": "gun/scripts/build_ppt.js", + "source_location": "L17", + "_origin": "ast" + }, + { + "id": "gun_scripts_build_ppt_path", + "label": "path", + "file_type": "code", + "source_file": "gun/scripts/build_ppt.js", + "source_location": "L18", + "_origin": "ast" + }, + { + "id": "gun_scripts_build_ppt_pres", + "label": "pres", + "file_type": "code", + "source_file": "gun/scripts/build_ppt.js", + "source_location": "L43", + "_origin": "ast" + }, + { + "id": "gun_scripts_build_ppt_addpageheader", + "label": "addPageHeader()", + "file_type": "code", + "source_file": "gun/scripts/build_ppt.js", + "source_location": "L54", + "_origin": "ast" + }, + { + "id": "gun_scripts_build_ppt_addtitle", + "label": "addTitle()", + "file_type": "code", + "source_file": "gun/scripts/build_ppt.js", + "source_location": "L69", + "_origin": "ast" + }, + { + "id": "gun_scripts_build_ppt_addfooter", + "label": "addFooter()", + "file_type": "code", + "source_file": "gun/scripts/build_ppt.js", + "source_location": "L82", + "_origin": "ast" + }, + { + "id": "gun_scripts_build_ppt_addcard", + "label": "addCard()", + "file_type": "code", + "source_file": "gun/scripts/build_ppt.js", + "source_location": "L94", + "_origin": "ast" + }, + { + "id": "gun_scripts_build_ppt_addstat", + "label": "addStat()", + "file_type": "code", + "source_file": "gun/scripts/build_ppt.js", + "source_location": "L112", + "_origin": "ast" + }, + { + "id": "gun_scripts_build_ppt_addnumberchip", + "label": "addNumberChip()", + "file_type": "code", + "source_file": "gun/scripts/build_ppt.js", + "source_location": "L126", + "_origin": "ast" + }, + { + "id": "gun_scripts_build_ppt_output", + "label": "OUTPUT", + "file_type": "code", + "source_file": "gun/scripts/build_ppt.js", + "source_location": "L1656", + "_origin": "ast" + }, + { + "id": "gun_scripts_build_travel_matrix", + "label": "build_travel_matrix.py", + "file_type": "code", + "source_file": "gun/scripts/build_travel_matrix.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "gun_scripts_build_travel_matrix_resolve_base_dir", + "label": "_resolve_base_dir()", + "file_type": "code", + "source_file": "gun/scripts/build_travel_matrix.py", + "source_location": "L43", + "_origin": "ast" + }, + { + "id": "gun_scripts_build_travel_matrix_py_path", + "label": "Path", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast" + }, + { + "id": "gun_scripts_build_travel_matrix_load_pois", + "label": "load_pois()", + "file_type": "code", + "source_file": "gun/scripts/build_travel_matrix.py", + "source_location": "L55", + "_origin": "ast" + }, + { + "id": "gun_scripts_build_travel_matrix_build_matrix", + "label": "build_matrix()", + "file_type": "code", + "source_file": "gun/scripts/build_travel_matrix.py", + "source_location": "L83", + "_origin": "ast" + }, + { + "id": "gun_scripts_build_travel_matrix_main", + "label": "main()", + "file_type": "code", + "source_file": "gun/scripts/build_travel_matrix.py", + "source_location": "L122", + "_origin": "ast" + }, + { + "id": "gun_scripts_build_travel_matrix_rationale_1", + "label": "POI CSV \u2192 \uce74\uce74\uc624 \ubaa8\ube4c\ub9ac\ud2f0 N\u00d7N \uc774\ub3d9\uc2dc\uac04 \ud589\ub82c \uc0ac\uc804 \ube4c\ub4dc. \uac80\uc99d \uc2dc \ub9e4\ubc88 API\ub97c \ud638\ucd9c\ud558\uba74 \ub290\ub9ac\uace0 \ud55c\ub3c4 \ubd80\ub2f4. \uc790\uc8fc \uc4f0\ub294 POI\u2026", + "file_type": "rationale", + "source_file": "gun/scripts/build_travel_matrix.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "gun_scripts_build_travel_matrix_rationale_62", + "label": "CSV \uc77d\uc5b4 \uc88c\ud45c \uc720\ud6a8\ud55c POI \ub9ac\uc2a4\ud2b8\ub85c \ubc18\ud658.", + "file_type": "rationale", + "source_file": "gun/scripts/build_travel_matrix.py", + "source_location": "L62", + "_origin": "ast" + }, + { + "id": "gun_scripts_build_travel_matrix_rationale_88", + "label": "N\u00d7N \ud398\uc5b4\uc640\uc774\uc988 \ud638\ucd9c (\ub300\uac01\uc120 \uc81c\uc678, \uc591\ubc29\ud5a5 \uce90\uc2dc \ud65c\uc6a9).", + "file_type": "rationale", + "source_file": "gun/scripts/build_travel_matrix.py", + "source_location": "L88", + "_origin": "ast" + }, + { + "id": "gun_scripts_create_input_template", + "label": "create_input_template.py", + "file_type": "code", + "source_file": "gun/scripts/create_input_template.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "gun_scripts_create_input_template_make_workbook", + "label": "make_workbook()", + "file_type": "code", + "source_file": "gun/scripts/create_input_template.py", + "source_location": "L57", + "_origin": "ast" + }, + { + "id": "gun_scripts_create_input_template_py_workbook", + "label": "Workbook", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast" + }, + { + "id": "gun_scripts_create_input_template_main", + "label": "main()", + "file_type": "code", + "source_file": "gun/scripts/create_input_template.py", + "source_location": "L157", + "_origin": "ast" + }, + { + "id": "gun_scripts_create_input_template_rationale_1", + "label": "recommendations_input.xlsx \uc785\ub825 \uc591\uc2dd + \uc608\uc2dc \uc0dd\uc131. \uc2e4\ud589: python3\u2026", + "file_type": "rationale", + "source_file": "gun/scripts/create_input_template.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "gun_scripts_curated_itineraries", + "label": "curated_itineraries.py", + "file_type": "code", + "source_file": "gun/scripts/curated_itineraries.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "gun_scripts_curated_itineraries_make_workbook", + "label": "make_workbook()", + "file_type": "code", + "source_file": "gun/scripts/curated_itineraries.py", + "source_location": "L572", + "_origin": "ast" + }, + { + "id": "gun_scripts_curated_itineraries_py_workbook", + "label": "Workbook", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast" + }, + { + "id": "gun_scripts_curated_itineraries_main", + "label": "main()", + "file_type": "code", + "source_file": "gun/scripts/curated_itineraries.py", + "source_location": "L658", + "_origin": "ast" + }, + { + "id": "gun_scripts_curated_itineraries_rationale_1", + "label": "\ud050\ub808\uc774\uc158 \ucd94\ucc9c \uc77c\uc815 \uc0dd\uc131\uae30. \ud55c\uad6d \uc8fc\uc694 \uad00\uad11\uc9c0 \uae30\ubc18 \uc77c\ubc18 \uc9c0\uc2dd + \ud55c\uad6d\uad00\uad11\uacf5\uc0ac \ucd94\ucc9c \ucf54\uc2a4 \ud328\ud134\uc73c\ub85c 30~40\uac1c \ucd94\ucc9c \uc77c\uc815\uc744\u2026", + "file_type": "rationale", + "source_file": "gun/scripts/curated_itineraries.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "gun_scripts_fetch_google_hours", + "label": "fetch_google_hours.py", + "file_type": "code", + "source_file": "gun/scripts/fetch_google_hours.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "gun_scripts_fetch_google_hours_load_env", + "label": "load_env()", + "file_type": "code", + "source_file": "gun/scripts/fetch_google_hours.py", + "source_location": "L41", + "_origin": "ast" + }, + { + "id": "gun_scripts_fetch_google_hours_py_path", + "label": "Path", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast" + }, + { + "id": "gun_scripts_fetch_google_hours_text_search", + "label": "text_search()", + "file_type": "code", + "source_file": "gun/scripts/fetch_google_hours.py", + "source_location": "L58", + "_origin": "ast" + }, + { + "id": "gun_scripts_fetch_google_hours_place_details", + "label": "place_details()", + "file_type": "code", + "source_file": "gun/scripts/fetch_google_hours.py", + "source_location": "L83", + "_origin": "ast" + }, + { + "id": "gun_scripts_fetch_google_hours_py_any", + "label": "Any", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast" + }, + { + "id": "gun_scripts_fetch_google_hours_parse_periods", + "label": "parse_periods()", + "file_type": "code", + "source_file": "gun/scripts/fetch_google_hours.py", + "source_location": "L102", + "_origin": "ast" + }, + { + "id": "gun_scripts_fetch_google_hours_load_targets", + "label": "load_targets()", + "file_type": "code", + "source_file": "gun/scripts/fetch_google_hours.py", + "source_location": "L124", + "_origin": "ast" + }, + { + "id": "gun_scripts_fetch_google_hours_main", + "label": "main()", + "file_type": "code", + "source_file": "gun/scripts/fetch_google_hours.py", + "source_location": "L148", + "_origin": "ast" + }, + { + "id": "gun_scripts_fetch_google_hours_rationale_1", + "label": "Google Places API (New) \u2014 \uc2dd\ub2f9\u00b7\uce74\ud398 \uc6b4\uc601\uc2dc\uac04 \ubcf4\uac15. \uc0ac\uc6a9\ubc95: 1. .env \uc5d0 GOOGLE_PLACES_API_KEY\u2026", + "file_type": "rationale", + "source_file": "gun/scripts/fetch_google_hours.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "gun_scripts_fetch_google_hours_rationale_59", + "label": "POI \uc774\ub984\uc73c\ub85c \uac80\uc0c9 \u2192 \uccab \ud6c4\ubcf4\uc758 place_id \ubc18\ud658.", + "file_type": "rationale", + "source_file": "gun/scripts/fetch_google_hours.py", + "source_location": "L59", + "_origin": "ast" + }, + { + "id": "gun_scripts_fetch_google_hours_rationale_103", + "label": "API\uc758 periods \uc751\ub2f5\uc744 \uc694\uc77c\ubcc4 'HH:MM-HH:MM' \uc73c\ub85c \ubcc0\ud658. day: 0=\uc77c, 1=\uc6d4, ..., 6=\ud1a0 (Google \uae30\uc900)", + "file_type": "rationale", + "source_file": "gun/scripts/fetch_google_hours.py", + "source_location": "L103", + "_origin": "ast" + }, + { + "id": "gun_scripts_fetch_tourapi_to_csv", + "label": "fetch_tourapi_to_csv.py", + "file_type": "code", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "gun_scripts_fetch_tourapi_to_csv_resolve_base_dir", + "label": "_resolve_base_dir()", + "file_type": "code", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L132", + "_origin": "ast" + }, + { + "id": "gun_scripts_fetch_tourapi_to_csv_py_path", + "label": "Path", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast" + }, + { + "id": "gun_scripts_fetch_tourapi_to_csv_load_env", + "label": "load_env()", + "file_type": "code", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L156", + "_origin": "ast" + }, + { + "id": "gun_scripts_fetch_tourapi_to_csv_checkpoint", + "label": "Checkpoint", + "file_type": "code", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L177", + "_origin": "ast" + }, + { + "id": "gun_scripts_fetch_tourapi_to_csv_checkpoint_load", + "label": ".load()", + "file_type": "code", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L188", + "_origin": "ast" + }, + { + "id": "gun_scripts_fetch_tourapi_to_csv_checkpoint_save", + "label": ".save()", + "file_type": "code", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L200", + "_origin": "ast" + }, + { + "id": "gun_scripts_fetch_tourapi_to_csv_checkpoint_increment_daily", + "label": ".increment_daily()", + "file_type": "code", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L213", + "_origin": "ast" + }, + { + "id": "gun_scripts_fetch_tourapi_to_csv_checkpoint_remaining_today", + "label": ".remaining_today()", + "file_type": "code", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L222", + "_origin": "ast" + }, + { + "id": "gun_scripts_fetch_tourapi_to_csv_checkpoint_key", + "label": ".key()", + "file_type": "code", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L229", + "_origin": "ast" + }, + { + "id": "gun_scripts_fetch_tourapi_to_csv_checkpoint_is_done", + "label": ".is_done()", + "file_type": "code", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L232", + "_origin": "ast" + }, + { + "id": "gun_scripts_fetch_tourapi_to_csv_checkpoint_mark_done", + "label": ".mark_done()", + "file_type": "code", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L235", + "_origin": "ast" + }, + { + "id": "gun_scripts_fetch_tourapi_to_csv_dailylimitreached", + "label": "DailyLimitReached", + "file_type": "code", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L240", + "_origin": "ast" + }, + { + "id": "gun_scripts_fetch_tourapi_to_csv_py_exception", + "label": "Exception", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast" + }, + { + "id": "gun_scripts_fetch_tourapi_to_csv_call_api", + "label": "call_api()", + "file_type": "code", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L244", + "_origin": "ast" + }, + { + "id": "gun_scripts_fetch_tourapi_to_csv_py_any", + "label": "Any", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast" + }, + { + "id": "gun_scripts_fetch_tourapi_to_csv_parse_items", + "label": "parse_items()", + "file_type": "code", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L333", + "_origin": "ast" + }, + { + "id": "gun_scripts_fetch_tourapi_to_csv_get_total_count", + "label": "get_total_count()", + "file_type": "code", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L345", + "_origin": "ast" + }, + { + "id": "gun_scripts_fetch_tourapi_to_csv_csvappender", + "label": "CsvAppender", + "file_type": "code", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L351", + "_origin": "ast" + }, + { + "id": "gun_scripts_fetch_tourapi_to_csv_csvappender_init", + "label": ".__init__()", + "file_type": "code", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L352", + "_origin": "ast" + }, + { + "id": "gun_scripts_fetch_tourapi_to_csv_csvappender_enter", + "label": ".__enter__()", + "file_type": "code", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L358", + "_origin": "ast" + }, + { + "id": "gun_scripts_fetch_tourapi_to_csv_csvappender_exit", + "label": ".__exit__()", + "file_type": "code", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L367", + "_origin": "ast" + }, + { + "id": "gun_scripts_fetch_tourapi_to_csv_csvappender_write", + "label": ".write()", + "file_type": "code", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L371", + "_origin": "ast" + }, + { + "id": "gun_scripts_fetch_tourapi_to_csv_csvappender_write_many", + "label": ".write_many()", + "file_type": "code", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L374", + "_origin": "ast" + }, + { + "id": "gun_scripts_fetch_tourapi_to_csv_is_valid_kr_coord", + "label": "is_valid_kr_coord()", + "file_type": "code", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L379", + "_origin": "ast" + }, + { + "id": "gun_scripts_fetch_tourapi_to_csv_fetch_ldong_codes", + "label": "fetch_ldong_codes()", + "file_type": "code", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L391", + "_origin": "ast" + }, + { + "id": "gun_scripts_fetch_tourapi_to_csv_fetch_classification_codes", + "label": "fetch_classification_codes()", + "file_type": "code", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L503", + "_origin": "ast" + }, + { + "id": "gun_scripts_fetch_tourapi_to_csv_fetch_pois", + "label": "fetch_pois()", + "file_type": "code", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L565", + "_origin": "ast" + }, + { + "id": "gun_scripts_fetch_tourapi_to_csv_process_items", + "label": "_process_items()", + "file_type": "code", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L648", + "_origin": "ast" + }, + { + "id": "gun_scripts_fetch_tourapi_to_csv_fetch_festivals", + "label": "fetch_festivals()", + "file_type": "code", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L673", + "_origin": "ast" + }, + { + "id": "gun_scripts_fetch_tourapi_to_csv_enrich_operating_hours", + "label": "enrich_operating_hours()", + "file_type": "code", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L756", + "_origin": "ast" + }, + { + "id": "gun_scripts_fetch_tourapi_to_csv_test_connection", + "label": "test_connection()", + "file_type": "code", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L815", + "_origin": "ast" + }, + { + "id": "gun_scripts_fetch_tourapi_to_csv_main", + "label": "main()", + "file_type": "code", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L839", + "_origin": "ast" + }, + { + "id": "gun_scripts_fetch_tourapi_to_csv_rationale_2", + "label": "TourAPI v2 (KorService2) \u2192 CSV \ubc8c\ud06c \uc218\uc9d1 \uc2a4\ud06c\ub9bd\ud2b8 [\uc2e0 API \uba85\uc138 v2 \ubc18\uc601]\u2026", + "file_type": "rationale", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L2", + "_origin": "ast" + }, + { + "id": "gun_scripts_fetch_tourapi_to_csv_rationale_178", + "label": "\uc218\uc9d1 \uc9c4\ud589 \uc0c1\ud0dc + \uc77c\uc77c \ud638\ucd9c \uce74\uc6b4\ud2b8. \uc5d4\ub4dc\ud3ec\uc778\ud2b8\ubcc4 \ud638\ucd9c \uc218\ub97c \ub0a0\uc9dc\uc640 \ud568\uaed8 \uae30\ub85d \u2192 \uc77c\uc77c \ud55c\ub3c4 \ucd94\uc801.", + "file_type": "rationale", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L178", + "_origin": "ast" + }, + { + "id": "gun_scripts_fetch_tourapi_to_csv_rationale_241", + "label": "\uc77c\uc77c \ud55c\ub3c4 \ub3c4\ub2ec \u2014 \uccb4\ud06c\ud3ec\uc778\ud2b8 \uc800\uc7a5 \ud6c4 \uc815\uc0c1 \uc885\ub8cc.", + "file_type": "rationale", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L241", + "_origin": "ast" + }, + { + "id": "gun_scripts_fetch_tourapi_to_csv_rationale_250", + "label": "TourAPI \ud638\ucd9c. \uc2e4\ud328 \uc2dc None. \ud55c\ub3c4 \ub3c4\ub2ec \uc2dc DailyLimitReached.", + "file_type": "rationale", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L250", + "_origin": "ast" + }, + { + "id": "gun_scripts_fetch_tourapi_to_csv_rationale_334", + "label": "API \uc751\ub2f5\uc5d0\uc11c items.item \ub9ac\uc2a4\ud2b8 \ucd94\ucd9c. \ube48 \uc751\ub2f5 \uc548\uc804 \ucc98\ub9ac.", + "file_type": "rationale", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L334", + "_origin": "ast" + }, + { + "id": "gun_scripts_fetch_tourapi_to_csv_rationale_392", + "label": "ldongCode2\ub85c \uc804\uccb4 \ubc95\uc815\ub3d9(\uc2dc\ub3c4+\uc2dc\uad70\uad6c+\ubc95\uc815\ub3d9) \uc218\uc9d1. lDongListYn=Y \uc635\uc158\uc73c\ub85c \uc804\uccb4 \ubaa9\ub85d \uc870\ud68c + \ud398\uc774\uc9c0\ub124\uc774\uc158.", + "file_type": "rationale", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L392", + "_origin": "ast" + }, + { + "id": "gun_scripts_fetch_tourapi_to_csv_rationale_504", + "label": "lclsSystmCode2 \u2192 \ubd84\ub958\uccb4\uacc4 1~3 Depth \ud2b8\ub9ac \uc218\uc9d1.", + "file_type": "rationale", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L504", + "_origin": "ast" + }, + { + "id": "gun_scripts_fetch_tourapi_to_csv_rationale_572", + "label": "contentTypeId \u00d7 lDongRegnCd \uc870\ud569\uc73c\ub85c \ud398\uc774\uc9c0\ub124\uc774\uc158 \uc21c\ud68c. modifiedtime: 'YYYYMMDD' \u2014 \ud574\ub2f9 \ub0a0\uc9dc \uc774\ud6c4\u2026", + "file_type": "rationale", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L572", + "_origin": "ast" + }, + { + "id": "gun_scripts_fetch_tourapi_to_csv_rationale_653", + "label": "\ud398\uc774\uc9c0\uc758 item\uc744 \uac80\uc99d + CSV\uc5d0 \uc4f0\uae30. \ubc18\ud658: (\uc800\uc7a5, \uc88c\ud45c\uc624\ub958, \uc911\ubcf5).", + "file_type": "rationale", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L653", + "_origin": "ast" + }, + { + "id": "gun_scripts_fetch_tourapi_to_csv_rationale_679", + "label": "searchFestival2\ub85c [event_start, event_end] \uae30\uac04\uc758 \ucd95\uc81c \uc77c\uc815 \uc218\uc9d1. eventStartDate \ud544\ud130\ub85c \ud574\ub2f9\u2026", + "file_type": "rationale", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L679", + "_origin": "ast" + }, + { + "id": "gun_scripts_fetch_tourapi_to_csv_rationale_757", + "label": "pois.csv\ub97c \uc77d\uc5b4 detailIntro2\ub85c \uc6b4\uc601\uc2dc\uac04 \ubcf4\uac15. \uc774\ubbf8 enriched\ub41c contentid\ub294 \uc2a4\ud0b5.", + "file_type": "rationale", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L757", + "_origin": "ast" + }, + { + "id": "gun_scripts_inspect_json", + "label": "inspect_json.py", + "file_type": "code", + "source_file": "gun/scripts/inspect_json.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "gun_scripts_inspect_json_get_path", + "label": "get_path()", + "file_type": "code", + "source_file": "gun/scripts/inspect_json.py", + "source_location": "L24", + "_origin": "ast" + }, + { + "id": "gun_scripts_inspect_json_py_any", + "label": "Any", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast" + }, + { + "id": "gun_scripts_inspect_json_describe", + "label": "describe()", + "file_type": "code", + "source_file": "gun/scripts/inspect_json.py", + "source_location": "L44", + "_origin": "ast" + }, + { + "id": "gun_scripts_inspect_json_print_tree", + "label": "print_tree()", + "file_type": "code", + "source_file": "gun/scripts/inspect_json.py", + "source_location": "L59", + "_origin": "ast" + }, + { + "id": "gun_scripts_inspect_json_search_in", + "label": "search_in()", + "file_type": "code", + "source_file": "gun/scripts/inspect_json.py", + "source_location": "L86", + "_origin": "ast" + }, + { + "id": "gun_scripts_inspect_json_main", + "label": "main()", + "file_type": "code", + "source_file": "gun/scripts/inspect_json.py", + "source_location": "L105", + "_origin": "ast" + }, + { + "id": "gun_scripts_inspect_json_rationale_1", + "label": "JSON \ud30c\uc77c \ube60\ub978 \ud655\uc778 \uc720\ud2f8\ub9ac\ud2f0 ================================= \uc0ac\uc6a9\ubc95: python3\u2026", + "file_type": "rationale", + "source_file": "gun/scripts/inspect_json.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "gun_scripts_inspect_json_rationale_25", + "label": "a.b.0.c' \ud615\ud0dc \uacbd\ub85c\ub85c dict/list \uc548\uc73c\ub85c \ub4e4\uc5b4\uac10.", + "file_type": "rationale", + "source_file": "gun/scripts/inspect_json.py", + "source_location": "L25", + "_origin": "ast" + }, + { + "id": "gun_scripts_inspect_json_rationale_60", + "label": "\uad6c\uc870\ub9cc \ud2b8\ub9ac\ub85c \ucd9c\ub825 (\uac12\uc740 \ud0c0\uc785\uacfc \uae38\uc774\ub9cc).", + "file_type": "rationale", + "source_file": "gun/scripts/inspect_json.py", + "source_location": "L60", + "_origin": "ast" + }, + { + "id": "gun_scripts_inspect_json_rationale_87", + "label": "\ubaa8\ub4e0 \uac12\uc5d0\uc11c text \ud3ec\ud568 \ud56d\ubaa9 \ucc3e\uae30. \ubc18\ud658: [(\uacbd\ub85c, \uac12)]", + "file_type": "rationale", + "source_file": "gun/scripts/inspect_json.py", + "source_location": "L87", + "_origin": "ast" + }, + { + "id": "gun_scripts_preprocess_pois", + "label": "preprocess_pois.py", + "file_type": "code", + "source_file": "gun/scripts/preprocess_pois.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "gun_scripts_preprocess_pois_parse_korean_address", + "label": "parse_korean_address()", + "file_type": "code", + "source_file": "gun/scripts/preprocess_pois.py", + "source_location": "L37", + "_origin": "ast" + }, + { + "id": "gun_scripts_preprocess_pois_split_address_columns", + "label": "split_address_columns()", + "file_type": "code", + "source_file": "gun/scripts/preprocess_pois.py", + "source_location": "L92", + "_origin": "ast" + }, + { + "id": "gun_scripts_preprocess_pois_py_dataframe", + "label": "DataFrame", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast" + }, + { + "id": "gun_scripts_preprocess_pois_parse_eup_myeon_ri", + "label": "parse_eup_myeon_ri()", + "file_type": "code", + "source_file": "gun/scripts/preprocess_pois.py", + "source_location": "L120", + "_origin": "ast" + }, + { + "id": "gun_scripts_preprocess_pois_split_eup_myeon_ri_columns", + "label": "split_eup_myeon_ri_columns()", + "file_type": "code", + "source_file": "gun/scripts/preprocess_pois.py", + "source_location": "L150", + "_origin": "ast" + }, + { + "id": "gun_scripts_preprocess_pois_split_date_columns", + "label": "split_date_columns()", + "file_type": "code", + "source_file": "gun/scripts/preprocess_pois.py", + "source_location": "L175", + "_origin": "ast" + }, + { + "id": "gun_scripts_preprocess_pois_preprocess", + "label": "preprocess()", + "file_type": "code", + "source_file": "gun/scripts/preprocess_pois.py", + "source_location": "L202", + "_origin": "ast" + }, + { + "id": "gun_scripts_preprocess_pois_py_path", + "label": "Path", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast" + }, + { + "id": "gun_scripts_preprocess_pois_main", + "label": "main()", + "file_type": "code", + "source_file": "gun/scripts/preprocess_pois.py", + "source_location": "L273", + "_origin": "ast" + }, + { + "id": "gun_scripts_preprocess_pois_rationale_1", + "label": "POI CSV \uc885\ud569 \uc804\ucc98\ub9ac ========================= TourAPI \uc6d0\ubcf8 CSV\uc5d0 \ub300\ud574 \uc138 \uac00\uc9c0 \ubcc0\ud658\uc744 \ud55c \ubc88\uc5d0 \uc801\uc6a9:\u2026", + "file_type": "rationale", + "source_file": "gun/scripts/preprocess_pois.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "gun_scripts_preprocess_pois_rationale_38", + "label": "\ud55c\uad6d \uc8fc\uc18c \ubb38\uc790\uc5f4 \u2192 (\uc2dc\ub3c4, \uc2dc\uad70\uad6c, \uc74d\uba74\ub3d9\u00b7\ub3c4\ub85c\uba85) \ubd84\ub9ac. \uaddc\uce59 ---- 1. \uccab \ud1a0\ud070 = \uc2dc\ub3c4 (\uc5b4\ub5a4 \ud615\ud0dc\ub4e0 \uadf8\ub300\ub85c) 2. \uc2dc\uad70\uad6c\ub294\u2026", + "file_type": "rationale", + "source_file": "gun/scripts/preprocess_pois.py", + "source_location": "L38", + "_origin": "ast" + }, + { + "id": "gun_scripts_preprocess_pois_rationale_121", + "label": "dong_or_road\ub97c \ub744\uc5b4\uc4f0\uae30\ub85c \ubd84\ub9ac \u2014 1\ubc88\uc9f8 \u2192 eup_myeon, 2\ubc88\uc9f8 \u2192 ri. 3\ubc88\uc9f8 \uc774\ud6c4 \ud1a0\ud070\uc740 \ubaa8\ub450 drop ('\ub9ac \ub2e8\uc704\u2026", + "file_type": "rationale", + "source_file": "gun/scripts/preprocess_pois.py", + "source_location": "L121", + "_origin": "ast" + }, + { + "id": "gun_scripts_preprocess_pois_rationale_181", + "label": "YYYYMMDDHHMMSS \u2192 {prefix}_date / _year / _month (day, time \uc81c\uc678).", + "file_type": "rationale", + "source_file": "gun/scripts/preprocess_pois.py", + "source_location": "L181", + "_origin": "ast" + }, + { + "id": "gun_scripts_setup_and_test", + "label": "setup_and_test.py", + "file_type": "code", + "source_file": "gun/scripts/setup_and_test.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "gun_scripts_setup_and_test_rationale_1", + "label": "env \uc0dd\uc131 + Kakao API \ud14c\uc2a4\ud2b8. \u26a0\ufe0f \ud0a4\ub294 \uc808\ub300 \ucf54\ub4dc\uc5d0 \ud558\ub4dc\ucf54\ub529\ud558\uc9c0 \ub9d0 \uac83 \u2014 \ud658\uacbd\ubcc0\uc218 \ub610\ub294 .env \ud30c\uc77c\uc5d0\uc11c \uc77d\uc5b4\uc634. \uc0ac\uc6a9\ubc95:\u2026", + "file_type": "rationale", + "source_file": "gun/scripts/setup_and_test.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "gun_src_init", + "label": "gun/src/__init__.py", + "file_type": "code", + "source_file": "gun/src/__init__.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "gun_src_validation_init", + "label": "gun/src/validation/__init__.py", + "file_type": "code", + "source_file": "gun/src/validation/__init__.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "gun_tests_init", + "label": "gun/tests/__init__.py", + "file_type": "code", + "source_file": "gun/tests/__init__.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "package", + "label": "package.json", + "file_type": "code", + "source_file": "package.json", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "package_dependencies", + "label": "dependencies", + "file_type": "code", + "source_file": "package.json", + "source_location": "L2", + "_origin": "ast" + }, + { + "id": "package_dependencies_pptxgenjs", + "label": "pptxgenjs", + "file_type": "code", + "source_file": "package.json", + "source_location": "L3", + "_origin": "ast" + }, + { + "id": "pptxgenjs", + "label": "pptxgenjs", + "file_type": "concept", + "source_file": "package.json", + "source_location": "L3", + "_origin": "ast" + }, + { + "id": "phases_0_setup_analyze", + "label": "analyze.py", + "file_type": "code", + "source_file": "phases/0-setup/analyze.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "phases_0_setup_analyze_load_env", + "label": "_load_env()", + "file_type": "code", + "source_file": "phases/0-setup/analyze.py", + "source_location": "L14", + "_origin": "ast" + }, + { + "id": "phases_0_setup_analyze_parse_cell", + "label": "parse_cell()", + "file_type": "code", + "source_file": "phases/0-setup/analyze.py", + "source_location": "L43", + "_origin": "ast" + }, + { + "id": "phases_0_setup_analyze_geocode_tourapi", + "label": "geocode_tourapi()", + "file_type": "code", + "source_file": "phases/0-setup/analyze.py", + "source_location": "L106", + "_origin": "ast" + }, + { + "id": "phases_0_setup_analyze_geocode_kakao_local", + "label": "geocode_kakao_local()", + "file_type": "code", + "source_file": "phases/0-setup/analyze.py", + "source_location": "L129", + "_origin": "ast" + }, + { + "id": "phases_0_setup_analyze_geocode_nominatim", + "label": "geocode_nominatim()", + "file_type": "code", + "source_file": "phases/0-setup/analyze.py", + "source_location": "L153", + "_origin": "ast" + }, + { + "id": "phases_0_setup_analyze_geocode_single", + "label": "geocode_single()", + "file_type": "code", + "source_file": "phases/0-setup/analyze.py", + "source_location": "L170", + "_origin": "ast" + }, + { + "id": "phases_0_setup_analyze_haversine_travel_sec", + "label": "haversine_travel_sec()", + "file_type": "code", + "source_file": "phases/0-setup/analyze.py", + "source_location": "L218", + "_origin": "ast" + }, + { + "id": "phases_0_setup_analyze_get_travel_time", + "label": "get_travel_time()", + "file_type": "code", + "source_file": "phases/0-setup/analyze.py", + "source_location": "L225", + "_origin": "ast" + }, + { + "id": "phases_0_setup_analyze_haversine", + "label": "haversine()", + "file_type": "code", + "source_file": "phases/0-setup/analyze.py", + "source_location": "L258", + "_origin": "ast" + }, + { + "id": "phases_0_setup_analyze_cluster_label", + "label": "cluster_label()", + "file_type": "code", + "source_file": "phases/0-setup/analyze.py", + "source_location": "L266", + "_origin": "ast" + }, + { + "id": "phases_0_setup_analyze_percentile", + "label": "percentile()", + "file_type": "code", + "source_file": "phases/0-setup/analyze.py", + "source_location": "L351", + "_origin": "ast" + }, + { + "id": "phases_0_setup_analyze_stats_block", + "label": "stats_block()", + "file_type": "code", + "source_file": "phases/0-setup/analyze.py", + "source_location": "L372", + "_origin": "ast" + }, + { + "id": "phases_0_setup_analyze_rationale_1", + "label": "\uad6c\uc11d\uad6c\uc11d 50\uac1c \uc5ec\ud589 \uacbd\ub85c \ubd84\uc11d \ud30c\uc774\ud504\ub77c\uc778 1. \uc7a5\uc18c\uba85 \ud30c\uc2f1 \u2192 2. \uc9c0\uc624\ucf54\ub529 \u2192 3. \uc774\ub3d9\uc2dc\uac04 \uacc4\uc0b0 \u2192 4. \uc9c0\ud45c \uc0b0\ucd9c \u2192 5. \ud1b5\uacc4 \ucd9c\ub825", + "file_type": "rationale", + "source_file": "phases/0-setup/analyze.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "phases_0_setup_analyze_rationale_44", + "label": "1.\uc7a5\uc18cA, 3.\uc7a5\uc18cB, 2.\uc74c\uc2ddC' \u2192 {1: '\uc7a5\uc18cA', 2: '\uc74c\uc2ddC', 3: '\uc7a5\uc18cB'}", + "file_type": "rationale", + "source_file": "phases/0-setup/analyze.py", + "source_location": "L44", + "_origin": "ast" + }, + { + "id": "phases_0_setup_analyze_rationale_130", + "label": "Kakao Local API \u2014 \ud604\uc9c0 \uce74\ud398\u00b7\uc2dd\ub2f9\u00b7\uad00\uad11\uc9c0\uae4c\uc9c0 \uad11\ubc94\uc704\ud558\uac8c \ucee4\ubc84. region\uc740 \uc5b8\ub354\uc2a4\ucf54\uc5b4 \ud615\uc2dd \uac00\ub2a5\uc131\uc774 \uc788\uc5b4 \ucffc\ub9ac\uc5d0 \ud3ec\ud568\ud558\uc9c0 \uc54a\uc74c.", + "file_type": "rationale", + "source_file": "phases/0-setup/analyze.py", + "source_location": "L130", + "_origin": "ast" + }, + { + "id": "phases_0_setup_analyze_rationale_171", + "label": "TourAPI \u2192 Kakao Local \u2192 Nominatim \uc21c (\ubcd1\ub82c \ud638\ucd9c \uc548\uc804)", + "file_type": "rationale", + "source_file": "phases/0-setup/analyze.py", + "source_location": "L171", + "_origin": "ast" + }, + { + "id": "phases_0_setup_analyze_rationale_219", + "label": "\uc9c1\uc120\uac70\ub9ac \u00d7 \uc6b0\ud68c\uacc4\uc218 / \uc18d\ub3c4 \ub85c \uc774\ub3d9 \uc2dc\uac04(\ucd08) \ucd94\uc815. Kakao API \ubd88\uac00 \uc2dc \ud3f4\ubc31.", + "file_type": "rationale", + "source_file": "phases/0-setup/analyze.py", + "source_location": "L219", + "_origin": "ast" + }, + { + "id": "phases_0_setup_analyze_rationale_267", + "label": "\ub2e8\uc21c \uadf8\ub9ac\ub4dc \uae30\ubc18 \uc9c0\uc5ed \ud074\ub7ec\uc2a4\ud130 \ub808\uc774\ube14 (5km \uaca9\uc790)", + "file_type": "rationale", + "source_file": "phases/0-setup/analyze.py", + "source_location": "L267", + "_origin": "ast" + }, + { + "id": "phases_0_setup_analyze_triple", + "label": "analyze_triple.py", + "file_type": "code", + "source_file": "phases/0-setup/analyze_triple.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "phases_0_setup_analyze_triple_load_env", + "label": "_load_env()", + "file_type": "code", + "source_file": "phases/0-setup/analyze_triple.py", + "source_location": "L12", + "_origin": "ast" + }, + { + "id": "phases_0_setup_analyze_triple_parse_numbered", + "label": "parse_numbered()", + "file_type": "code", + "source_file": "phases/0-setup/analyze_triple.py", + "source_location": "L68", + "_origin": "ast" + }, + { + "id": "phases_0_setup_analyze_triple_geocode_tourapi", + "label": "geocode_tourapi()", + "file_type": "code", + "source_file": "phases/0-setup/analyze_triple.py", + "source_location": "L159", + "_origin": "ast" + }, + { + "id": "phases_0_setup_analyze_triple_geocode_kakao_local", + "label": "geocode_kakao_local()", + "file_type": "code", + "source_file": "phases/0-setup/analyze_triple.py", + "source_location": "L182", + "_origin": "ast" + }, + { + "id": "phases_0_setup_analyze_triple_geocode_nominatim", + "label": "geocode_nominatim()", + "file_type": "code", + "source_file": "phases/0-setup/analyze_triple.py", + "source_location": "L206", + "_origin": "ast" + }, + { + "id": "phases_0_setup_analyze_triple_geocode_single", + "label": "geocode_single()", + "file_type": "code", + "source_file": "phases/0-setup/analyze_triple.py", + "source_location": "L223", + "_origin": "ast" + }, + { + "id": "phases_0_setup_analyze_triple_haversine", + "label": "haversine()", + "file_type": "code", + "source_file": "phases/0-setup/analyze_triple.py", + "source_location": "L265", + "_origin": "ast" + }, + { + "id": "phases_0_setup_analyze_triple_haversine_travel_sec", + "label": "haversine_travel_sec()", + "file_type": "code", + "source_file": "phases/0-setup/analyze_triple.py", + "source_location": "L273", + "_origin": "ast" + }, + { + "id": "phases_0_setup_analyze_triple_get_travel_time", + "label": "get_travel_time()", + "file_type": "code", + "source_file": "phases/0-setup/analyze_triple.py", + "source_location": "L279", + "_origin": "ast" + }, + { + "id": "phases_0_setup_analyze_triple_cluster_label", + "label": "cluster_label()", + "file_type": "code", + "source_file": "phases/0-setup/analyze_triple.py", + "source_location": "L308", + "_origin": "ast" + }, + { + "id": "phases_0_setup_analyze_triple_percentile", + "label": "percentile()", + "file_type": "code", + "source_file": "phases/0-setup/analyze_triple.py", + "source_location": "L388", + "_origin": "ast" + }, + { + "id": "phases_0_setup_analyze_triple_stats_block", + "label": "stats_block()", + "file_type": "code", + "source_file": "phases/0-setup/analyze_triple.py", + "source_location": "L394", + "_origin": "ast" + }, + { + "id": "phases_0_setup_analyze_triple_rationale_1", + "label": "\ud2b8\ub9ac\ud50c \uc571 \ucd94\ucc9c \uacbd\ub85c \ubd84\uc11d \ud30c\uc774\ud504\ub77c\uc778 (\ub300\ud55c\ubbfc\uad6d \ub178\uc120\ub9cc) \uad6c\uc11d\uad6c\uc11d analyze.py\uc640 \ub3d9\uc77c \uc9c0\ud45c\ub97c \uc0b0\ucd9c\ud558\uc5ec \ube44\uad50 \uae30\ubc18 \ub370\uc774\ud130 \uc0dd\uc131", + "file_type": "rationale", + "source_file": "phases/0-setup/analyze_triple.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "phases_0_setup_analyze_triple_rationale_69", + "label": "1.\uc7a5\uc18cA, 3.\uc7a5\uc18cB' \u2192 {1: '\uc7a5\uc18cA', 3: '\uc7a5\uc18cB'}", + "file_type": "rationale", + "source_file": "phases/0-setup/analyze_triple.py", + "source_location": "L69", + "_origin": "ast" + }, + { + "id": "phases_0_setup_analyze_triple_rationale_183", + "label": "Kakao Local API \u2014 \ud604\uc9c0 \uce74\ud398\u00b7\uc2dd\ub2f9\u00b7\uad00\uad11\uc9c0\uae4c\uc9c0 \uad11\ubc94\uc704\ud558\uac8c \ucee4\ubc84. city\ub294 \uc5b8\ub354\uc2a4\ucf54\uc5b4 \ud615\uc2dd('\uac00\ud3c9_\uc591\ud3c9')\uc774\ubbc0\ub85c \ucffc\ub9ac\uc5d0 \ud3ec\ud568\ud558\uc9c0\u2026", + "file_type": "rationale", + "source_file": "phases/0-setup/analyze_triple.py", + "source_location": "L183", + "_origin": "ast" + }, + { + "id": "phases_0_setup_analyze_triple_rationale_224", + "label": "TourAPI \u2192 Kakao Local \u2192 Nominatim \uc21c\uc73c\ub85c \uc2dc\ub3c4 (\ubcd1\ub82c \ud638\ucd9c \uc548\uc804)", + "file_type": "rationale", + "source_file": "phases/0-setup/analyze_triple.py", + "source_location": "L224", + "_origin": "ast" + }, + { + "id": "phases_0_setup_statistical_report", + "label": "statistical_report.py", + "file_type": "code", + "source_file": "phases/0-setup/statistical_report.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "phases_0_setup_statistical_report_pct", + "label": "pct()", + "file_type": "code", + "source_file": "phases/0-setup/statistical_report.py", + "source_location": "L37", + "_origin": "ast" + }, + { + "id": "phases_0_setup_statistical_report_pctile", + "label": "pctile()", + "file_type": "code", + "source_file": "phases/0-setup/statistical_report.py", + "source_location": "L40", + "_origin": "ast" + }, + { + "id": "phases_0_setup_statistical_report_header", + "label": "header()", + "file_type": "code", + "source_file": "phases/0-setup/statistical_report.py", + "source_location": "L87", + "_origin": "ast" + }, + { + "id": "phases_0_setup_statistical_report_rationale_1", + "label": "AI \uc5ec\ud589 \ucd94\ucc9c \uc131\ub2a5 \ud1b5\uacc4 \ubd84\uc11d analysis_result.json \uc744 \uc77d\uc5b4 AI \ucd94\ucc9c\uc758 \uad6c\uc870\uc801 \ubb38\uc81c\ub97c \uc815\ub7c9\ud654\ud55c\ub2e4.", + "file_type": "rationale", + "source_file": "phases/0-setup/statistical_report.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "phases_0_setup_visualize", + "label": "visualize.py", + "file_type": "code", + "source_file": "phases/0-setup/visualize.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "phases_0_setup_visualize_rationale_1", + "label": "AI \uc5ec\ud589 \ucd94\ucc9c \uc131\ub2a5 \uc2dc\uac01\ud654 \u2014 \ud504\ub85c\uc81d\ud2b8 \ud544\uc694\uc131 \uadfc\uac70 \ucc28\ud2b8 4\uc885", + "file_type": "rationale", + "source_file": "phases/0-setup/visualize.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "phases_0_setup_visualize_combined", + "label": "visualize_combined.py", + "file_type": "code", + "source_file": "phases/0-setup/visualize_combined.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "phases_0_setup_visualize_combined_rationale_1", + "label": "\ud2b8\ub9ac\ud50c + \uad6c\uc11d\uad6c\uc11d \ube44\uad50 \uc2dc\uac01\ud654 Figure 1: \ud2b8\ub9ac\ud50c \ub2e8\ub3c5 \ud488\uc9c8 \ub9ac\ud3ec\ud2b8 (triple_quality_report.png) Figure 2:\u2026", + "file_type": "rationale", + "source_file": "phases/0-setup/visualize_combined.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "pkg_travel_plan_validator", + "label": "travel-plan-validator", + "file_type": "code", + "type": "package", + "ecosystem": "python", + "source_file": "pyproject.toml", + "source_location": "L1", + "version": "1.0.0", + "_origin": "ast" + }, + { + "id": "scripts_build_knowledge_graph", + "label": "build_knowledge_graph.py", + "file_type": "code", + "source_file": "scripts/build_knowledge_graph.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "scripts_build_knowledge_graph_place_type", + "label": "_place_type()", + "file_type": "code", + "source_file": "scripts/build_knowledge_graph.py", + "source_location": "L61", + "_origin": "ast" + }, + { + "id": "scripts_build_knowledge_graph_parse_region_chain", + "label": "_parse_region_chain()", + "file_type": "code", + "source_file": "scripts/build_knowledge_graph.py", + "source_location": "L67", + "_origin": "ast" + }, + { + "id": "scripts_build_knowledge_graph_load_category_group_map", + "label": "_load_category_group_map()", + "file_type": "code", + "source_file": "scripts/build_knowledge_graph.py", + "source_location": "L100", + "_origin": "ast" + }, + { + "id": "scripts_build_knowledge_graph_project_meters", + "label": "_project_meters()", + "file_type": "code", + "source_file": "scripts/build_knowledge_graph.py", + "source_location": "L113", + "_origin": "ast" + }, + { + "id": "ndarray", + "label": "ndarray", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast" + }, + { + "id": "scripts_build_knowledge_graph_build_near_by", + "label": "build_near_by()", + "file_type": "code", + "source_file": "scripts/build_knowledge_graph.py", + "source_location": "L121", + "_origin": "ast" + }, + { + "id": "scripts_build_knowledge_graph_py_dataframe", + "label": "DataFrame", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast" + }, + { + "id": "scripts_build_knowledge_graph_selfcheck", + "label": "_selfcheck()", + "file_type": "code", + "source_file": "scripts/build_knowledge_graph.py", + "source_location": "L154", + "_origin": "ast" + }, + { + "id": "scripts_build_knowledge_graph_main", + "label": "main()", + "file_type": "code", + "source_file": "scripts/build_knowledge_graph.py", + "source_location": "L170", + "_origin": "ast" + }, + { + "id": "scripts_build_knowledge_graph_rationale_68", + "label": "\uc8fc\uc18c \u2192 [(id, name), ...] \ucd5c\uc0c1\uc704(\uc74d/\uba74/\ub3d9 \ub610\ub294 \uc2dc) \u2192 \uc2dc \u2192 \ub3c4 \uc21c\uc11c. \ubc18\ud658 \ub9ac\uc2a4\ud2b8\uc758 \uccab \ud56d\ubaa9\uc774 Place\uac00\u2026", + "file_type": "rationale", + "source_file": "scripts/build_knowledge_graph.py", + "source_location": "L68", + "_origin": "ast" + }, + { + "id": "scripts_build_knowledge_graph_rationale_114", + "label": "\uc18c\ubc94\uc704(\uc81c\uc8fc\ub3c4)\uc6a9 \ub4f1\uc7a5\ubc29\ud615 \ud22c\uc601 \u2014 300m \uc2a4\ucf00\uc77c\uc5d0\uc11c \uc624\ucc28 \ubb34\uc2dc \uac00\ub2a5.", + "file_type": "rationale", + "source_file": "scripts/build_knowledge_graph.py", + "source_location": "L114", + "_origin": "ast" + }, + { + "id": "scripts_build_poi_dataset", + "label": "build_poi_dataset.py", + "file_type": "code", + "source_file": "scripts/build_poi_dataset.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "scripts_build_poi_dataset_build_wellness", + "label": "build_wellness()", + "file_type": "code", + "source_file": "scripts/build_poi_dataset.py", + "source_location": "L34", + "_origin": "ast" + }, + { + "id": "scripts_build_poi_dataset_build_barrier_free", + "label": "build_barrier_free()", + "file_type": "code", + "source_file": "scripts/build_poi_dataset.py", + "source_location": "L49", + "_origin": "ast" + }, + { + "id": "scripts_build_poi_dataset_main", + "label": "main()", + "file_type": "code", + "source_file": "scripts/build_poi_dataset.py", + "source_location": "L64", + "_origin": "ast" + }, + { + "id": "scripts_build_poi_dataset_rationale_1", + "label": "\uc6f0\ub2c8\uc2a4\u00b7\ubb34\uc7a5\uc560 \uc5ec\ud589\uc9c0 \ub370\uc774\ud130\uc14b \ube4c\ub354. \uacf5\uacf5\ub370\uc774\ud130\ud3ec\ud138 API\ub97c \ud638\ucd9c\ud558\uc5ec \uc804\uccb4 \ubaa9\ub85d\uc744 JSON\uc73c\ub85c \uc800\uc7a5. \uc800\uc7a5 \uacbd\ub85c:\u2026", + "file_type": "rationale", + "source_file": "scripts/build_poi_dataset.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "scripts_collect_naver_full", + "label": "collect_naver_full.py", + "file_type": "code", + "source_file": "scripts/collect_naver_full.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "scripts_collect_naver_full_rate_get", + "label": "_rate_get()", + "file_type": "code", + "source_file": "scripts/collect_naver_full.py", + "source_location": "L93", + "_origin": "ast" + }, + { + "id": "scripts_collect_naver_full_py_client", + "label": "Client", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast" + }, + { + "id": "scripts_collect_naver_full_py_response", + "label": "Response", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast" + }, + { + "id": "scripts_collect_naver_full_load_quota", + "label": "load_quota()", + "file_type": "code", + "source_file": "scripts/collect_naver_full.py", + "source_location": "L110", + "_origin": "ast" + }, + { + "id": "scripts_collect_naver_full_save_quota", + "label": "_save_quota()", + "file_type": "code", + "source_file": "scripts/collect_naver_full.py", + "source_location": "L123", + "_origin": "ast" + }, + { + "id": "scripts_collect_naver_full_increment_quota", + "label": "_increment_quota()", + "file_type": "code", + "source_file": "scripts/collect_naver_full.py", + "source_location": "L127", + "_origin": "ast" + }, + { + "id": "scripts_collect_naver_full_strip", + "label": "_strip()", + "file_type": "code", + "source_file": "scripts/collect_naver_full.py", + "source_location": "L138", + "_origin": "ast" + }, + { + "id": "scripts_collect_naver_full_count_hits", + "label": "_count_hits()", + "file_type": "code", + "source_file": "scripts/collect_naver_full.py", + "source_location": "L214", + "_origin": "ast" + }, + { + "id": "scripts_collect_naver_full_parse_price", + "label": "_parse_price()", + "file_type": "code", + "source_file": "scripts/collect_naver_full.py", + "source_location": "L232", + "_origin": "ast" + }, + { + "id": "scripts_collect_naver_full_extract_fields", + "label": "extract_fields()", + "file_type": "code", + "source_file": "scripts/collect_naver_full.py", + "source_location": "L255", + "_origin": "ast" + }, + { + "id": "scripts_collect_naver_full_build_summary_text", + "label": "build_summary_text()", + "file_type": "code", + "source_file": "scripts/collect_naver_full.py", + "source_location": "L315", + "_origin": "ast" + }, + { + "id": "scripts_collect_naver_full_fetch_blog_texts", + "label": "_fetch_blog_texts()", + "file_type": "code", + "source_file": "scripts/collect_naver_full.py", + "source_location": "L328", + "_origin": "ast" + }, + { + "id": "scripts_collect_naver_full_fetch_and_extract", + "label": "fetch_and_extract()", + "file_type": "code", + "source_file": "scripts/collect_naver_full.py", + "source_location": "L354", + "_origin": "ast" + }, + { + "id": "scripts_collect_naver_full_load_all_pois", + "label": "load_all_pois()", + "file_type": "code", + "source_file": "scripts/collect_naver_full.py", + "source_location": "L396", + "_origin": "ast" + }, + { + "id": "scripts_collect_naver_full_load_progress", + "label": "load_progress()", + "file_type": "code", + "source_file": "scripts/collect_naver_full.py", + "source_location": "L406", + "_origin": "ast" + }, + { + "id": "scripts_collect_naver_full_save_progress", + "label": "save_progress()", + "file_type": "code", + "source_file": "scripts/collect_naver_full.py", + "source_location": "L417", + "_origin": "ast" + }, + { + "id": "scripts_collect_naver_full_save_output", + "label": "save_output()", + "file_type": "code", + "source_file": "scripts/collect_naver_full.py", + "source_location": "L422", + "_origin": "ast" + }, + { + "id": "scripts_collect_naver_full_print_stats", + "label": "print_stats()", + "file_type": "code", + "source_file": "scripts/collect_naver_full.py", + "source_location": "L431", + "_origin": "ast" + }, + { + "id": "scripts_collect_naver_full_main", + "label": "main()", + "file_type": "code", + "source_file": "scripts/collect_naver_full.py", + "source_location": "L464", + "_origin": "ast" + }, + { + "id": "scripts_collect_naver_full_rationale_111", + "label": "\uc624\ub298 \ub0a0\uc9dc \uae30\uc900 \ub0a8\uc740 API \ud638\ucd9c \uc218 \ubc18\ud658.", + "file_type": "rationale", + "source_file": "scripts/collect_naver_full.py", + "source_location": "L111", + "_origin": "ast" + }, + { + "id": "scripts_collect_naver_full_rationale_128", + "label": "\ud638\ucd9c \uce74\uc6b4\ud2b8 \uc99d\uac00. \ud55c\ub3c4 \ucd08\uacfc \uc2dc False \ubc18\ud658.", + "file_type": "rationale", + "source_file": "scripts/collect_naver_full.py", + "source_location": "L128", + "_origin": "ast" + }, + { + "id": "scripts_collect_naver_full_rationale_407", + "label": "contentid \u2192 record \ub515\uc154\ub108\ub9ac \ubc18\ud658 (progress \ud30c\uc77c\uc774 list \ud615\uc2dd\ub3c4 \ucc98\ub9ac).", + "file_type": "rationale", + "source_file": "scripts/collect_naver_full.py", + "source_location": "L407", + "_origin": "ast" + }, + { + "id": "scripts_collect_naver_metadata", + "label": "collect_naver_metadata.py", + "file_type": "code", + "source_file": "scripts/collect_naver_metadata.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "scripts_collect_naver_metadata_rate_limited_get", + "label": "_rate_limited_get()", + "file_type": "code", + "source_file": "scripts/collect_naver_metadata.py", + "source_location": "L50", + "_origin": "ast" + }, + { + "id": "scripts_collect_naver_metadata_py_client", + "label": "Client", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast" + }, + { + "id": "scripts_collect_naver_metadata_py_response", + "label": "Response", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast" + }, + { + "id": "scripts_collect_naver_metadata_load_csv_sample", + "label": "load_csv_sample()", + "file_type": "code", + "source_file": "scripts/collect_naver_metadata.py", + "source_location": "L94", + "_origin": "ast" + }, + { + "id": "scripts_collect_naver_metadata_fetch_blog", + "label": "fetch_blog()", + "file_type": "code", + "source_file": "scripts/collect_naver_metadata.py", + "source_location": "L117", + "_origin": "ast" + }, + { + "id": "scripts_collect_naver_metadata_build_place_block", + "label": "build_place_block()", + "file_type": "code", + "source_file": "scripts/collect_naver_metadata.py", + "source_location": "L143", + "_origin": "ast" + }, + { + "id": "scripts_collect_naver_metadata_extract_metadata_batch", + "label": "extract_metadata_batch()", + "file_type": "code", + "source_file": "scripts/collect_naver_metadata.py", + "source_location": "L164", + "_origin": "ast" + }, + { + "id": "scripts_collect_naver_metadata_load_progress", + "label": "load_progress()", + "file_type": "code", + "source_file": "scripts/collect_naver_metadata.py", + "source_location": "L188", + "_origin": "ast" + }, + { + "id": "scripts_collect_naver_metadata_save_progress", + "label": "save_progress()", + "file_type": "code", + "source_file": "scripts/collect_naver_metadata.py", + "source_location": "L195", + "_origin": "ast" + }, + { + "id": "scripts_collect_naver_metadata_merge_meta", + "label": "merge_meta()", + "file_type": "code", + "source_file": "scripts/collect_naver_metadata.py", + "source_location": "L201", + "_origin": "ast" + }, + { + "id": "scripts_collect_naver_metadata_main", + "label": "main()", + "file_type": "code", + "source_file": "scripts/collect_naver_metadata.py", + "source_location": "L215", + "_origin": "ast" + }, + { + "id": "scripts_collect_naver_metadata_rationale_51", + "label": "\ucd08\ub2f9 \uc694\uccad \uc218\ub97c RATE_LIMIT_RPS \uc774\ud558\ub85c \uc81c\ud55c", + "file_type": "rationale", + "source_file": "scripts/collect_naver_metadata.py", + "source_location": "L51", + "_origin": "ast" + }, + { + "id": "scripts_collect_naver_metadata_rationale_95", + "label": "CSV\uc5d0\uc11c \uc0d8\ud50c \ucd94\ucd9c (\uc74c\uc2dd\uc810\u00b7\uad00\uad11\uc9c0 \ube44\uc911 \ub192\uc784)", + "file_type": "rationale", + "source_file": "scripts/collect_naver_metadata.py", + "source_location": "L95", + "_origin": "ast" + }, + { + "id": "scripts_collect_naver_metadata_rationale_118", + "label": "\ub2e8\uc77c POI\uc758 \ube14\ub85c\uadf8 \uacb0\uacfc \uc218\uc9d1 (\uc2a4\ub808\ub4dc\ud480\uc5d0\uc11c \uc2e4\ud589)", + "file_type": "rationale", + "source_file": "scripts/collect_naver_metadata.py", + "source_location": "L118", + "_origin": "ast" + }, + { + "id": "scripts_collect_naver_only", + "label": "collect_naver_only.py", + "file_type": "code", + "source_file": "scripts/collect_naver_only.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "scripts_collect_naver_only_rate_get", + "label": "_rate_get()", + "file_type": "code", + "source_file": "scripts/collect_naver_only.py", + "source_location": "L66", + "_origin": "ast" + }, + { + "id": "scripts_collect_naver_only_py_client", + "label": "Client", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast" + }, + { + "id": "scripts_collect_naver_only_py_response", + "label": "Response", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast" + }, + { + "id": "scripts_collect_naver_only_strip", + "label": "_strip()", + "file_type": "code", + "source_file": "scripts/collect_naver_only.py", + "source_location": "L80", + "_origin": "ast" + }, + { + "id": "scripts_collect_naver_only_count_hits", + "label": "_count_hits()", + "file_type": "code", + "source_file": "scripts/collect_naver_only.py", + "source_location": "L181", + "_origin": "ast" + }, + { + "id": "scripts_collect_naver_only_parse_price", + "label": "_parse_price()", + "file_type": "code", + "source_file": "scripts/collect_naver_only.py", + "source_location": "L204", + "_origin": "ast" + }, + { + "id": "scripts_collect_naver_only_extract_fields", + "label": "extract_fields()", + "file_type": "code", + "source_file": "scripts/collect_naver_only.py", + "source_location": "L228", + "_origin": "ast" + }, + { + "id": "scripts_collect_naver_only_build_summary_text", + "label": "build_summary_text()", + "file_type": "code", + "source_file": "scripts/collect_naver_only.py", + "source_location": "L297", + "_origin": "ast" + }, + { + "id": "scripts_collect_naver_only_fetch_blog_texts", + "label": "_fetch_blog_texts()", + "file_type": "code", + "source_file": "scripts/collect_naver_only.py", + "source_location": "L311", + "_origin": "ast" + }, + { + "id": "scripts_collect_naver_only_fetch_and_extract", + "label": "fetch_and_extract()", + "file_type": "code", + "source_file": "scripts/collect_naver_only.py", + "source_location": "L334", + "_origin": "ast" + }, + { + "id": "scripts_collect_naver_only_load_csv_sample", + "label": "load_csv_sample()", + "file_type": "code", + "source_file": "scripts/collect_naver_only.py", + "source_location": "L372", + "_origin": "ast" + }, + { + "id": "scripts_collect_naver_only_load_progress", + "label": "load_progress()", + "file_type": "code", + "source_file": "scripts/collect_naver_only.py", + "source_location": "L391", + "_origin": "ast" + }, + { + "id": "scripts_collect_naver_only_save_progress", + "label": "save_progress()", + "file_type": "code", + "source_file": "scripts/collect_naver_only.py", + "source_location": "L397", + "_origin": "ast" + }, + { + "id": "scripts_collect_naver_only_main", + "label": "main()", + "file_type": "code", + "source_file": "scripts/collect_naver_only.py", + "source_location": "L404", + "_origin": "ast" + }, + { + "id": "scripts_collect_naver_only_rationale_298", + "label": "RAG \uc784\ubca0\ub529\uc6a9 \uc790\uc5f0\uc5b4 \uc694\uc57d \ubb38\uc7a5 \uc0dd\uc131", + "file_type": "rationale", + "source_file": "scripts/collect_naver_only.py", + "source_location": "L298", + "_origin": "ast" + }, + { + "id": "scripts_demo_live_e2e", + "label": "demo_live_e2e.py", + "file_type": "code", + "source_file": "scripts/demo_live_e2e.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "scripts_demo_live_e2e_main", + "label": "main()", + "file_type": "code", + "source_file": "scripts/demo_live_e2e.py", + "source_location": "L27", + "_origin": "ast" + }, + { + "id": "scripts_demo_live_e2e_rationale_1", + "label": "\ub77c\uc774\ube0c E2E \ub370\ubaa8 \u2014 \uc2e4\uc81c Claude API + \uc2e4\uc81c Neo4j Aura\ub97c \ub3d9\uc2dc\uc5d0 \ud638\ucd9c\ud55c\ub2e4. mock \uc5c6\uc74c. .env\uc758\u2026", + "file_type": "rationale", + "source_file": "scripts/demo_live_e2e.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "scripts_execute", + "label": "execute.py", + "file_type": "code", + "source_file": "scripts/execute.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "scripts_execute_progress_indicator", + "label": "progress_indicator()", + "file_type": "code", + "source_file": "scripts/execute.py", + "source_location": "L26", + "_origin": "ast" + }, + { + "id": "scripts_execute_stepexecutor", + "label": "StepExecutor", + "file_type": "code", + "source_file": "scripts/execute.py", + "source_location": "L53", + "_origin": "ast" + }, + { + "id": "scripts_execute_stepexecutor_init", + "label": ".__init__()", + "file_type": "code", + "source_file": "scripts/execute.py", + "source_location": "L61", + "_origin": "ast" + }, + { + "id": "scripts_execute_stepexecutor_run", + "label": ".run()", + "file_type": "code", + "source_file": "scripts/execute.py", + "source_location": "L83", + "_origin": "ast" + }, + { + "id": "scripts_execute_stepexecutor_stamp", + "label": "._stamp()", + "file_type": "code", + "source_file": "scripts/execute.py", + "source_location": "L94", + "_origin": "ast" + }, + { + "id": "scripts_execute_stepexecutor_read_json", + "label": "._read_json()", + "file_type": "code", + "source_file": "scripts/execute.py", + "source_location": "L100", + "_origin": "ast" + }, + { + "id": "scripts_execute_py_path", + "label": "Path", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast" + }, + { + "id": "scripts_execute_stepexecutor_write_json", + "label": "._write_json()", + "file_type": "code", + "source_file": "scripts/execute.py", + "source_location": "L104", + "_origin": "ast" + }, + { + "id": "scripts_execute_stepexecutor_run_git", + "label": "._run_git()", + "file_type": "code", + "source_file": "scripts/execute.py", + "source_location": "L109", + "_origin": "ast" + }, + { + "id": "completedprocess", + "label": "CompletedProcess", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast" + }, + { + "id": "scripts_execute_stepexecutor_checkout_branch", + "label": "._checkout_branch()", + "file_type": "code", + "source_file": "scripts/execute.py", + "source_location": "L113", + "_origin": "ast" + }, + { + "id": "scripts_execute_stepexecutor_commit_step", + "label": "._commit_step()", + "file_type": "code", + "source_file": "scripts/execute.py", + "source_location": "L136", + "_origin": "ast" + }, + { + "id": "scripts_execute_stepexecutor_update_top_index", + "label": "._update_top_index()", + "file_type": "code", + "source_file": "scripts/execute.py", + "source_location": "L161", + "_origin": "ast" + }, + { + "id": "scripts_execute_stepexecutor_load_guardrails", + "label": "._load_guardrails()", + "file_type": "code", + "source_file": "scripts/execute.py", + "source_location": "L177", + "_origin": "ast" + }, + { + "id": "scripts_execute_stepexecutor_build_step_context", + "label": "._build_step_context()", + "file_type": "code", + "source_file": "scripts/execute.py", + "source_location": "L189", + "_origin": "ast" + }, + { + "id": "scripts_execute_stepexecutor_build_preamble", + "label": "._build_preamble()", + "file_type": "code", + "source_file": "scripts/execute.py", + "source_location": "L199", + "_origin": "ast" + }, + { + "id": "scripts_execute_stepexecutor_invoke_claude", + "label": "._invoke_claude()", + "file_type": "code", + "source_file": "scripts/execute.py", + "source_location": "L229", + "_origin": "ast" + }, + { + "id": "scripts_execute_stepexecutor_print_header", + "label": "._print_header()", + "file_type": "code", + "source_file": "scripts/execute.py", + "source_location": "L261", + "_origin": "ast" + }, + { + "id": "scripts_execute_stepexecutor_check_blockers", + "label": "._check_blockers()", + "file_type": "code", + "source_file": "scripts/execute.py", + "source_location": "L269", + "_origin": "ast" + }, + { + "id": "scripts_execute_stepexecutor_ensure_created_at", + "label": "._ensure_created_at()", + "file_type": "code", + "source_file": "scripts/execute.py", + "source_location": "L285", + "_origin": "ast" + }, + { + "id": "scripts_execute_stepexecutor_execute_single_step", + "label": "._execute_single_step()", + "file_type": "code", + "source_file": "scripts/execute.py", + "source_location": "L293", + "_origin": "ast" + }, + { + "id": "scripts_execute_stepexecutor_execute_all_steps", + "label": "._execute_all_steps()", + "file_type": "code", + "source_file": "scripts/execute.py", + "source_location": "L364", + "_origin": "ast" + }, + { + "id": "scripts_execute_stepexecutor_finalize", + "label": "._finalize()", + "file_type": "code", + "source_file": "scripts/execute.py", + "source_location": "L381", + "_origin": "ast" + }, + { + "id": "scripts_execute_main", + "label": "main()", + "file_type": "code", + "source_file": "scripts/execute.py", + "source_location": "L407", + "_origin": "ast" + }, + { + "id": "scripts_execute_rationale_27", + "label": "\ud130\ubbf8\ub110 \uc9c4\ud589 \ud45c\uc2dc\uae30. with \ubb38\uc73c\ub85c \uc0ac\uc6a9\ud558\uba70 .elapsed \ub85c \uacbd\uacfc \uc2dc\uac04\uc744 \uc77d\ub294\ub2e4.", + "file_type": "rationale", + "source_file": "scripts/execute.py", + "source_location": "L27", + "_origin": "ast" + }, + { + "id": "scripts_execute_rationale_54", + "label": "Phase \ub514\ub809\ud1a0\ub9ac \uc548\uc758 step\ub4e4\uc744 \uc21c\ucc28 \uc2e4\ud589\ud558\ub294 \ud558\ub124\uc2a4.", + "file_type": "rationale", + "source_file": "scripts/execute.py", + "source_location": "L54", + "_origin": "ast" + }, + { + "id": "scripts_execute_rationale_294", + "label": "\ub2e8\uc77c step \uc2e4\ud589 (\uc7ac\uc2dc\ub3c4 \ud3ec\ud568). \uc644\ub8cc\ub418\uba74 True, \uc2e4\ud328/\ucc28\ub2e8\uc774\uba74 False.", + "file_type": "rationale", + "source_file": "scripts/execute.py", + "source_location": "L294", + "_origin": "ast" + }, + { + "id": "scripts_extract_visitor_stats", + "label": "extract_visitor_stats.py", + "file_type": "code", + "source_file": "scripts/extract_visitor_stats.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "scripts_extract_visitor_stats_parse_int", + "label": "_parse_int()", + "file_type": "code", + "source_file": "scripts/extract_visitor_stats.py", + "source_location": "L31", + "_origin": "ast" + }, + { + "id": "scripts_extract_visitor_stats_is_header_row", + "label": "_is_header_row()", + "file_type": "code", + "source_file": "scripts/extract_visitor_stats.py", + "source_location": "L44", + "_origin": "ast" + }, + { + "id": "scripts_extract_visitor_stats_extract_year", + "label": "extract_year()", + "file_type": "code", + "source_file": "scripts/extract_visitor_stats.py", + "source_location": "L49", + "_origin": "ast" + }, + { + "id": "scripts_extract_visitor_stats_py_path", + "label": "Path", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast" + }, + { + "id": "scripts_extract_visitor_stats_py_dataframe", + "label": "DataFrame", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast" + }, + { + "id": "scripts_extract_visitor_stats_compute_congestion", + "label": "compute_congestion()", + "file_type": "code", + "source_file": "scripts/extract_visitor_stats.py", + "source_location": "L87", + "_origin": "ast" + }, + { + "id": "scripts_extract_visitor_stats_main", + "label": "main()", + "file_type": "code", + "source_file": "scripts/extract_visitor_stats.py", + "source_location": "L134", + "_origin": "ast" + }, + { + "id": "scripts_extract_visitor_stats_rationale_1", + "label": "PDF \uc804\ucc98\ub9ac \uc2a4\ud06c\ub9bd\ud2b8: \ud55c\uad6d\ubb38\ud654\uad00\uad11\uc5f0\uad6c\uc6d0 \uc8fc\uc694\uad00\uad11\uc9c0\uc810 \uc785\uc7a5\uac1d \ud1b5\uacc4 (2020-2024) Usage: python\u2026", + "file_type": "rationale", + "source_file": "scripts/extract_visitor_stats.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "scripts_extract_visitor_stats_rationale_32", + "label": "1,234,567' or '-' \u2192 float or None.", + "file_type": "rationale", + "source_file": "scripts/extract_visitor_stats.py", + "source_location": "L32", + "_origin": "ast" + }, + { + "id": "scripts_extract_visitor_stats_rationale_50", + "label": "\ud55c \uc5f0\ub3c4 PDF\uc5d0\uc11c \uad00\uad11\uc9c0\ubcc4 '\uacc4' \ud589\ub9cc \ucd94\ucd9c \u2192 long \ud3ec\ub9f7 DataFrame.", + "file_type": "rationale", + "source_file": "scripts/extract_visitor_stats.py", + "source_location": "L50", + "_origin": "ast" + }, + { + "id": "scripts_extract_visitor_stats_rationale_88", + "label": "5\uac1c\ub144 raw \ub370\uc774\ud130 \u2192 poi_name \u00d7 month \uc9d1\uacc4 \ubc0f congestion_score \uc0b0\ucd9c.", + "file_type": "rationale", + "source_file": "scripts/extract_visitor_stats.py", + "source_location": "L88", + "_origin": "ast" + }, + { + "id": "scripts_fetch_jeju_hours", + "label": "fetch_jeju_hours.py", + "file_type": "code", + "source_file": "scripts/fetch_jeju_hours.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "scripts_fetch_jeju_hours_fetch_one", + "label": "_fetch_one()", + "file_type": "code", + "source_file": "scripts/fetch_jeju_hours.py", + "source_location": "L35", + "_origin": "ast" + }, + { + "id": "semaphore", + "label": "Semaphore", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast" + }, + { + "id": "scripts_fetch_jeju_hours_main", + "label": "main()", + "file_type": "code", + "source_file": "scripts/fetch_jeju_hours.py", + "source_location": "L43", + "_origin": "ast" + }, + { + "id": "scripts_fetch_jeju_hours_rationale_1", + "label": "\uc81c\uc8fc POI(pois.csv) \uc804\uccb4\uc5d0 \ub300\ud574 TourAPI \uc2e4\uc81c \uc6b4\uc601\uc2dc\uac04\uc744 \ubbf8\ub9ac \uc870\ud68c\ud574 \uce90\uc2dc \ud30c\uc77c\ub85c \uc800\uc7a5\ud55c\ub2e4.\u2026", + "file_type": "rationale", + "source_file": "scripts/fetch_jeju_hours.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "scripts_fetch_missing_pois", + "label": "fetch_missing_pois.py", + "file_type": "code", + "source_file": "scripts/fetch_missing_pois.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "scripts_fetch_missing_pois_load_existing_ids", + "label": "load_existing_ids()", + "file_type": "code", + "source_file": "scripts/fetch_missing_pois.py", + "source_location": "L26", + "_origin": "ast" + }, + { + "id": "scripts_fetch_missing_pois_load_api_key", + "label": "load_api_key()", + "file_type": "code", + "source_file": "scripts/fetch_missing_pois.py", + "source_location": "L38", + "_origin": "ast" + }, + { + "id": "scripts_fetch_missing_pois_fetch_page", + "label": "fetch_page()", + "file_type": "code", + "source_file": "scripts/fetch_missing_pois.py", + "source_location": "L48", + "_origin": "ast" + }, + { + "id": "asyncclient", + "label": "AsyncClient", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast" + }, + { + "id": "scripts_fetch_missing_pois_fetch_region_type", + "label": "fetch_region_type()", + "file_type": "code", + "source_file": "scripts/fetch_missing_pois.py", + "source_location": "L87", + "_origin": "ast" + }, + { + "id": "scripts_fetch_missing_pois_main", + "label": "main()", + "file_type": "code", + "source_file": "scripts/fetch_missing_pois.py", + "source_location": "L150", + "_origin": "ast" + }, + { + "id": "scripts_fetch_missing_pois_rationale_1", + "label": "TourAPI areaBasedList2\ub85c \uc804\uad6d POI \uc218\uc9d1 \u2192 pois.csv\uc5d0 \ub204\ub77d\ubd84 \ucd94\uac00.", + "file_type": "rationale", + "source_file": "scripts/fetch_missing_pois.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "scripts_geocode_jeju_missing_coords", + "label": "geocode_jeju_missing_coords.py", + "file_type": "code", + "source_file": "scripts/geocode_jeju_missing_coords.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "scripts_geocode_jeju_missing_coords_main", + "label": "main()", + "file_type": "code", + "source_file": "scripts/geocode_jeju_missing_coords.py", + "source_location": "L28", + "_origin": "ast" + }, + { + "id": "scripts_load_knowledge_graph_neo4j", + "label": "load_knowledge_graph_neo4j.py", + "file_type": "code", + "source_file": "scripts/load_knowledge_graph_neo4j.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "scripts_load_knowledge_graph_neo4j_strip_type_suffix", + "label": "_strip_type_suffix()", + "file_type": "code", + "source_file": "scripts/load_knowledge_graph_neo4j.py", + "source_location": "L37", + "_origin": "ast" + }, + { + "id": "scripts_load_knowledge_graph_neo4j_load_rows", + "label": "_load_rows()", + "file_type": "code", + "source_file": "scripts/load_knowledge_graph_neo4j.py", + "source_location": "L45", + "_origin": "ast" + }, + { + "id": "scripts_load_knowledge_graph_neo4j_run_batched", + "label": "_run_batched()", + "file_type": "code", + "source_file": "scripts/load_knowledge_graph_neo4j.py", + "source_location": "L52", + "_origin": "ast" + }, + { + "id": "driver", + "label": "Driver", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast" + }, + { + "id": "scripts_load_knowledge_graph_neo4j_main", + "label": "main()", + "file_type": "code", + "source_file": "scripts/load_knowledge_graph_neo4j.py", + "source_location": "L61", + "_origin": "ast" + }, + { + "id": "scripts_neo4j_coverage_analysis", + "label": "neo4j_coverage_analysis.py", + "file_type": "code", + "source_file": "scripts/neo4j_coverage_analysis.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "scripts_neo4j_coverage_analysis_make_place", + "label": "make_place()", + "file_type": "code", + "source_file": "scripts/neo4j_coverage_analysis.py", + "source_location": "L46", + "_origin": "ast" + }, + { + "id": "scripts_neo4j_coverage_analysis_sigungu_for", + "label": "sigungu_for()", + "file_type": "code", + "source_file": "scripts/neo4j_coverage_analysis.py", + "source_location": "L60", + "_origin": "ast" + }, + { + "id": "scripts_neo4j_coverage_analysis_neo4j_backtrack_count", + "label": "neo4j_backtrack_count()", + "file_type": "code", + "source_file": "scripts/neo4j_coverage_analysis.py", + "source_location": "L66", + "_origin": "ast" + }, + { + "id": "scripts_neo4j_coverage_analysis_neo4j_timeslot_density", + "label": "neo4j_timeslot_density()", + "file_type": "code", + "source_file": "scripts/neo4j_coverage_analysis.py", + "source_location": "L84", + "_origin": "ast" + }, + { + "id": "scripts_neo4j_coverage_analysis_coverageresult", + "label": "CoverageResult", + "file_type": "code", + "source_file": "scripts/neo4j_coverage_analysis.py", + "source_location": "L114", + "_origin": "ast" + }, + { + "id": "scripts_neo4j_coverage_analysis_coverageresult_covered", + "label": ".covered()", + "file_type": "code", + "source_file": "scripts/neo4j_coverage_analysis.py", + "source_location": "L122", + "_origin": "ast" + }, + { + "id": "scripts_neo4j_coverage_analysis_run_vrptw", + "label": "run_vrptw()", + "file_type": "code", + "source_file": "scripts/neo4j_coverage_analysis.py", + "source_location": "L126", + "_origin": "ast" + }, + { + "id": "scripts_neo4j_coverage_analysis_print_result", + "label": "print_result()", + "file_type": "code", + "source_file": "scripts/neo4j_coverage_analysis.py", + "source_location": "L141", + "_origin": "ast" + }, + { + "id": "scripts_neo4j_coverage_analysis_test_role_a", + "label": "test_role_a()", + "file_type": "code", + "source_file": "scripts/neo4j_coverage_analysis.py", + "source_location": "L152", + "_origin": "ast" + }, + { + "id": "scripts_neo4j_coverage_analysis_test_role_b", + "label": "test_role_b()", + "file_type": "code", + "source_file": "scripts/neo4j_coverage_analysis.py", + "source_location": "L217", + "_origin": "ast" + }, + { + "id": "scripts_neo4j_coverage_analysis_test_role_c", + "label": "test_role_c()", + "file_type": "code", + "source_file": "scripts/neo4j_coverage_analysis.py", + "source_location": "L264", + "_origin": "ast" + }, + { + "id": "scripts_neo4j_coverage_analysis_main", + "label": "main()", + "file_type": "code", + "source_file": "scripts/neo4j_coverage_analysis.py", + "source_location": "L312", + "_origin": "ast" + }, + { + "id": "scripts_neo4j_coverage_analysis_rationale_1", + "label": "Neo4j \uc81c\uac70 \ud0c0\ub2f9\uc131 \ubd84\uc11d \u2014 \uc124\uacc4 \uc758\ub3c4 vs \ud604\uc7ac Python \ub85c\uc9c1 \ucee4\ubc84\ub9ac\uc9c0 \ube44\uad50. Neo4j\uac00 SUMMARY.md\uc5d0\uc11c \ub9e1\uae30\ub85c \ud55c 3\uac00\uc9c0\u2026", + "file_type": "rationale", + "source_file": "scripts/neo4j_coverage_analysis.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "scripts_neo4j_coverage_analysis_rationale_67", + "label": "Neo4j IN_AREA \ub178\ub4dc \ub85c\uc9c1 \uc2dc\ubbac\ub808\uc774\uc158. \ubc29\ubb38 \uc21c\uc11c\uc5d0\uc11c \uc774\ubbf8 \ubc29\ubb38\ud55c Area(\uc2dc\uad70\uad6c)\uc5d0 \ube44\uc5f0\uc18d\uc73c\ub85c \uc7ac\uc9c4\uc785\ud558\ub294 \ud69f\uc218\ub97c \uacc4\uc0b0.\u2026", + "file_type": "rationale", + "source_file": "scripts/neo4j_coverage_analysis.py", + "source_location": "L67", + "_origin": "ast" + }, + { + "id": "scripts_neo4j_coverage_analysis_rationale_85", + "label": "Neo4j TimeSlot \ub178\ub4dc \ubc00\ub3c4 \uc2dc\ubbac\ub808\uc774\uc158. 09:00 \ucd9c\ubc1c, \uac01 POI\ub97c \uc21c\uc11c\ub300\ub85c \ubc29\ubb38\ud588\uc744 \ub54c \uc2dc\uac04\ub300\ubcc4 \uc810\uc720 \uc218 \uacc4\uc0b0.", + "file_type": "rationale", + "source_file": "scripts/neo4j_coverage_analysis.py", + "source_location": "L85", + "_origin": "ast" + }, + { + "id": "scripts_neo4j_coverage_analysis_rationale_127", + "label": "VRPTWEngine + cluster_dispersion \uc2e4\ud589, (vrptw_result, dispersion_report) \ubc18\ud658.", + "file_type": "rationale", + "source_file": "scripts/neo4j_coverage_analysis.py", + "source_location": "L127", + "_origin": "ast" + }, + { + "id": "scripts_test_execute", + "label": "test_execute.py", + "file_type": "code", + "source_file": "scripts/test_execute.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "scripts_test_execute_py_fixture", + "label": "fixture", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast" + }, + { + "id": "scripts_test_execute_tmp_project", + "label": "tmp_project()", + "file_type": "code", + "source_file": "scripts/test_execute.py", + "source_location": "L26", + "_origin": "ast" + }, + { + "id": "scripts_test_execute_phase_dir", + "label": "phase_dir()", + "file_type": "code", + "source_file": "scripts/test_execute.py", + "source_location": "L43", + "_origin": "ast" + }, + { + "id": "scripts_test_execute_top_index", + "label": "top_index()", + "file_type": "code", + "source_file": "scripts/test_execute.py", + "source_location": "L64", + "_origin": "ast" + }, + { + "id": "scripts_test_execute_executor", + "label": "executor()", + "file_type": "code", + "source_file": "scripts/test_execute.py", + "source_location": "L78", + "_origin": "ast" + }, + { + "id": "scripts_test_execute_teststamp", + "label": "TestStamp", + "file_type": "code", + "source_file": "scripts/test_execute.py", + "source_location": "L96", + "_origin": "ast" + }, + { + "id": "scripts_test_execute_teststamp_test_returns_kst_timestamp", + "label": ".test_returns_kst_timestamp()", + "file_type": "code", + "source_file": "scripts/test_execute.py", + "source_location": "L97", + "_origin": "ast" + }, + { + "id": "scripts_test_execute_teststamp_test_format_is_iso", + "label": ".test_format_is_iso()", + "file_type": "code", + "source_file": "scripts/test_execute.py", + "source_location": "L101", + "_origin": "ast" + }, + { + "id": "scripts_test_execute_teststamp_test_is_current_time", + "label": ".test_is_current_time()", + "file_type": "code", + "source_file": "scripts/test_execute.py", + "source_location": "L106", + "_origin": "ast" + }, + { + "id": "scripts_test_execute_testjsonhelpers", + "label": "TestJsonHelpers", + "file_type": "code", + "source_file": "scripts/test_execute.py", + "source_location": "L118", + "_origin": "ast" + }, + { + "id": "scripts_test_execute_testjsonhelpers_test_roundtrip", + "label": ".test_roundtrip()", + "file_type": "code", + "source_file": "scripts/test_execute.py", + "source_location": "L119", + "_origin": "ast" + }, + { + "id": "scripts_test_execute_testjsonhelpers_test_save_ensures_ascii_false", + "label": ".test_save_ensures_ascii_false()", + "file_type": "code", + "source_file": "scripts/test_execute.py", + "source_location": "L126", + "_origin": "ast" + }, + { + "id": "scripts_test_execute_testjsonhelpers_test_save_indented", + "label": ".test_save_indented()", + "file_type": "code", + "source_file": "scripts/test_execute.py", + "source_location": "L133", + "_origin": "ast" + }, + { + "id": "scripts_test_execute_testjsonhelpers_test_load_nonexistent_raises", + "label": ".test_load_nonexistent_raises()", + "file_type": "code", + "source_file": "scripts/test_execute.py", + "source_location": "L139", + "_origin": "ast" + }, + { + "id": "scripts_test_execute_testloadguardrails", + "label": "TestLoadGuardrails", + "file_type": "code", + "source_file": "scripts/test_execute.py", + "source_location": "L148", + "_origin": "ast" + }, + { + "id": "scripts_test_execute_testloadguardrails_test_loads_claude_md_and_docs", + "label": ".test_loads_claude_md_and_docs()", + "file_type": "code", + "source_file": "scripts/test_execute.py", + "source_location": "L149", + "_origin": "ast" + }, + { + "id": "scripts_test_execute_testloadguardrails_test_sections_separated_by_divider", + "label": ".test_sections_separated_by_divider()", + "file_type": "code", + "source_file": "scripts/test_execute.py", + "source_location": "L157", + "_origin": "ast" + }, + { + "id": "scripts_test_execute_testloadguardrails_test_docs_sorted_alphabetically", + "label": ".test_docs_sorted_alphabetically()", + "file_type": "code", + "source_file": "scripts/test_execute.py", + "source_location": "L162", + "_origin": "ast" + }, + { + "id": "scripts_test_execute_testloadguardrails_test_no_claude_md", + "label": ".test_no_claude_md()", + "file_type": "code", + "source_file": "scripts/test_execute.py", + "source_location": "L169", + "_origin": "ast" + }, + { + "id": "scripts_test_execute_testloadguardrails_test_no_docs_dir", + "label": ".test_no_docs_dir()", + "file_type": "code", + "source_file": "scripts/test_execute.py", + "source_location": "L176", + "_origin": "ast" + }, + { + "id": "scripts_test_execute_testloadguardrails_test_empty_project", + "label": ".test_empty_project()", + "file_type": "code", + "source_file": "scripts/test_execute.py", + "source_location": "L184", + "_origin": "ast" + }, + { + "id": "scripts_test_execute_testbuildstepcontext", + "label": "TestBuildStepContext", + "file_type": "code", + "source_file": "scripts/test_execute.py", + "source_location": "L200", + "_origin": "ast" + }, + { + "id": "scripts_test_execute_testbuildstepcontext_test_includes_completed_with_summary", + "label": ".test_includes_completed_with_summary()", + "file_type": "code", + "source_file": "scripts/test_execute.py", + "source_location": "L201", + "_origin": "ast" + }, + { + "id": "scripts_test_execute_testbuildstepcontext_test_excludes_pending", + "label": ".test_excludes_pending()", + "file_type": "code", + "source_file": "scripts/test_execute.py", + "source_location": "L207", + "_origin": "ast" + }, + { + "id": "scripts_test_execute_testbuildstepcontext_test_excludes_completed_without_summary", + "label": ".test_excludes_completed_without_summary()", + "file_type": "code", + "source_file": "scripts/test_execute.py", + "source_location": "L212", + "_origin": "ast" + }, + { + "id": "scripts_test_execute_testbuildstepcontext_test_empty_when_no_completed", + "label": ".test_empty_when_no_completed()", + "file_type": "code", + "source_file": "scripts/test_execute.py", + "source_location": "L219", + "_origin": "ast" + }, + { + "id": "scripts_test_execute_testbuildstepcontext_test_has_header", + "label": ".test_has_header()", + "file_type": "code", + "source_file": "scripts/test_execute.py", + "source_location": "L224", + "_origin": "ast" + }, + { + "id": "scripts_test_execute_testbuildpreamble", + "label": "TestBuildPreamble", + "file_type": "code", + "source_file": "scripts/test_execute.py", + "source_location": "L234", + "_origin": "ast" + }, + { + "id": "scripts_test_execute_testbuildpreamble_test_includes_project_name", + "label": ".test_includes_project_name()", + "file_type": "code", + "source_file": "scripts/test_execute.py", + "source_location": "L235", + "_origin": "ast" + }, + { + "id": "scripts_test_execute_testbuildpreamble_test_includes_guardrails", + "label": ".test_includes_guardrails()", + "file_type": "code", + "source_file": "scripts/test_execute.py", + "source_location": "L239", + "_origin": "ast" + }, + { + "id": "scripts_test_execute_testbuildpreamble_test_includes_step_context", + "label": ".test_includes_step_context()", + "file_type": "code", + "source_file": "scripts/test_execute.py", + "source_location": "L243", + "_origin": "ast" + }, + { + "id": "scripts_test_execute_testbuildpreamble_test_includes_commit_example", + "label": ".test_includes_commit_example()", + "file_type": "code", + "source_file": "scripts/test_execute.py", + "source_location": "L248", + "_origin": "ast" + }, + { + "id": "scripts_test_execute_testbuildpreamble_test_includes_rules", + "label": ".test_includes_rules()", + "file_type": "code", + "source_file": "scripts/test_execute.py", + "source_location": "L252", + "_origin": "ast" + }, + { + "id": "scripts_test_execute_testbuildpreamble_test_no_retry_section_by_default", + "label": ".test_no_retry_section_by_default()", + "file_type": "code", + "source_file": "scripts/test_execute.py", + "source_location": "L257", + "_origin": "ast" + }, + { + "id": "scripts_test_execute_testbuildpreamble_test_retry_section_with_prev_error", + "label": ".test_retry_section_with_prev_error()", + "file_type": "code", + "source_file": "scripts/test_execute.py", + "source_location": "L261", + "_origin": "ast" + }, + { + "id": "scripts_test_execute_testbuildpreamble_test_includes_max_retries", + "label": ".test_includes_max_retries()", + "file_type": "code", + "source_file": "scripts/test_execute.py", + "source_location": "L266", + "_origin": "ast" + }, + { + "id": "scripts_test_execute_testbuildpreamble_test_includes_index_path", + "label": ".test_includes_index_path()", + "file_type": "code", + "source_file": "scripts/test_execute.py", + "source_location": "L270", + "_origin": "ast" + }, + { + "id": "scripts_test_execute_testupdatetopindex", + "label": "TestUpdateTopIndex", + "file_type": "code", + "source_file": "scripts/test_execute.py", + "source_location": "L279", + "_origin": "ast" + }, + { + "id": "scripts_test_execute_testupdatetopindex_test_completed", + "label": ".test_completed()", + "file_type": "code", + "source_file": "scripts/test_execute.py", + "source_location": "L280", + "_origin": "ast" + }, + { + "id": "scripts_test_execute_testupdatetopindex_test_error", + "label": ".test_error()", + "file_type": "code", + "source_file": "scripts/test_execute.py", + "source_location": "L288", + "_origin": "ast" + }, + { + "id": "scripts_test_execute_testupdatetopindex_test_blocked", + "label": ".test_blocked()", + "file_type": "code", + "source_file": "scripts/test_execute.py", + "source_location": "L296", + "_origin": "ast" + }, + { + "id": "scripts_test_execute_testupdatetopindex_test_other_phases_unchanged", + "label": ".test_other_phases_unchanged()", + "file_type": "code", + "source_file": "scripts/test_execute.py", + "source_location": "L304", + "_origin": "ast" + }, + { + "id": "scripts_test_execute_testupdatetopindex_test_nonexistent_dir_is_noop", + "label": ".test_nonexistent_dir_is_noop()", + "file_type": "code", + "source_file": "scripts/test_execute.py", + "source_location": "L311", + "_origin": "ast" + }, + { + "id": "scripts_test_execute_testupdatetopindex_test_no_top_index_file", + "label": ".test_no_top_index_file()", + "file_type": "code", + "source_file": "scripts/test_execute.py", + "source_location": "L320", + "_origin": "ast" + }, + { + "id": "scripts_test_execute_testcheckoutbranch", + "label": "TestCheckoutBranch", + "file_type": "code", + "source_file": "scripts/test_execute.py", + "source_location": "L329", + "_origin": "ast" + }, + { + "id": "scripts_test_execute_testcheckoutbranch_mock_git", + "label": "._mock_git()", + "file_type": "code", + "source_file": "scripts/test_execute.py", + "source_location": "L330", + "_origin": "ast" + }, + { + "id": "scripts_test_execute_testcheckoutbranch_test_already_on_branch", + "label": ".test_already_on_branch()", + "file_type": "code", + "source_file": "scripts/test_execute.py", + "source_location": "L340", + "_origin": "ast" + }, + { + "id": "scripts_test_execute_testcheckoutbranch_test_branch_exists_checkout", + "label": ".test_branch_exists_checkout()", + "file_type": "code", + "source_file": "scripts/test_execute.py", + "source_location": "L346", + "_origin": "ast" + }, + { + "id": "scripts_test_execute_testcheckoutbranch_test_branch_not_exists_create", + "label": ".test_branch_not_exists_create()", + "file_type": "code", + "source_file": "scripts/test_execute.py", + "source_location": "L354", + "_origin": "ast" + }, + { + "id": "scripts_test_execute_testcheckoutbranch_test_checkout_fails_exits", + "label": ".test_checkout_fails_exits()", + "file_type": "code", + "source_file": "scripts/test_execute.py", + "source_location": "L362", + "_origin": "ast" + }, + { + "id": "scripts_test_execute_testcheckoutbranch_test_no_git_exits", + "label": ".test_no_git_exits()", + "file_type": "code", + "source_file": "scripts/test_execute.py", + "source_location": "L372", + "_origin": "ast" + }, + { + "id": "scripts_test_execute_testcommitstep", + "label": "TestCommitStep", + "file_type": "code", + "source_file": "scripts/test_execute.py", + "source_location": "L385", + "_origin": "ast" + }, + { + "id": "scripts_test_execute_testcommitstep_test_two_phase_commit", + "label": ".test_two_phase_commit()", + "file_type": "code", + "source_file": "scripts/test_execute.py", + "source_location": "L386", + "_origin": "ast" + }, + { + "id": "scripts_test_execute_testcommitstep_test_no_code_changes_skips_feat_commit", + "label": ".test_no_code_changes_skips_feat_commit()", + "file_type": "code", + "source_file": "scripts/test_execute.py", + "source_location": "L402", + "_origin": "ast" + }, + { + "id": "scripts_test_execute_testinvokeclaude", + "label": "TestInvokeClaude", + "file_type": "code", + "source_file": "scripts/test_execute.py", + "source_location": "L426", + "_origin": "ast" + }, + { + "id": "scripts_test_execute_testinvokeclaude_test_invokes_claude_with_correct_args", + "label": ".test_invokes_claude_with_correct_args()", + "file_type": "code", + "source_file": "scripts/test_execute.py", + "source_location": "L427", + "_origin": "ast" + }, + { + "id": "scripts_test_execute_testinvokeclaude_test_saves_output_json", + "label": ".test_saves_output_json()", + "file_type": "code", + "source_file": "scripts/test_execute.py", + "source_location": "L443", + "_origin": "ast" + }, + { + "id": "scripts_test_execute_testinvokeclaude_test_nonexistent_step_file_exits", + "label": ".test_nonexistent_step_file_exits()", + "file_type": "code", + "source_file": "scripts/test_execute.py", + "source_location": "L457", + "_origin": "ast" + }, + { + "id": "scripts_test_execute_testinvokeclaude_test_timeout_is_1800", + "label": ".test_timeout_is_1800()", + "file_type": "code", + "source_file": "scripts/test_execute.py", + "source_location": "L463", + "_origin": "ast" + }, + { + "id": "scripts_test_execute_testprogressindicator", + "label": "TestProgressIndicator", + "file_type": "code", + "source_file": "scripts/test_execute.py", + "source_location": "L477", + "_origin": "ast" + }, + { + "id": "scripts_test_execute_testprogressindicator_test_context_manager", + "label": ".test_context_manager()", + "file_type": "code", + "source_file": "scripts/test_execute.py", + "source_location": "L478", + "_origin": "ast" + }, + { + "id": "scripts_test_execute_testprogressindicator_test_elapsed_increases", + "label": ".test_elapsed_increases()", + "file_type": "code", + "source_file": "scripts/test_execute.py", + "source_location": "L484", + "_origin": "ast" + }, + { + "id": "scripts_test_execute_testmaincli", + "label": "TestMainCli", + "file_type": "code", + "source_file": "scripts/test_execute.py", + "source_location": "L495", + "_origin": "ast" + }, + { + "id": "scripts_test_execute_testmaincli_test_no_args_exits", + "label": ".test_no_args_exits()", + "file_type": "code", + "source_file": "scripts/test_execute.py", + "source_location": "L496", + "_origin": "ast" + }, + { + "id": "scripts_test_execute_testmaincli_test_invalid_phase_dir_exits", + "label": ".test_invalid_phase_dir_exits()", + "file_type": "code", + "source_file": "scripts/test_execute.py", + "source_location": "L502", + "_origin": "ast" + }, + { + "id": "scripts_test_execute_testmaincli_test_missing_index_exits", + "label": ".test_missing_index_exits()", + "file_type": "code", + "source_file": "scripts/test_execute.py", + "source_location": "L509", + "_origin": "ast" + }, + { + "id": "scripts_test_execute_testcheckblockers", + "label": "TestCheckBlockers", + "file_type": "code", + "source_file": "scripts/test_execute.py", + "source_location": "L522", + "_origin": "ast" + }, + { + "id": "scripts_test_execute_testcheckblockers_make_executor_with_steps", + "label": "._make_executor_with_steps()", + "file_type": "code", + "source_file": "scripts/test_execute.py", + "source_location": "L523", + "_origin": "ast" + }, + { + "id": "scripts_test_execute_testcheckblockers_test_error_step_exits_1", + "label": ".test_error_step_exits_1()", + "file_type": "code", + "source_file": "scripts/test_execute.py", + "source_location": "L541", + "_origin": "ast" + }, + { + "id": "scripts_test_execute_testcheckblockers_test_blocked_step_exits_2", + "label": ".test_blocked_step_exits_2()", + "file_type": "code", + "source_file": "scripts/test_execute.py", + "source_location": "L551", + "_origin": "ast" + }, + { + "id": "scripts_test_execute_rationale_1", + "label": "execute.py \ub9ac\ud329\ud130\ub9c1 \uc548\uc804\ub9dd \ud14c\uc2a4\ud2b8. \ub9ac\ud329\ud130\ub9c1 \uc804\ud6c4 \ub3d9\uc791\uc774 \ub3d9\uc77c\ud55c\uc9c0 \uac80\uc99d\ud55c\ub2e4.", + "file_type": "rationale", + "source_file": "scripts/test_execute.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "scripts_test_execute_rationale_27", + "label": "phases/, CLAUDE.md, docs/ \ub97c \uac16\ucd98 \uc784\uc2dc \ud504\ub85c\uc81d\ud2b8 \uad6c\uc870.", + "file_type": "rationale", + "source_file": "scripts/test_execute.py", + "source_location": "L27", + "_origin": "ast" + }, + { + "id": "scripts_test_execute_rationale_44", + "label": "step 3\uac1c\ub97c \uac00\uc9c4 phase \ub514\ub809\ud1a0\ub9ac.", + "file_type": "rationale", + "source_file": "scripts/test_execute.py", + "source_location": "L44", + "_origin": "ast" + }, + { + "id": "scripts_test_execute_rationale_65", + "label": "phases/index.json (top-level).", + "file_type": "rationale", + "source_file": "scripts/test_execute.py", + "source_location": "L65", + "_origin": "ast" + }, + { + "id": "scripts_test_execute_rationale_79", + "label": "\ud14c\uc2a4\ud2b8\uc6a9 StepExecutor \uc778\uc2a4\ud134\uc2a4. git \ud638\ucd9c\uc740 \ubcc4\ub3c4 mock \ud544\uc694.", + "file_type": "rationale", + "source_file": "scripts/test_execute.py", + "source_location": "L79", + "_origin": "ast" + }, + { + "id": "scripts_test_pipeline", + "label": "test_pipeline.py", + "file_type": "code", + "source_file": "scripts/test_pipeline.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "scripts_test_pipeline_guess_coords", + "label": "_guess_coords()", + "file_type": "code", + "source_file": "scripts/test_pipeline.py", + "source_location": "L103", + "_origin": "ast" + }, + { + "id": "scripts_test_pipeline_guess_category", + "label": "_guess_category()", + "file_type": "code", + "source_file": "scripts/test_pipeline.py", + "source_location": "L115", + "_origin": "ast" + }, + { + "id": "scripts_test_pipeline_guess_duration", + "label": "_guess_duration()", + "file_type": "code", + "source_file": "scripts/test_pipeline.py", + "source_location": "L122", + "_origin": "ast" + }, + { + "id": "scripts_test_pipeline_is_accommodation", + "label": "_is_accommodation()", + "file_type": "code", + "source_file": "scripts/test_pipeline.py", + "source_location": "L129", + "_origin": "ast" + }, + { + "id": "scripts_test_pipeline_parse_places", + "label": "_parse_places()", + "file_type": "code", + "source_file": "scripts/test_pipeline.py", + "source_location": "L134", + "_origin": "ast" + }, + { + "id": "scripts_test_pipeline_trip_days", + "label": "_trip_days()", + "file_type": "code", + "source_file": "scripts/test_pipeline.py", + "source_location": "L147", + "_origin": "ast" + }, + { + "id": "scripts_test_pipeline_party_type_from_triple", + "label": "_party_type_from_triple()", + "file_type": "code", + "source_file": "scripts/test_pipeline.py", + "source_location": "L158", + "_origin": "ast" + }, + { + "id": "scripts_test_pipeline_travel_type_from_theme", + "label": "_travel_type_from_theme()", + "file_type": "code", + "source_file": "scripts/test_pipeline.py", + "source_location": "L175", + "_origin": "ast" + }, + { + "id": "scripts_test_pipeline_make_poi", + "label": "_make_poi()", + "file_type": "code", + "source_file": "scripts/test_pipeline.py", + "source_location": "L191", + "_origin": "ast" + }, + { + "id": "scripts_test_pipeline_load_gugseok", + "label": "load_gugseok()", + "file_type": "code", + "source_file": "scripts/test_pipeline.py", + "source_location": "L213", + "_origin": "ast" + }, + { + "id": "scripts_test_pipeline_load_triple", + "label": "load_triple()", + "file_type": "code", + "source_file": "scripts/test_pipeline.py", + "source_location": "L251", + "_origin": "ast" + }, + { + "id": "scripts_test_pipeline_build_itinerary", + "label": "_build_itinerary()", + "file_type": "code", + "source_file": "scripts/test_pipeline.py", + "source_location": "L277", + "_origin": "ast" + }, + { + "id": "scripts_test_pipeline_run_pipeline", + "label": "run_pipeline()", + "file_type": "code", + "source_file": "scripts/test_pipeline.py", + "source_location": "L356", + "_origin": "ast" + }, + { + "id": "scripts_test_pipeline_main", + "label": "main()", + "file_type": "code", + "source_file": "scripts/test_pipeline.py", + "source_location": "L408", + "_origin": "ast" + }, + { + "id": "scripts_test_pipeline_rationale_1", + "label": "\ud30c\uc774\ud504\ub77c\uc778 QA \ud14c\uc2a4\ud2b8 \u2014 xlsx \uc0d8\ud50c \ub370\uc774\ud130\ub85c HardFail/Warning/Score \uac80\uc99d.", + "file_type": "rationale", + "source_file": "scripts/test_pipeline.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "scripts_test_pipeline_rationale_104", + "label": "\uc88c\ud45c \ud14c\uc774\ube14 \uc870\ud68c \u2192 \uc5c6\uc73c\uba74 \uc81c\uc8fc \uc911\uc2ec \uc88c\ud45c \ud3f4\ubc31.", + "file_type": "rationale", + "source_file": "scripts/test_pipeline.py", + "source_location": "L104", + "_origin": "ast" + }, + { + "id": "scripts_test_pipeline_rationale_135", + "label": "1.\uc7a5\uc18c\uba85, 2.\uc7a5\uc18c\uba85' \u2192 ['\uc7a5\uc18c\uba85', '\uc7a5\uc18c\uba85'] (\uc22b\uc790 \uc811\ub450\uc0ac \uc81c\uac70).", + "file_type": "rationale", + "source_file": "scripts/test_pipeline.py", + "source_location": "L135", + "_origin": "ast" + }, + { + "id": "scripts_test_pipeline_rationale_214", + "label": "\uad6c\uc11d\uad6c\uc11d xlsx \u2192 \uc0d8\ud50c ItineraryPlan \uc7ac\ub8cc \ubaa9\ub85d.", + "file_type": "rationale", + "source_file": "scripts/test_pipeline.py", + "source_location": "L214", + "_origin": "ast" + }, + { + "id": "scripts_test_pipeline_rationale_252", + "label": "\ud2b8\ub9ac\ud50c xlsx \u2192 \uc0d8\ud50c ItineraryPlan \uc7ac\ub8cc \ubaa9\ub85d.", + "file_type": "rationale", + "source_file": "scripts/test_pipeline.py", + "source_location": "L252", + "_origin": "ast" + }, + { + "id": "scripts_test_pipeline_rationale_278", + "label": "\uc0d8\ud50c dict \u2192 (ItineraryPlan, per-day POI lists). \ub2e4\uc77c(multi-day) \uc5f0\uc18d\uc131: Day N \uc758 \ub9c8\uc9c0\ub9c9\u2026", + "file_type": "rationale", + "source_file": "scripts/test_pipeline.py", + "source_location": "L278", + "_origin": "ast" + }, + { + "id": "src_init", + "label": "src/__init__.py", + "file_type": "code", + "source_file": "src/__init__.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "src_api_init", + "label": "api/__init__.py", + "file_type": "code", + "source_file": "src/api/__init__.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "src_api_main", + "label": "main.py", + "file_type": "code", + "source_file": "src/api/main.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "src_api_main_py_get", + "label": "get", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast" + }, + { + "id": "src_api_main_index", + "label": "index()", + "file_type": "code", + "source_file": "src/api/main.py", + "source_location": "L47", + "_origin": "ast" + }, + { + "id": "src_api_main_manifest", + "label": "manifest()", + "file_type": "code", + "source_file": "src/api/main.py", + "source_location": "L55", + "_origin": "ast" + }, + { + "id": "src_api_main_py_response", + "label": "Response", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast" + }, + { + "id": "src_api_main_service_worker", + "label": "service_worker()", + "file_type": "code", + "source_file": "src/api/main.py", + "source_location": "L63", + "_origin": "ast" + }, + { + "id": "src_api_main_health", + "label": "health()", + "file_type": "code", + "source_file": "src/api/main.py", + "source_location": "L75", + "_origin": "ast" + }, + { + "id": "src_api_main_rationale_76", + "label": "\ub77c\uc774\ube0c\ub2c8\uc2a4 + \uad6c\uc131 \uc9c4\ub2e8. \uc2dc\ud06c\ub9bf \uac12\uc740 \uc808\ub300 \ub178\ucd9c\ud558\uc9c0 \uc54a\uace0, \ud0a4 \uc124\uc815 \uc5ec\ubd80(bool)\uc640 \ub85c\ub529\ub41c \ub370\uc774\ud130 \uac74\uc218\ub9cc \ubc18\ud658\ud55c\ub2e4. \uc2ec\uc0ac \uc2dc \uc678\ubd80 API\u2026", + "file_type": "rationale", + "source_file": "src/api/main.py", + "source_location": "L76", + "_origin": "ast" + }, + { + "id": "src_api_router", + "label": "router.py", + "file_type": "code", + "source_file": "src/api/router.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "src_api_router_kakao_hint", + "label": "_kakao_hint()", + "file_type": "code", + "source_file": "src/api/router.py", + "source_location": "L51", + "_origin": "ast" + }, + { + "id": "src_api_router_kakao_cat_code", + "label": "_kakao_cat_code()", + "file_type": "code", + "source_file": "src/api/router.py", + "source_location": "L65", + "_origin": "ast" + }, + { + "id": "src_api_router_extract_chosung", + "label": "_extract_chosung()", + "file_type": "code", + "source_file": "src/api/router.py", + "source_location": "L232", + "_origin": "ast" + }, + { + "id": "src_api_router_normalize", + "label": "_normalize()", + "file_type": "code", + "source_file": "src/api/router.py", + "source_location": "L243", + "_origin": "ast" + }, + { + "id": "src_api_router_guess_dwell", + "label": "_guess_dwell()", + "file_type": "code", + "source_file": "src/api/router.py", + "source_location": "L252", + "_origin": "ast" + }, + { + "id": "src_api_router_addr_to_region", + "label": "_addr_to_region()", + "file_type": "code", + "source_file": "src/api/router.py", + "source_location": "L271", + "_origin": "ast" + }, + { + "id": "src_api_router_parse_jeju_hours", + "label": "_parse_jeju_hours()", + "file_type": "code", + "source_file": "src/api/router.py", + "source_location": "L282", + "_origin": "ast" + }, + { + "id": "src_api_router_build_jeju_place_index", + "label": "_build_jeju_place_index()", + "file_type": "code", + "source_file": "src/api/router.py", + "source_location": "L293", + "_origin": "ast" + }, + { + "id": "src_api_router_build_coord_index", + "label": "_build_coord_index()", + "file_type": "code", + "source_file": "src/api/router.py", + "source_location": "L341", + "_origin": "ast" + }, + { + "id": "src_api_router_build_place_list", + "label": "_build_place_list()", + "file_type": "code", + "source_file": "src/api/router.py", + "source_location": "L394", + "_origin": "ast" + }, + { + "id": "src_api_router_build_full_place_list", + "label": "_build_full_place_list()", + "file_type": "code", + "source_file": "src/api/router.py", + "source_location": "L453", + "_origin": "ast" + }, + { + "id": "src_api_router_build_monthly_congestion", + "label": "_build_monthly_congestion()", + "file_type": "code", + "source_file": "src/api/router.py", + "source_location": "L555", + "_origin": "ast" + }, + { + "id": "src_api_router_lookup_place", + "label": "_lookup_place()", + "file_type": "code", + "source_file": "src/api/router.py", + "source_location": "L599", + "_origin": "ast" + }, + { + "id": "src_api_router_resolve_poi", + "label": "_resolve_poi()", + "file_type": "code", + "source_file": "src/api/router.py", + "source_location": "L618", + "_origin": "ast" + }, + { + "id": "src_api_router_calc_reliability_score", + "label": "_calc_reliability_score()", + "file_type": "code", + "source_file": "src/api/router.py", + "source_location": "L714", + "_origin": "ast" + }, + { + "id": "src_api_router_get_pipeline", + "label": "_get_pipeline()", + "file_type": "code", + "source_file": "src/api/router.py", + "source_location": "L724", + "_origin": "ast" + }, + { + "id": "src_api_router_py_get", + "label": "get", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast" + }, + { + "id": "src_api_router_list_places", + "label": "list_places()", + "file_type": "code", + "source_file": "src/api/router.py", + "source_location": "L732", + "_origin": "ast" + }, + { + "id": "src_api_router_monthly_congestion", + "label": "monthly_congestion()", + "file_type": "code", + "source_file": "src/api/router.py", + "source_location": "L806", + "_origin": "ast" + }, + { + "id": "src_api_router_list_regions", + "label": "list_regions()", + "file_type": "code", + "source_file": "src/api/router.py", + "source_location": "L818", + "_origin": "ast" + }, + { + "id": "post", + "label": "post", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast" + }, + { + "id": "src_api_router_parse_text", + "label": "parse_text()", + "file_type": "code", + "source_file": "src/api/router.py", + "source_location": "L830", + "_origin": "ast" + }, + { + "id": "src_api_router_parse_document", + "label": "parse_document()", + "file_type": "code", + "source_file": "src/api/router.py", + "source_location": "L839", + "_origin": "ast" + }, + { + "id": "uploadfile", + "label": "UploadFile", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast" + }, + { + "id": "src_api_router_resolve_coords", + "label": "resolve_coords()", + "file_type": "code", + "source_file": "src/api/router.py", + "source_location": "L856", + "_origin": "ast" + }, + { + "id": "src_api_router_validate_plan", + "label": "validate_plan()", + "file_type": "code", + "source_file": "src/api/router.py", + "source_location": "L869", + "_origin": "ast" + }, + { + "id": "src_api_router_rationale_1", + "label": "FastAPI \ub77c\uc6b0\ud130 \u2014 /validate, /places \uc5d4\ub4dc\ud3ec\uc778\ud2b8.", + "file_type": "rationale", + "source_file": "src/api/router.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "src_api_router_rationale_52", + "label": "\uce74\uce74\uc624 category_name \u2192 hours_db \uce74\ud14c\uace0\ub9ac \ud78c\ud2b8.", + "file_type": "rationale", + "source_file": "src/api/router.py", + "source_location": "L52", + "_origin": "ast" + }, + { + "id": "src_api_router_rationale_66", + "label": "\uce74\uce74\uc624 category_name \u2192 \uc571 \uce74\ud14c\uace0\ub9ac \ucf54\ub4dc(12 \uad00\uad11\uc9c0\u00b714 \ubb38\ud654\u00b738 \uc1fc\ud551\u00b739 \uc74c\uc2dd\uc810\u00b732 \uc219\ubc15).", + "file_type": "rationale", + "source_file": "src/api/router.py", + "source_location": "L66", + "_origin": "ast" + }, + { + "id": "src_api_router_rationale_283", + "label": "09:00~18:00 (\ub9e4\ud45c\ub9c8\uac10 17:00)' \uac19\uc740 \uc6d0\ubb38\uc5d0\uc11c \uccab HH:MM~HH:MM \uad6c\uac04\ub9cc \ubf51\uc544\ub0b8\ub2e4.", + "file_type": "rationale", + "source_file": "src/api/router.py", + "source_location": "L283", + "_origin": "ast" + }, + { + "id": "src_api_router_rationale_294", + "label": "data/\uc81c\uc8fc\ud2b9\ubcc4\uc790\uce58\ub3c4_\ud1b5\ud569_TourAPI\ubcd1\ud569.xlsx \u2014 \uc2e4\uce21 \uc88c\ud45c\ub97c \uac00\uc9c4 \uc81c\uc8fc \uc804\uc5ed 26,679\uac74 \ud1b5\ud569 DB. \uae30\uc874\u2026", + "file_type": "rationale", + "source_file": "src/api/router.py", + "source_location": "L294", + "_origin": "ast" + }, + { + "id": "src_api_router_rationale_342", + "label": "\uc88c\ud45c \uc778\ub371\uc2a4 \ube4c\ub4dc. 1\ucc28: data/pois.csv \u2014 TourAPI \ubc8c\ud06c \uc218\uc9d1 (20,168 POI, \uc804\uad6d \uc88c\ud45c \uc8fc\uc18c\uc6d0\ubcf8) 2\ucc28:\u2026", + "file_type": "rationale", + "source_file": "src/api/router.py", + "source_location": "L342", + "_origin": "ast" + }, + { + "id": "src_api_router_rationale_395", + "label": "congestion_stats.csv \uc5d0\uc11c \uace0\uc720 \uc7a5\uc18c + annual_max \uc9d1\uacc4 \u2192 \uc88c\ud45c \uacb0\ud569 \u2192 \uc815\ub82c.", + "file_type": "rationale", + "source_file": "src/api/router.py", + "source_location": "L395", + "_origin": "ast" + }, + { + "id": "src_api_router_rationale_454", + "label": "pois.csv(20,168) + wellness(175) + barrier_free(1,799) \ud1b5\ud569 \uc7a5\uc18c \ubaa9\ub85d.", + "file_type": "rationale", + "source_file": "src/api/router.py", + "source_location": "L454", + "_origin": "ast" + }, + { + "id": "src_api_router_rationale_556", + "label": "congestion_stats.csv\uc758 \uc6d4\ubcc4 \ud63c\uc7a1\ub3c4 \uc810\uc218 \uc778\ub371\uc2a4.", + "file_type": "rationale", + "source_file": "src/api/router.py", + "source_location": "L556", + "_origin": "ast" + }, + { + "id": "src_api_router_rationale_600", + "label": "\uc774\ub984\uc73c\ub85c place dict \uc870\ud68c. \uc815\ud655 \u2192 \ubd80\ubd84 \uc21c\uc73c\ub85c \uc2dc\ub3c4. congestion \uae30\ubc18 \uc778\uae30 \uc7a5\uc18c(_PLACE_NORM_INDEX) \uc6b0\uc120,\u2026", + "file_type": "rationale", + "source_file": "src/api/router.py", + "source_location": "L600", + "_origin": "ast" + }, + { + "id": "src_api_router_rationale_736", + "label": "\ub4f1\ub85d \uc7a5\uc18c \ubaa9\ub85d. q=\uac80\uc0c9\uc5b4, region=\uc9c0\uc5ed \ud544\ud130, cat=\uce74\ud14c\uace0\ub9ac \ucf54\ub4dc, extended=\uc804\uccb4DB \ucd08\uae30 \ub85c\ub4dc. offset/limit\uc73c\ub85c\u2026", + "file_type": "rationale", + "source_file": "src/api/router.py", + "source_location": "L736", + "_origin": "ast" + }, + { + "id": "src_api_router_rationale_831", + "label": "\ucd94\ucc9c \uacbd\ub85c\ub97c \ubcf5\uc0ac\ud55c \ud14d\uc2a4\ud2b8 \u2192 \ucffc\ub9ac \ub9ac\ub77c\uc774\ud305\uc73c\ub85c day/place \uad6c\uc870 \ucd94\ucd9c.", + "file_type": "rationale", + "source_file": "src/api/router.py", + "source_location": "L831", + "_origin": "ast" + }, + { + "id": "src_api_router_rationale_840", + "label": "AI \ud50c\ub798\ub108 \uacb0\uacfc PDF\u00b7\uc2a4\ud06c\ub9b0\uc0f7(PNG/JPG) \u2192 Claude Vision\uc73c\ub85c day/place \uad6c\uc870 \ucd94\ucd9c.", + "file_type": "rationale", + "source_file": "src/api/router.py", + "source_location": "L840", + "_origin": "ast" + }, + { + "id": "src_api_router_rationale_857", + "label": "\ube4c\ub354(Step2) \uc9c0\ub3c4\uc6a9 \uc88c\ud45c \uc870\ud68c. \uac80\uc99d \ud30c\uc774\ud504\ub77c\uc778(Hard Fail/\uc2a4\ucf54\uc5b4\ub9c1/LLM \uc124\uba85) \uc5c6\uc774 \uc88c\ud45c \ud574\uc11d\ub9cc \uc218\ud589\ud574 \ube60\ub974\uac8c \uc751\ub2f5\ud55c\ub2e4.", + "file_type": "rationale", + "source_file": "src/api/router.py", + "source_location": "L857", + "_origin": "ast" + }, + { + "id": "src_api_schemas", + "label": "schemas.py", + "file_type": "code", + "source_file": "src/api/schemas.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "src_api_schemas_placeinputweb", + "label": "PlaceInputWeb", + "file_type": "code", + "source_file": "src/api/schemas.py", + "source_location": "L9", + "_origin": "ast" + }, + { + "id": "src_api_schemas_py_basemodel", + "label": "BaseModel", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast" + }, + { + "id": "src_api_schemas_dayplanweb", + "label": "DayPlanWeb", + "file_type": "code", + "source_file": "src/api/schemas.py", + "source_location": "L14", + "_origin": "ast" + }, + { + "id": "src_api_schemas_poiinfo", + "label": "POIInfo", + "file_type": "code", + "source_file": "src/api/schemas.py", + "source_location": "L18", + "_origin": "ast" + }, + { + "id": "src_api_schemas_placeitem", + "label": "PlaceItem", + "file_type": "code", + "source_file": "src/api/schemas.py", + "source_location": "L37", + "_origin": "ast" + }, + { + "id": "src_api_schemas_placesresponse", + "label": "PlacesResponse", + "file_type": "code", + "source_file": "src/api/schemas.py", + "source_location": "L49", + "_origin": "ast" + }, + { + "id": "src_api_schemas_validaterequest", + "label": "ValidateRequest", + "file_type": "code", + "source_file": "src/api/schemas.py", + "source_location": "L54", + "_origin": "ast" + }, + { + "id": "src_api_schemas_parsetextrequest", + "label": "ParseTextRequest", + "file_type": "code", + "source_file": "src/api/schemas.py", + "source_location": "L64", + "_origin": "ast" + }, + { + "id": "src_api_schemas_parsedplace", + "label": "ParsedPlace", + "file_type": "code", + "source_file": "src/api/schemas.py", + "source_location": "L68", + "_origin": "ast" + }, + { + "id": "src_api_schemas_parsedday", + "label": "ParsedDay", + "file_type": "code", + "source_file": "src/api/schemas.py", + "source_location": "L74", + "_origin": "ast" + }, + { + "id": "src_api_schemas_parsedplanresponse", + "label": "ParsedPlanResponse", + "file_type": "code", + "source_file": "src/api/schemas.py", + "source_location": "L78", + "_origin": "ast" + }, + { + "id": "src_api_schemas_validateresponse", + "label": "ValidateResponse", + "file_type": "code", + "source_file": "src/api/schemas.py", + "source_location": "L82", + "_origin": "ast" + }, + { + "id": "src_api_schemas_rationale_1", + "label": "API \uc694\uccad/\uc751\ub2f5 Pydantic \uc2a4\ud0a4\ub9c8.", + "file_type": "rationale", + "source_file": "src/api/schemas.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "src_api_static_manifest", + "label": "manifest.json", + "file_type": "code", + "source_file": "src/api/static/manifest.json", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "src_api_static_manifest_name", + "label": "name", + "file_type": "code", + "source_file": "src/api/static/manifest.json", + "source_location": "L2", + "_origin": "ast" + }, + { + "id": "src_api_static_manifest_short_name", + "label": "short_name", + "file_type": "code", + "source_file": "src/api/static/manifest.json", + "source_location": "L3", + "_origin": "ast" + }, + { + "id": "src_api_static_manifest_description", + "label": "description", + "file_type": "code", + "source_file": "src/api/static/manifest.json", + "source_location": "L4", + "_origin": "ast" + }, + { + "id": "src_api_static_manifest_start_url", + "label": "start_url", + "file_type": "code", + "source_file": "src/api/static/manifest.json", + "source_location": "L5", + "_origin": "ast" + }, + { + "id": "src_api_static_manifest_display", + "label": "display", + "file_type": "code", + "source_file": "src/api/static/manifest.json", + "source_location": "L6", + "_origin": "ast" + }, + { + "id": "src_api_static_manifest_background_color", + "label": "background_color", + "file_type": "code", + "source_file": "src/api/static/manifest.json", + "source_location": "L7", + "_origin": "ast" + }, + { + "id": "src_api_static_manifest_theme_color", + "label": "theme_color", + "file_type": "code", + "source_file": "src/api/static/manifest.json", + "source_location": "L8", + "_origin": "ast" + }, + { + "id": "src_api_static_manifest_orientation", + "label": "orientation", + "file_type": "code", + "source_file": "src/api/static/manifest.json", + "source_location": "L9", + "_origin": "ast" + }, + { + "id": "src_api_static_manifest_lang", + "label": "lang", + "file_type": "code", + "source_file": "src/api/static/manifest.json", + "source_location": "L10", + "_origin": "ast" + }, + { + "id": "src_api_static_manifest_categories", + "label": "categories", + "file_type": "code", + "source_file": "src/api/static/manifest.json", + "source_location": "L11", + "_origin": "ast" + }, + { + "id": "ref_travel", + "label": "travel", + "file_type": "concept", + "source_file": "src/api/static/manifest.json", + "source_location": "L11", + "_origin": "ast" + }, + { + "id": "ref_utilities", + "label": "utilities", + "file_type": "concept", + "source_file": "src/api/static/manifest.json", + "source_location": "L11", + "_origin": "ast" + }, + { + "id": "src_api_static_manifest_icons", + "label": "icons", + "file_type": "code", + "source_file": "src/api/static/manifest.json", + "source_location": "L12", + "_origin": "ast" + }, + { + "id": "src_api_static_manifest_shortcuts", + "label": "shortcuts", + "file_type": "code", + "source_file": "src/api/static/manifest.json", + "source_location": "L26", + "_origin": "ast" + }, + { + "id": "src_api_static_service_worker", + "label": "service-worker.js", + "file_type": "code", + "source_file": "src/api/static/service-worker.js", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "src_api_static_service_worker_shell", + "label": "SHELL", + "file_type": "code", + "source_file": "src/api/static/service-worker.js", + "source_location": "L2", + "_origin": "ast" + }, + { + "id": "src_data_init", + "label": "data/__init__.py", + "file_type": "code", + "source_file": "src/data/__init__.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "src_data_barrier_free_api", + "label": "barrier_free_api.py", + "file_type": "code", + "source_file": "src/data/barrier_free_api.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "src_data_barrier_free_api_barrierfreeplace", + "label": "BarrierFreePlace", + "file_type": "code", + "source_file": "src/data/barrier_free_api.py", + "source_location": "L24", + "_origin": "ast" + }, + { + "id": "src_data_barrier_free_api_barrierfreedetail", + "label": "BarrierFreeDetail", + "file_type": "code", + "source_file": "src/data/barrier_free_api.py", + "source_location": "L43", + "_origin": "ast" + }, + { + "id": "src_data_barrier_free_api_extract_items", + "label": "_extract_items()", + "file_type": "code", + "source_file": "src/data/barrier_free_api.py", + "source_location": "L68", + "_origin": "ast" + }, + { + "id": "src_data_barrier_free_api_safe_float", + "label": "_safe_float()", + "file_type": "code", + "source_file": "src/data/barrier_free_api.py", + "source_location": "L78", + "_origin": "ast" + }, + { + "id": "src_data_barrier_free_api_py_any", + "label": "Any", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast" + }, + { + "id": "src_data_barrier_free_api_str", + "label": "_str()", + "file_type": "code", + "source_file": "src/data/barrier_free_api.py", + "source_location": "L85", + "_origin": "ast" + }, + { + "id": "src_data_barrier_free_api_barrierfreeapiclient", + "label": "BarrierFreeAPIClient", + "file_type": "code", + "source_file": "src/data/barrier_free_api.py", + "source_location": "L91", + "_origin": "ast" + }, + { + "id": "src_data_barrier_free_api_barrierfreeapiclient_init", + "label": ".__init__()", + "file_type": "code", + "source_file": "src/data/barrier_free_api.py", + "source_location": "L97", + "_origin": "ast" + }, + { + "id": "src_data_barrier_free_api_barrierfreeapiclient_from_settings", + "label": ".from_settings()", + "file_type": "code", + "source_file": "src/data/barrier_free_api.py", + "source_location": "L104", + "_origin": "ast" + }, + { + "id": "src_data_barrier_free_api_barrierfreeapiclient_fetch_page", + "label": ".fetch_page()", + "file_type": "code", + "source_file": "src/data/barrier_free_api.py", + "source_location": "L112", + "_origin": "ast" + }, + { + "id": "src_data_barrier_free_api_barrierfreeapiclient_fetch_detail", + "label": ".fetch_detail()", + "file_type": "code", + "source_file": "src/data/barrier_free_api.py", + "source_location": "L163", + "_origin": "ast" + }, + { + "id": "src_data_barrier_free_api_barrierfreeapiclient_fetch_all", + "label": ".fetch_all()", + "file_type": "code", + "source_file": "src/data/barrier_free_api.py", + "source_location": "L210", + "_origin": "ast" + }, + { + "id": "src_data_barrier_free_api_rationale_1", + "label": "\ud55c\uad6d\uad00\uad11\uacf5\uc0ac \ubb34\uc7a5\uc560 \uc5ec\ud589 \uc815\ubcf4 API \ud074\ub77c\uc774\uc5b8\ud2b8 (B551011/KorWithService2). \uc624\ud37c\ub808\uc774\uc158: areaBasedList2 \u2014\u2026", + "file_type": "rationale", + "source_file": "src/data/barrier_free_api.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "src_data_barrier_free_api_rationale_25", + "label": "areaBasedList2 \uae30\ubc18 \uae30\ubcf8 POI + detailWithTour2 \uc811\uadfc\uc131 \uc138\ubd80 \ud56d\ubaa9.", + "file_type": "rationale", + "source_file": "src/data/barrier_free_api.py", + "source_location": "L25", + "_origin": "ast" + }, + { + "id": "src_data_barrier_free_api_rationale_44", + "label": "detailWithTour2 \uc751\ub2f5 \uc804\uccb4 \ud544\ub4dc (\ud544\uc694 \uc2dc \uac1c\ubcc4 \uc870\ud68c\uc6a9).", + "file_type": "rationale", + "source_file": "src/data/barrier_free_api.py", + "source_location": "L44", + "_origin": "ast" + }, + { + "id": "src_data_barrier_free_api_rationale_92", + "label": "\ubb34\uc7a5\uc560 \uc5ec\ud589 \uc815\ubcf4 API \u2014 \ube44\ub3d9\uae30 \ud074\ub77c\uc774\uc5b8\ud2b8. Graceful Fallback: API \ud638\ucd9c \uc2e4\ud328 \uc2dc \ube48 \ub9ac\uc2a4\ud2b8/None \ubc18\ud658.", + "file_type": "rationale", + "source_file": "src/data/barrier_free_api.py", + "source_location": "L92", + "_origin": "ast" + }, + { + "id": "src_data_barrier_free_api_rationale_119", + "label": "areaBasedList2 \u2014 \ubb34\uc7a5\uc560 \uc5ec\ud589 POI \ubaa9\ub85d \ud55c \ud398\uc774\uc9c0 \uc870\ud68c. \ubc18\ud658 \ud544\ub4dc: contentid, title, addr1, mapx,\u2026", + "file_type": "rationale", + "source_file": "src/data/barrier_free_api.py", + "source_location": "L119", + "_origin": "ast" + }, + { + "id": "src_data_barrier_free_api_rationale_164", + "label": "detailWithTour2 \u2014 \ub2e8\uc77c \ucf58\ud150\uce20 \ubb34\uc7a5\uc560 \uc811\uadfc\uc131 \uc0c1\uc138 \uc870\ud68c. \uc9c0\uccb4\uc7a5\uc560\u00b7\uc2dc\uac01\uc7a5\uc560\u00b7\uccad\uac01\uc7a5\uc560\u00b7\uc601\uc720\uc544\uac00\uc871 \ud56d\ubaa9\uc744 \ud14d\uc2a4\ud2b8\ub85c \ubc18\ud658.\u2026", + "file_type": "rationale", + "source_file": "src/data/barrier_free_api.py", + "source_location": "L164", + "_origin": "ast" + }, + { + "id": "src_data_barrier_free_api_rationale_211", + "label": "\uc804\uccb4 \ubb34\uc7a5\uc560 \uc5ec\ud589 POI \ubaa9\ub85d \uc870\ud68c (\ud398\uc774\uc9c0 \uc21c\ud68c, areaBasedList2).", + "file_type": "rationale", + "source_file": "src/data/barrier_free_api.py", + "source_location": "L211", + "_origin": "ast" + }, + { + "id": "src_data_dwell_db", + "label": "dwell_db.py", + "file_type": "code", + "source_file": "src/data/dwell_db.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "src_data_dwell_db_dwellrecommendation", + "label": "DwellRecommendation", + "file_type": "code", + "source_file": "src/data/dwell_db.py", + "source_location": "L21", + "_origin": "ast" + }, + { + "id": "src_data_dwell_db_dwellrecommendation_is_too_short", + "label": ".is_too_short()", + "file_type": "code", + "source_file": "src/data/dwell_db.py", + "source_location": "L27", + "_origin": "ast" + }, + { + "id": "src_data_dwell_db_normalize_name", + "label": "_normalize_name()", + "file_type": "code", + "source_file": "src/data/dwell_db.py", + "source_location": "L181", + "_origin": "ast" + }, + { + "id": "src_data_dwell_db_get_recommended_dwell", + "label": "get_recommended_dwell()", + "file_type": "code", + "source_file": "src/data/dwell_db.py", + "source_location": "L192", + "_origin": "ast" + }, + { + "id": "src_data_dwell_db_rationale_1", + "label": "\uad8c\uc7a5 \uccb4\ub958\uc2dc\uac04 \ub370\uc774\ud130\ubca0\uc774\uc2a4 (\ud558\uc774\ube0c\ub9ac\ub4dc \ub8e9\uc5c5). 5\ub2e8\uacc4 \ud3f4\ubc31 \uc6b0\uc120\uc21c\uc704\ub85c (min, max) \ubd84 \ub2e8\uc704 \uad8c\uc7a5 \uccb4\ub958\uc2dc\uac04\uc744 \ubc18\ud658: 1.\u2026", + "file_type": "rationale", + "source_file": "src/data/dwell_db.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "src_data_dwell_db_rationale_28", + "label": "\uc0ac\uc6a9\uc790 \uc785\ub825\uc774 \uad8c\uc7a5 min\uc758 ratio(\uae30\ubcf8 50%) \ubbf8\ub9cc\uc774\uba74 True.", + "file_type": "rationale", + "source_file": "src/data/dwell_db.py", + "source_location": "L28", + "_origin": "ast" + }, + { + "id": "src_data_dwell_db_rationale_182", + "label": "\uc774\ub984 \uc815\uaddc\ud654: \uacf5\ubc31\u00b7\ud2b9\uc218\ubb38\uc790 \uc81c\uac70 \ud6c4 \uc18c\ubb38\uc790.", + "file_type": "rationale", + "source_file": "src/data/dwell_db.py", + "source_location": "L182", + "_origin": "ast" + }, + { + "id": "src_data_dwell_db_rationale_198", + "label": "5\ub2e8\uacc4 \ud3f4\ubc31\uc73c\ub85c \uad8c\uc7a5 \uccb4\ub958\uc2dc\uac04 \ubc18\ud658. \uc778\uc790 ---- name : POI \uc774\ub984 (\ud544\uc218) lcls_systm3 : \"VE0101\" \uac19\uc740\u2026", + "file_type": "rationale", + "source_file": "src/data/dwell_db.py", + "source_location": "L198", + "_origin": "ast" + }, + { + "id": "src_data_graph_retriever", + "label": "graph_retriever.py", + "file_type": "code", + "source_file": "src/data/graph_retriever.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "src_data_graph_retriever_graphretriever", + "label": "GraphRetriever", + "file_type": "code", + "source_file": "src/data/graph_retriever.py", + "source_location": "L44", + "_origin": "ast" + }, + { + "id": "src_data_graph_retriever_graphretriever_init", + "label": ".__init__()", + "file_type": "code", + "source_file": "src/data/graph_retriever.py", + "source_location": "L47", + "_origin": "ast" + }, + { + "id": "src_data_graph_retriever_graphretriever_from_env", + "label": ".from_env()", + "file_type": "code", + "source_file": "src/data/graph_retriever.py", + "source_location": "L62", + "_origin": "ast" + }, + { + "id": "src_data_graph_retriever_graphretriever_enabled", + "label": ".enabled()", + "file_type": "code", + "source_file": "src/data/graph_retriever.py", + "source_location": "L71", + "_origin": "ast" + }, + { + "id": "src_data_graph_retriever_graphretriever_callable", + "label": "._callable()", + "file_type": "code", + "source_file": "src/data/graph_retriever.py", + "source_location": "L74", + "_origin": "ast" + }, + { + "id": "src_data_graph_retriever_graphretriever_mark_unreachable", + "label": "._mark_unreachable()", + "file_type": "code", + "source_file": "src/data/graph_retriever.py", + "source_location": "L78", + "_origin": "ast" + }, + { + "id": "src_data_graph_retriever_graphretriever_close", + "label": ".close()", + "file_type": "code", + "source_file": "src/data/graph_retriever.py", + "source_location": "L81", + "_origin": "ast" + }, + { + "id": "src_data_graph_retriever_graphretriever_search_places", + "label": ".search_places()", + "file_type": "code", + "source_file": "src/data/graph_retriever.py", + "source_location": "L85", + "_origin": "ast" + }, + { + "id": "src_data_graph_retriever_graphretriever_find_nearby", + "label": ".find_nearby()", + "file_type": "code", + "source_file": "src/data/graph_retriever.py", + "source_location": "L111", + "_origin": "ast" + }, + { + "id": "src_data_graph_retriever_rationale_1", + "label": "Neo4j \uc9c0\uc2dd\uadf8\ub798\ud504 \ub9ac\ud2b8\ub9ac\ubc84 \u2014 Place/Region/NEAR_BY \uadf8\ub798\ud504\uc5d0\uc11c \uadfc\uac70 \uc870\ud68c.\u2026", + "file_type": "rationale", + "source_file": "src/data/graph_retriever.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "src_data_graph_retriever_rationale_45", + "label": "\uc81c\uc8fc \uc9c0\uc2dd\uadf8\ub798\ud504(Neo4j Aura) \ub9ac\ud2b8\ub9ac\ubc84. \ubbf8\uc124\uc815/\uc5f0\uacb0 \uc2e4\ud328 \uc2dc \ube48 \uacb0\uacfc\ub85c \ud3f4\ubc31.", + "file_type": "rationale", + "source_file": "src/data/graph_retriever.py", + "source_location": "L45", + "_origin": "ast" + }, + { + "id": "src_data_graph_retriever_rationale_75", + "label": "\ud638\ucd9c \uac00\ub2a5 \uc5ec\ubd80. \ucd5c\uadfc \uc5f0\uacb0 \uc2e4\ud328 \uc2dc \ucfe8\ub2e4\uc6b4 \ub3d9\uc548 \uc7ac\uc2dc\ub3c4 \ubc31\uc624\ud504 \ube44\uc6a9 \uc5c6\uc774 \uc989\uc2dc \ube48 \uacb0\uacfc\ub85c \ub118\uae34\ub2e4.", + "file_type": "rationale", + "source_file": "src/data/graph_retriever.py", + "source_location": "L75", + "_origin": "ast" + }, + { + "id": "src_data_graph_retriever_rationale_86", + "label": "\uc7a5\uc18c\uba85 \ubd80\ubd84\uc77c\uce58 \uac80\uc0c9 \u2014 Region \ucee8\ud14d\uc2a4\ud2b8 \ud3ec\ud568.", + "file_type": "rationale", + "source_file": "src/data/graph_retriever.py", + "source_location": "L86", + "_origin": "ast" + }, + { + "id": "src_data_graph_retriever_rationale_112", + "label": "NEAR_BY \uadf8\ub798\ud504\uc5d0\uc11c \ub3c4\ubcf4 \uadfc\uc811 \ub300\uccb4 \ud6c4\ubcf4 \uc870\ud68c (\uac70\ub9ac\uc21c).", + "file_type": "rationale", + "source_file": "src/data/graph_retriever.py", + "source_location": "L112", + "_origin": "ast" + }, + { + "id": "src_data_hours_db", + "label": "hours_db.py", + "file_type": "code", + "source_file": "src/data/hours_db.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "src_data_hours_db_hoursspec", + "label": "HoursSpec", + "file_type": "code", + "source_file": "src/data/hours_db.py", + "source_location": "L14", + "_origin": "ast" + }, + { + "id": "src_data_hours_db_resolve_hours", + "label": "resolve_hours()", + "file_type": "code", + "source_file": "src/data/hours_db.py", + "source_location": "L245", + "_origin": "ast" + }, + { + "id": "src_data_hours_db_to_minutes", + "label": "to_minutes()", + "file_type": "code", + "source_file": "src/data/hours_db.py", + "source_location": "L267", + "_origin": "ast" + }, + { + "id": "src_data_hours_db_is_open_at", + "label": "is_open_at()", + "file_type": "code", + "source_file": "src/data/hours_db.py", + "source_location": "L272", + "_origin": "ast" + }, + { + "id": "src_data_hours_db_rationale_1", + "label": "hours_db \u2014 \uce74\ud14c\uace0\ub9ac\u00b7\ud0a4\uc6cc\ub4dc \uae30\ubc18 \uc6b4\uc601\uc2dc\uac04 \ub8e9\uc5c5. \uc0ac\uc6a9: from src.data.hours_db import resolve_hours\u2026", + "file_type": "rationale", + "source_file": "src/data/hours_db.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "src_data_hours_db_rationale_246", + "label": "\uc7a5\uc18c \uc774\ub984 + \uce74\ud14c\uace0\ub9ac\ud78c\ud2b8 \u2192 HoursSpec. \ub9e4\uce6d \uc6b0\uc120\uc21c\uc704: \ud0a4\uc6cc\ub4dc > \uce74\ud14c\uace0\ub9ac\ud78c\ud2b8 > default_attraction.", + "file_type": "rationale", + "source_file": "src/data/hours_db.py", + "source_location": "L246", + "_origin": "ast" + }, + { + "id": "src_data_hours_db_rationale_273", + "label": "\uc8fc\uc5b4\uc9c4 \uc694\uc77c\u00b7\uc2dc\uac01\uc5d0 \uc601\uc5c5 \uc911\uc778\uc9c0 (\uc8fc\uc758: \ud734\ubb34\uc77c + \ube0c\ub808\uc774\ud06c \ud0c0\uc784 \uace0\ub824).", + "file_type": "rationale", + "source_file": "src/data/hours_db.py", + "source_location": "L273", + "_origin": "ast" + }, + { + "id": "src_data_kakao_local", + "label": "kakao_local.py", + "file_type": "code", + "source_file": "src/data/kakao_local.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "src_data_kakao_local_kakaolocalclient", + "label": "KakaoLocalClient", + "file_type": "code", + "source_file": "src/data/kakao_local.py", + "source_location": "L24", + "_origin": "ast" + }, + { + "id": "src_data_kakao_local_kakaolocalclient_init", + "label": ".__init__()", + "file_type": "code", + "source_file": "src/data/kakao_local.py", + "source_location": "L27", + "_origin": "ast" + }, + { + "id": "src_data_kakao_local_kakaolocalclient_from_env", + "label": ".from_env()", + "file_type": "code", + "source_file": "src/data/kakao_local.py", + "source_location": "L36", + "_origin": "ast" + }, + { + "id": "src_data_kakao_local_kakaolocalclient_enabled", + "label": ".enabled()", + "file_type": "code", + "source_file": "src/data/kakao_local.py", + "source_location": "L40", + "_origin": "ast" + }, + { + "id": "src_data_kakao_local_kakaolocalclient_search_keyword", + "label": ".search_keyword()", + "file_type": "code", + "source_file": "src/data/kakao_local.py", + "source_location": "L43", + "_origin": "ast" + }, + { + "id": "src_data_kakao_local_kakaolocalclient_search_keyword_list", + "label": ".search_keyword_list()", + "file_type": "code", + "source_file": "src/data/kakao_local.py", + "source_location": "L82", + "_origin": "ast" + }, + { + "id": "src_data_kakao_local_kakaolocalclient_geocode_address", + "label": ".geocode_address()", + "file_type": "code", + "source_file": "src/data/kakao_local.py", + "source_location": "L125", + "_origin": "ast" + }, + { + "id": "src_data_kakao_local_rationale_1", + "label": "\uce74\uce74\uc624 \ub85c\uceec \ud0a4\uc6cc\ub4dc \uc7a5\uc18c \uac80\uc0c9 \ud074\ub77c\uc774\uc5b8\ud2b8 (httpx + Graceful Fallback). \uc2dd\ub2f9\u00b7\uce74\ud398 \ub4f1 TourAPI\u2026", + "file_type": "rationale", + "source_file": "src/data/kakao_local.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "src_data_kakao_local_rationale_25", + "label": "\uce74\uce74\uc624 \ub85c\uceec \ud0a4\uc6cc\ub4dc \uac80\uc0c9. \uc778\uba54\ubaa8\ub9ac \uce90\uc2dc\ub85c \ub3d9\uc77c \uc9c8\uc758 \uc911\ubcf5 \ud638\ucd9c\uc744 \ub9c9\ub294\ub2e4.", + "file_type": "rationale", + "source_file": "src/data/kakao_local.py", + "source_location": "L25", + "_origin": "ast" + }, + { + "id": "src_data_kakao_local_rationale_44", + "label": "\uc7a5\uc18c\uba85\uc73c\ub85c \uac00\uc7a5 \uad00\ub828\ub3c4 \ub192\uc740 1\uac74\uc744 \uc870\ud68c. \uc2e4\ud328 \uc2dc None.", + "file_type": "rationale", + "source_file": "src/data/kakao_local.py", + "source_location": "L44", + "_origin": "ast" + }, + { + "id": "src_data_kakao_local_rationale_83", + "label": "\ud0a4\uc6cc\ub4dc\ub85c \ub2e4\uc218 \ud6c4\ubcf4\ub97c \uc870\ud68c(\uac80\uc0c9 \ud328\ub110 \ubcf4\uac15\uc6a9). \uc2e4\ud328 \uc2dc \ube48 \ub9ac\uc2a4\ud2b8.", + "file_type": "rationale", + "source_file": "src/data/kakao_local.py", + "source_location": "L83", + "_origin": "ast" + }, + { + "id": "src_data_kakao_local_rationale_126", + "label": "\ub3c4\ub85c\uba85\uc8fc\uc18c \u2192 (\uc704\ub3c4, \uacbd\ub3c4). \uacb0\uce21 \uc88c\ud45c \ubcf4\uc815\uc6a9. \uc2e4\ud328 \uc2dc None.", + "file_type": "rationale", + "source_file": "src/data/kakao_local.py", + "source_location": "L126", + "_origin": "ast" + }, + { + "id": "src_data_models", + "label": "models.py", + "file_type": "code", + "source_file": "src/data/models.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "src_data_models_kakaoplace", + "label": "KakaoPlace", + "file_type": "code", + "source_file": "src/data/models.py", + "source_location": "L22", + "_origin": "ast" + }, + { + "id": "src_data_models_py_basemodel", + "label": "BaseModel", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast" + }, + { + "id": "src_data_models_placeevidence", + "label": "PlaceEvidence", + "file_type": "code", + "source_file": "src/data/models.py", + "source_location": "L34", + "_origin": "ast" + }, + { + "id": "src_data_models_hardfail", + "label": "HardFail", + "file_type": "code", + "source_file": "src/data/models.py", + "source_location": "L47", + "_origin": "ast" + }, + { + "id": "src_data_models_warning", + "label": "Warning", + "file_type": "code", + "source_file": "src/data/models.py", + "source_location": "L64", + "_origin": "ast" + }, + { + "id": "src_data_models_scores", + "label": "Scores", + "file_type": "code", + "source_file": "src/data/models.py", + "source_location": "L81", + "_origin": "ast" + }, + { + "id": "model_validator", + "label": "model_validator", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast" + }, + { + "id": "src_data_models_scores_validate_ranges", + "label": ".validate_ranges()", + "file_type": "code", + "source_file": "src/data/models.py", + "source_location": "L89", + "_origin": "ast" + }, + { + "id": "src_data_models_alternativepoi", + "label": "AlternativePOI", + "file_type": "code", + "source_file": "src/data/models.py", + "source_location": "L97", + "_origin": "ast" + }, + { + "id": "src_data_models_poi", + "label": "POI", + "file_type": "code", + "source_file": "src/data/models.py", + "source_location": "L105", + "_origin": "ast" + }, + { + "id": "field_validator", + "label": "field_validator", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast" + }, + { + "id": "src_data_models_poi_poi_id_not_empty", + "label": ".poi_id_not_empty()", + "file_type": "code", + "source_file": "src/data/models.py", + "source_location": "L121", + "_origin": "ast" + }, + { + "id": "src_data_models_poi_validate_lat", + "label": ".validate_lat()", + "file_type": "code", + "source_file": "src/data/models.py", + "source_location": "L128", + "_origin": "ast" + }, + { + "id": "src_data_models_poi_validate_lng", + "label": ".validate_lng()", + "file_type": "code", + "source_file": "src/data/models.py", + "source_location": "L135", + "_origin": "ast" + }, + { + "id": "src_data_models_poi_validate_hhmm", + "label": ".validate_hhmm()", + "file_type": "code", + "source_file": "src/data/models.py", + "source_location": "L142", + "_origin": "ast" + }, + { + "id": "src_data_models_poi_validate_duration", + "label": ".validate_duration()", + "file_type": "code", + "source_file": "src/data/models.py", + "source_location": "L152", + "_origin": "ast" + }, + { + "id": "src_data_models_placeinput", + "label": "PlaceInput", + "file_type": "code", + "source_file": "src/data/models.py", + "source_location": "L158", + "_origin": "ast" + }, + { + "id": "src_data_models_placeinput_validate_order", + "label": ".validate_order()", + "file_type": "code", + "source_file": "src/data/models.py", + "source_location": "L165", + "_origin": "ast" + }, + { + "id": "src_data_models_dayplan", + "label": "DayPlan", + "file_type": "code", + "source_file": "src/data/models.py", + "source_location": "L173", + "_origin": "ast" + }, + { + "id": "src_data_models_dayplan_validate_place_count", + "label": ".validate_place_count()", + "file_type": "code", + "source_file": "src/data/models.py", + "source_location": "L179", + "_origin": "ast" + }, + { + "id": "src_data_models_dayplan_auto_fill_visit_order", + "label": ".auto_fill_visit_order()", + "file_type": "code", + "source_file": "src/data/models.py", + "source_location": "L187", + "_origin": "ast" + }, + { + "id": "src_data_models_itineraryplan", + "label": "ItineraryPlan", + "file_type": "code", + "source_file": "src/data/models.py", + "source_location": "L195", + "_origin": "ast" + }, + { + "id": "src_data_models_itineraryplan_validate_days", + "label": ".validate_days()", + "file_type": "code", + "source_file": "src/data/models.py", + "source_location": "L204", + "_origin": "ast" + }, + { + "id": "computed_field", + "label": "computed_field", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast" + }, + { + "id": "src_data_models_itineraryplan_travel_days", + "label": ".travel_days()", + "file_type": "code", + "source_file": "src/data/models.py", + "source_location": "L212", + "_origin": "ast" + }, + { + "id": "src_data_models_itineraryplan_plan_id", + "label": ".plan_id()", + "file_type": "code", + "source_file": "src/data/models.py", + "source_location": "L216", + "_origin": "ast" + }, + { + "id": "src_data_models_validationresult", + "label": "ValidationResult", + "file_type": "code", + "source_file": "src/data/models.py", + "source_location": "L225", + "_origin": "ast" + }, + { + "id": "src_data_models_validationresult_validate_score_range", + "label": ".validate_score_range()", + "file_type": "code", + "source_file": "src/data/models.py", + "source_location": "L244", + "_origin": "ast" + }, + { + "id": "src_data_models_validationresult_hard_fail_score_cap", + "label": ".hard_fail_score_cap()", + "file_type": "code", + "source_file": "src/data/models.py", + "source_location": "L250", + "_origin": "ast" + }, + { + "id": "src_data_models_settings", + "label": "Settings", + "file_type": "code", + "source_file": "src/data/models.py", + "source_location": "L256", + "_origin": "ast" + }, + { + "id": "basesettings", + "label": "BaseSettings", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast" + }, + { + "id": "src_data_models_settings_fill_gov_api_keys", + "label": ".fill_gov_api_keys()", + "file_type": "code", + "source_file": "src/data/models.py", + "source_location": "L269", + "_origin": "ast" + }, + { + "id": "src_data_models_vrptwplace", + "label": "VRPTWPlace", + "file_type": "code", + "source_file": "src/data/models.py", + "source_location": "L283", + "_origin": "ast" + }, + { + "id": "src_data_models_vrptwplace_validate_hhmm", + "label": ".validate_hhmm()", + "file_type": "code", + "source_file": "src/data/models.py", + "source_location": "L294", + "_origin": "ast" + }, + { + "id": "src_data_models_vrptwplace_validate_lat", + "label": ".validate_lat()", + "file_type": "code", + "source_file": "src/data/models.py", + "source_location": "L304", + "_origin": "ast" + }, + { + "id": "src_data_models_vrptwplace_validate_lng", + "label": ".validate_lng()", + "file_type": "code", + "source_file": "src/data/models.py", + "source_location": "L311", + "_origin": "ast" + }, + { + "id": "src_data_models_vrptwplace_validate_stay", + "label": ".validate_stay()", + "file_type": "code", + "source_file": "src/data/models.py", + "source_location": "L318", + "_origin": "ast" + }, + { + "id": "src_data_models_vrptwplace_open_minutes", + "label": ".open_minutes()", + "file_type": "code", + "source_file": "src/data/models.py", + "source_location": "L324", + "_origin": "ast" + }, + { + "id": "src_data_models_vrptwplace_close_minutes", + "label": ".close_minutes()", + "file_type": "code", + "source_file": "src/data/models.py", + "source_location": "L329", + "_origin": "ast" + }, + { + "id": "src_data_models_vrptwday", + "label": "VRPTWDay", + "file_type": "code", + "source_file": "src/data/models.py", + "source_location": "L334", + "_origin": "ast" + }, + { + "id": "src_data_models_vrptwday_at_least_one", + "label": ".at_least_one()", + "file_type": "code", + "source_file": "src/data/models.py", + "source_location": "L339", + "_origin": "ast" + }, + { + "id": "src_data_models_vrptwrequest", + "label": "VRPTWRequest", + "file_type": "code", + "source_file": "src/data/models.py", + "source_location": "L345", + "_origin": "ast" + }, + { + "id": "src_data_models_vrptwrequest_at_least_one_day", + "label": ".at_least_one_day()", + "file_type": "code", + "source_file": "src/data/models.py", + "source_location": "L350", + "_origin": "ast" + }, + { + "id": "src_data_models_deepdiveitem", + "label": "DeepDiveItem", + "file_type": "code", + "source_file": "src/data/models.py", + "source_location": "L356", + "_origin": "ast" + }, + { + "id": "src_data_models_explanationitem", + "label": "ExplanationItem", + "file_type": "code", + "source_file": "src/data/models.py", + "source_location": "L363", + "_origin": "ast" + }, + { + "id": "src_data_models_dayroutecomparison", + "label": "DayRouteComparison", + "file_type": "code", + "source_file": "src/data/models.py", + "source_location": "L374", + "_origin": "ast" + }, + { + "id": "src_data_models_vrptwresult", + "label": "VRPTWResult", + "file_type": "code", + "source_file": "src/data/models.py", + "source_location": "L382", + "_origin": "ast" + }, + { + "id": "src_data_models_rationale_1", + "label": "Pydantic models for travel plan validator (main app + VRPTW engine). NOTE: from\u2026", + "file_type": "rationale", + "source_file": "src/data/models.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "src_data_models_rationale_23", + "label": "\uce74\uce74\uc624 \ub85c\uceec \ud0a4\uc6cc\ub4dc \uac80\uc0c9 \uacb0\uacfc 1\uac74 (\uc88c\ud45c\u00b7\uce74\ud14c\uace0\ub9ac\u00b7\uc8fc\uc18c).", + "file_type": "rationale", + "source_file": "src/data/models.py", + "source_location": "L23", + "_origin": "ast" + }, + { + "id": "src_data_models_rationale_35", + "label": "\uc9c0\uc2dd\uadf8\ub798\ud504(Neo4j)\uc5d0\uc11c \uac80\uc0c9\ub41c \uc7a5\uc18c \uadfc\uac70 1\uac74 (Region \ucee8\ud14d\uc2a4\ud2b8 \ud3ec\ud568).", + "file_type": "rationale", + "source_file": "src/data/models.py", + "source_location": "L35", + "_origin": "ast" + }, + { + "id": "src_data_models_rationale_174", + "label": "\ud558\ub8e8 \uc77c\uc815 \u2014 \uc7a5\uc18c \uc774\ub984\uacfc \ubc29\ubb38 \uc21c\uc11c \uc785\ub825.", + "file_type": "rationale", + "source_file": "src/data/models.py", + "source_location": "L174", + "_origin": "ast" + }, + { + "id": "src_data_models_rationale_188", + "label": "visit_order \ubbf8\uc785\ub825 \uc2dc \ud574\ub2f9 \uc77c\uc790 \ub0b4 \ub9ac\uc2a4\ud2b8 \uc704\uce58(1-based)\ub85c \uc790\ub3d9 \ud560\ub2f9.", + "file_type": "rationale", + "source_file": "src/data/models.py", + "source_location": "L188", + "_origin": "ast" + }, + { + "id": "src_data_models_rationale_270", + "label": "wellness_api_key / barrier_free_api_key \ubbf8\uc124\uc815 \uc2dc tour_api_key\ub85c \ub300\uccb4.", + "file_type": "rationale", + "source_file": "src/data/models.py", + "source_location": "L270", + "_origin": "ast" + }, + { + "id": "src_data_models_rationale_364", + "label": "ExplainEngine\uc774 \uc0dd\uc131\ud558\ub294 4\ub2e8\uacc4 \uc124\uba85 \ud56d\ubaa9.", + "file_type": "rationale", + "source_file": "src/data/models.py", + "source_location": "L364", + "_origin": "ast" + }, + { + "id": "src_data_party_config", + "label": "party_config.py", + "file_type": "code", + "source_file": "src/data/party_config.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "src_data_party_config_partyprofile", + "label": "PartyProfile", + "file_type": "code", + "source_file": "src/data/party_config.py", + "source_location": "L19", + "_origin": "ast" + }, + { + "id": "src_data_party_config_get_party_profile", + "label": "get_party_profile()", + "file_type": "code", + "source_file": "src/data/party_config.py", + "source_location": "L36", + "_origin": "ast" + }, + { + "id": "src_data_party_config_rationale_1", + "label": "\ub3d9\ud589 \uc720\ud615\ubcc4 \uc774\ub3d9 \uc18d\ub3c4 \ubcf4\uc815 \uacc4\uc218 \ubc0f \ud53c\ub85c\ub3c4 \uc784\uacc4\uac12. \uc774\ub3d9\uc218\ub2e8\uc740 \ud56d\uc0c1 \uc790\ub3d9\ucc28\uc774\ubbc0\ub85c speed_factor\ub294 Haversine \ud3f4\ubc31 \uac70\ub9ac \uae30\ubc18\u2026", + "file_type": "rationale", + "source_file": "src/data/party_config.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "src_data_party_config_rationale_37", + "label": "party_type \ubb38\uc790\uc5f4 \u2192 PartyProfile. \ubbf8\ub4f1\ub85d \uac12\uc740 '\uce5c\uad6c' \uae30\uc900 \ubc18\ud658.", + "file_type": "rationale", + "source_file": "src/data/party_config.py", + "source_location": "L37", + "_origin": "ast" + }, + { + "id": "src_data_region_config", + "label": "region_config.py", + "file_type": "code", + "source_file": "src/data/region_config.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "src_data_region_config_regionthresholds", + "label": "RegionThresholds", + "file_type": "code", + "source_file": "src/data/region_config.py", + "source_location": "L17", + "_origin": "ast" + }, + { + "id": "src_data_region_config_get_thresholds", + "label": "get_thresholds()", + "file_type": "code", + "source_file": "src/data/region_config.py", + "source_location": "L94", + "_origin": "ast" + }, + { + "id": "src_data_region_config_rationale_1", + "label": "\uc9c0\uc5ed\ubcc4 \ub3d9\uc801 \uc784\uacc4\uac12 \uc124\uc815 \u2014 3-tier POI \ubc00\ub3c4 \uae30\ubc18. \uc2dc\uad70\uad6c \ucf54\ub4dc(5\uc790\ub9ac) \uae30\uc900\uc73c\ub85c \ubc00\ub3c4 \ud2f0\uc5b4\ub97c \uacb0\uc815\ud558\uace0,\u2026", + "file_type": "rationale", + "source_file": "src/data/region_config.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "src_data_region_config_rationale_18", + "label": "\uc9c0\uc5ed \ud2f0\uc5b4\ubcc4 VRPTW/Scoring \uc784\uacc4\uac12.", + "file_type": "rationale", + "source_file": "src/data/region_config.py", + "source_location": "L18", + "_origin": "ast" + }, + { + "id": "src_data_region_config_rationale_95", + "label": "\uc2dc\uad70\uad6c \ucf54\ub4dc\ub85c \uc9c0\uc5ed \uc784\uacc4\uac12 \ubc18\ud658. \ubbf8\uc9c0\uc815\u00b7\ubbf8\ubd84\ub958 \u2192 MEDIUM.", + "file_type": "rationale", + "source_file": "src/data/region_config.py", + "source_location": "L95", + "_origin": "ast" + }, + { + "id": "src_data_restaurant_catalog", + "label": "restaurant_catalog.py", + "file_type": "code", + "source_file": "src/data/restaurant_catalog.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "src_data_restaurant_catalog_normalize", + "label": "_normalize()", + "file_type": "code", + "source_file": "src/data/restaurant_catalog.py", + "source_location": "L20", + "_origin": "ast" + }, + { + "id": "src_data_restaurant_catalog_restaurantcatalog", + "label": "RestaurantCatalog", + "file_type": "code", + "source_file": "src/data/restaurant_catalog.py", + "source_location": "L24", + "_origin": "ast" + }, + { + "id": "src_data_restaurant_catalog_restaurantcatalog_init", + "label": ".__init__()", + "file_type": "code", + "source_file": "src/data/restaurant_catalog.py", + "source_location": "L27", + "_origin": "ast" + }, + { + "id": "src_data_restaurant_catalog_restaurantcatalog_from_csv", + "label": ".from_csv()", + "file_type": "code", + "source_file": "src/data/restaurant_catalog.py", + "source_location": "L31", + "_origin": "ast" + }, + { + "id": "src_data_restaurant_catalog_py_path", + "label": "Path", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast" + }, + { + "id": "src_data_restaurant_catalog_restaurantcatalog_from_default", + "label": ".from_default()", + "file_type": "code", + "source_file": "src/data/restaurant_catalog.py", + "source_location": "L50", + "_origin": "ast" + }, + { + "id": "src_data_restaurant_catalog_restaurantcatalog_nearby", + "label": ".nearby()", + "file_type": "code", + "source_file": "src/data/restaurant_catalog.py", + "source_location": "L53", + "_origin": "ast" + }, + { + "id": "src_data_restaurant_catalog_rationale_1", + "label": "\uc81c\uc8fc \uc74c\uc2dd\uc810 \uadfc\uc811 \uac80\uc0c9 \uce74\ud0c8\ub85c\uadf8 \u2014 data/jeju_places.csv \uae30\ubc18. RepairEngine\uc758 Outlier Deletion \uc81c\uc548\u2026", + "file_type": "rationale", + "source_file": "src/data/restaurant_catalog.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "src_data_restaurant_catalog_rationale_25", + "label": "\uce74\ud14c\uace0\ub9ac=\uc74c\uc2dd\uc810(FD) \uc7a5\uc18c\uc758 \uc88c\ud45c \uadfc\uc811 \uac80\uc0c9.", + "file_type": "rationale", + "source_file": "src/data/restaurant_catalog.py", + "source_location": "L25", + "_origin": "ast" + }, + { + "id": "src_data_restaurant_catalog_rationale_61", + "label": "\ubc18\uacbd \ub0b4 \uac00\uc7a5 \uac00\uae4c\uc6b4 \uc74c\uc2dd\uc810 \ubaa9\ub85d (\uac70\ub9ac\uc21c, exclude_name \uc790\uae30 \uc790\uc2e0 \uc81c\uc678).", + "file_type": "rationale", + "source_file": "src/data/restaurant_catalog.py", + "source_location": "L61", + "_origin": "ast" + }, + { + "id": "src_data_seoul_citydata_client", + "label": "seoul_citydata_client.py", + "file_type": "code", + "source_file": "src/data/seoul_citydata_client.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "src_data_seoul_citydata_client_forecastslot", + "label": "ForecastSlot", + "file_type": "code", + "source_file": "src/data/seoul_citydata_client.py", + "source_location": "L62", + "_origin": "ast" + }, + { + "id": "src_data_seoul_citydata_client_seoulrealtimecongestion", + "label": "SeoulRealtimeCongestion", + "file_type": "code", + "source_file": "src/data/seoul_citydata_client.py", + "source_location": "L71", + "_origin": "ast" + }, + { + "id": "src_data_seoul_citydata_client_seoulcitydataclient", + "label": "SeoulCityDataClient", + "file_type": "code", + "source_file": "src/data/seoul_citydata_client.py", + "source_location": "L83", + "_origin": "ast" + }, + { + "id": "src_data_seoul_citydata_client_seoulcitydataclient_init", + "label": ".__init__()", + "file_type": "code", + "source_file": "src/data/seoul_citydata_client.py", + "source_location": "L91", + "_origin": "ast" + }, + { + "id": "src_data_seoul_citydata_client_seoulcitydataclient_url", + "label": "._url()", + "file_type": "code", + "source_file": "src/data/seoul_citydata_client.py", + "source_location": "L101", + "_origin": "ast" + }, + { + "id": "src_data_seoul_citydata_client_seoulcitydataclient_parse_forecast", + "label": "._parse_forecast()", + "file_type": "code", + "source_file": "src/data/seoul_citydata_client.py", + "source_location": "L104", + "_origin": "ast" + }, + { + "id": "src_data_seoul_citydata_client_seoulcitydataclient_resolve_name", + "label": "._resolve_name()", + "file_type": "code", + "source_file": "src/data/seoul_citydata_client.py", + "source_location": "L119", + "_origin": "ast" + }, + { + "id": "src_data_seoul_citydata_client_seoulcitydataclient_get", + "label": ".get()", + "file_type": "code", + "source_file": "src/data/seoul_citydata_client.py", + "source_location": "L127", + "_origin": "ast" + }, + { + "id": "src_data_seoul_citydata_client_seoulcitydataclient_get_at", + "label": ".get_at()", + "file_type": "code", + "source_file": "src/data/seoul_citydata_client.py", + "source_location": "L168", + "_origin": "ast" + }, + { + "id": "src_data_seoul_citydata_client_rationale_1", + "label": "\uc11c\uc6b8 \ub3c4\uc2dc\ub370\uc774\ud130 API \ud074\ub77c\uc774\uc5b8\ud2b8 \u2014 \uc2e4\uc2dc\uac04 \uc778\uad6c \ud63c\uc7a1\ub3c4. API: \uc11c\uc6b8 \uc5f4\ub9b0\ub370\uc774\ud130\uad11\uc7a5 citydata (\ub3c4\uc2dc\ub370\uc774\ud130 API) \uc5d4\ub4dc\ud3ec\uc778\ud2b8:\u2026", + "file_type": "rationale", + "source_file": "src/data/seoul_citydata_client.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "src_data_seoul_citydata_client_rationale_84", + "label": "\uc11c\uc6b8 \ub3c4\uc2dc\ub370\uc774\ud130 \uc2e4\uc2dc\uac04 \ud63c\uc7a1\ub3c4 \ud074\ub77c\uc774\uc5b8\ud2b8 (\ub3d9\uae30). Args: api_key: SEOUL_DATA_API_KEY (\uae30\ubcf8\uac12: \ud658\uacbd\ubcc0\uc218\uc5d0\uc11c \ub85c\ub4dc)\u2026", + "file_type": "rationale", + "source_file": "src/data/seoul_citydata_client.py", + "source_location": "L84", + "_origin": "ast" + }, + { + "id": "src_data_seoul_citydata_client_rationale_128", + "label": "\uc7a5\uc18c\uba85\uc73c\ub85c \uc2e4\uc2dc\uac04 \ud63c\uc7a1\ub3c4\ub97c \uc870\ud68c\ud55c\ub2e4. Args: area_name: \uc7a5\uc18c\uba85 (\ubcc4\uce6d \uc790\ub3d9 \ud574\uc11d \u2014 AREA_ALIASES \ucc38\uc870) \uc608:\u2026", + "file_type": "rationale", + "source_file": "src/data/seoul_citydata_client.py", + "source_location": "L128", + "_origin": "ast" + }, + { + "id": "src_data_seoul_citydata_client_rationale_169", + "label": "\ud2b9\uc815 \uc2dc\uac01(HH:MM)\uc758 \uc608\uce21 \ud63c\uc7a1\ub3c4\ub97c \ubc18\ud658\ud55c\ub2e4. target_time\uc774 \ud604\uc7ac\ub77c\uba74 \uc2e4\uc2dc\uac04, \ubbf8\ub798\ub77c\uba74 \uc608\uce21\uac12\uc744 \uc0ac\uc6a9\ud55c\ub2e4. Args:\u2026", + "file_type": "rationale", + "source_file": "src/data/seoul_citydata_client.py", + "source_location": "L169", + "_origin": "ast" + }, + { + "id": "src_data_theme_taxonomy", + "label": "theme_taxonomy.py", + "file_type": "code", + "source_file": "src/data/theme_taxonomy.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "src_data_theme_taxonomy_userpreferences", + "label": "UserPreferences", + "file_type": "code", + "source_file": "src/data/theme_taxonomy.py", + "source_location": "L83", + "_origin": "ast" + }, + { + "id": "src_data_theme_taxonomy_userpreferences_post_init", + "label": ".__post_init__()", + "file_type": "code", + "source_file": "src/data/theme_taxonomy.py", + "source_location": "L88", + "_origin": "ast" + }, + { + "id": "src_data_theme_taxonomy_userpreferences_all_themes", + "label": ".all_themes()", + "file_type": "code", + "source_file": "src/data/theme_taxonomy.py", + "source_location": "L105", + "_origin": "ast" + }, + { + "id": "src_data_theme_taxonomy_matches_place_type", + "label": "matches_place_type()", + "file_type": "code", + "source_file": "src/data/theme_taxonomy.py", + "source_location": "L111", + "_origin": "ast" + }, + { + "id": "src_data_theme_taxonomy_get_place_types_for", + "label": "get_place_types_for()", + "file_type": "code", + "source_file": "src/data/theme_taxonomy.py", + "source_location": "L140", + "_origin": "ast" + }, + { + "id": "src_data_theme_taxonomy_rationale_1", + "label": "\ud14c\ub9c8 \ubd84\ub958 \uccb4\uacc4 (2\ucd95 18\ud14c\ub9c8). \ucd95 A: PLACE_TYPES (9\uac1c) \u2014 \uc7a5\uc18c \uc720\ud615 (\uc0b0, \ubc14\ub2e4, \uce74\ud398 \ub4f1 \uad6c\uccb4\uc801) \ucd95 B:\u2026", + "file_type": "rationale", + "source_file": "src/data/theme_taxonomy.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "src_data_theme_taxonomy_rationale_84", + "label": "\uc0ac\uc6a9\uc790\uac00 \uc120\ud0dd\ud55c \ud14c\ub9c8. \ub450 \ucd95 \ubaa8\ub450 \ub2e4\uc911 \uc120\ud0dd \ud5c8\uc6a9 (\uac01 1\uac1c \uc774\uc0c1).", + "file_type": "rationale", + "source_file": "src/data/theme_taxonomy.py", + "source_location": "L84", + "_origin": "ast" + }, + { + "id": "src_data_theme_taxonomy_rationale_106", + "label": "\ub450 \ucd95\uc758 \uc120\ud0dd\uc744 \ud3c9\ud0c4\ud654 (LLM \ud504\ub86c\ud504\ud2b8\uc6a9).", + "file_type": "rationale", + "source_file": "src/data/theme_taxonomy.py", + "source_location": "L106", + "_origin": "ast" + }, + { + "id": "src_data_theme_taxonomy_rationale_116", + "label": "\uc8fc\uc5b4\uc9c4 lcls_systm3 \ub610\ub294 content_type_id\uac00 place_type\uc5d0 \ubd80\ud569\ud558\ub294\uc9c0 \ud310\uc815. \uc608)\u2026", + "file_type": "rationale", + "source_file": "src/data/theme_taxonomy.py", + "source_location": "L116", + "_origin": "ast" + }, + { + "id": "src_data_theme_taxonomy_rationale_144", + "label": "\uc8fc\uc5b4\uc9c4 \ucf54\ub4dc\uac00 \ub9e4\uce6d\ub418\ub294 \ubaa8\ub4e0 PLACE_TYPE \ubc18\ud658 (\ud55c POI\uac00 \uc5ec\ub7ec \uc720\ud615\uc5d0 \uc18d\ud560 \uc218 \uc788\uc74c).", + "file_type": "rationale", + "source_file": "src/data/theme_taxonomy.py", + "source_location": "L144", + "_origin": "ast" + }, + { + "id": "src_data_tour_api", + "label": "tour_api.py", + "file_type": "code", + "source_file": "src/data/tour_api.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "src_data_tour_api_parse_usetime", + "label": "_parse_usetime()", + "file_type": "code", + "source_file": "src/data/tour_api.py", + "source_location": "L18", + "_origin": "ast" + }, + { + "id": "src_data_tour_api_extract_items", + "label": "_extract_items()", + "file_type": "code", + "source_file": "src/data/tour_api.py", + "source_location": "L27", + "_origin": "ast" + }, + { + "id": "src_data_tour_api_tourapiclient", + "label": "TourAPIClient", + "file_type": "code", + "source_file": "src/data/tour_api.py", + "source_location": "L38", + "_origin": "ast" + }, + { + "id": "src_data_tour_api_tourapiclient_init", + "label": ".__init__()", + "file_type": "code", + "source_file": "src/data/tour_api.py", + "source_location": "L48", + "_origin": "ast" + }, + { + "id": "src_data_tour_api_tourapiclient_from_settings", + "label": ".from_settings()", + "file_type": "code", + "source_file": "src/data/tour_api.py", + "source_location": "L62", + "_origin": "ast" + }, + { + "id": "src_data_tour_api_tourapiclient_search_poi", + "label": ".search_poi()", + "file_type": "code", + "source_file": "src/data/tour_api.py", + "source_location": "L70", + "_origin": "ast" + }, + { + "id": "src_data_tour_api_tourapiclient_get_operating_hours", + "label": ".get_operating_hours()", + "file_type": "code", + "source_file": "src/data/tour_api.py", + "source_location": "L123", + "_origin": "ast" + }, + { + "id": "src_data_tour_api_tourapiclient_clear_cache", + "label": ".clear_cache()", + "file_type": "code", + "source_file": "src/data/tour_api.py", + "source_location": "L157", + "_origin": "ast" + }, + { + "id": "src_data_tour_api_rationale_1", + "label": "\ud55c\uad6d\uad00\uad11\uacf5\uc0ac TourAPI v2 \ube44\ub3d9\uae30 \ud074\ub77c\uc774\uc5b8\ud2b8 (httpx + Graceful Fallback).", + "file_type": "rationale", + "source_file": "src/data/tour_api.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "src_data_tour_api_rationale_19", + "label": "09:00 ~ 18:00' \ud615\ud0dc\uc5d0\uc11c (open, close) \ud30c\uc2f1. \uc2e4\ud328 \uc2dc \ud3f4\ubc31.", + "file_type": "rationale", + "source_file": "src/data/tour_api.py", + "source_location": "L19", + "_origin": "ast" + }, + { + "id": "src_data_tour_api_rationale_28", + "label": "TourAPI \uc751\ub2f5 JSON\uc5d0\uc11c item \ub9ac\uc2a4\ud2b8 \ucd94\ucd9c.", + "file_type": "rationale", + "source_file": "src/data/tour_api.py", + "source_location": "L28", + "_origin": "ast" + }, + { + "id": "src_data_tour_api_rationale_39", + "label": "\ud55c\uad6d\uad00\uad11\uacf5\uc0ac TourAPI v2 \ube44\ub3d9\uae30 \ud074\ub77c\uc774\uc5b8\ud2b8. \ubaa8\ub4e0 \ud638\ucd9c\uc740 \uc2e4\ud328 \uc2dc Graceful Fallback: - search_poi \u2192 \ube48\u2026", + "file_type": "rationale", + "source_file": "src/data/tour_api.py", + "source_location": "L39", + "_origin": "ast" + }, + { + "id": "src_data_tour_api_rationale_63", + "label": "Settings\uc5d0\uc11c \ud0a4 \ub85c\ub4dc. \ud0a4 \uc5c6\uc73c\uba74 None \ubc18\ud658 (Graceful Fallback \uc9c4\uc785\uc810).", + "file_type": "rationale", + "source_file": "src/data/tour_api.py", + "source_location": "L63", + "_origin": "ast" + }, + { + "id": "src_data_tour_api_rationale_76", + "label": "\ud0a4\uc6cc\ub4dc\ub85c POI \uac80\uc0c9. \uc2e4\ud328 \uc2dc \ube48 \ub9ac\uc2a4\ud2b8 \ubc18\ud658.", + "file_type": "rationale", + "source_file": "src/data/tour_api.py", + "source_location": "L76", + "_origin": "ast" + }, + { + "id": "src_data_tour_api_rationale_128", + "label": "\uc6b4\uc601\uc2dc\uac04 \uc870\ud68c. \uc2e4\ud328 \ub610\ub294 \ub370\uc774\ud130 \uc5c6\uc73c\uba74 (\"00:00\", \"23:59\") \ubc18\ud658.", + "file_type": "rationale", + "source_file": "src/data/tour_api.py", + "source_location": "L128", + "_origin": "ast" + }, + { + "id": "src_data_wellness_api", + "label": "wellness_api.py", + "file_type": "code", + "source_file": "src/data/wellness_api.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "src_data_wellness_api_wellnessplace", + "label": "WellnessPlace", + "file_type": "code", + "source_file": "src/data/wellness_api.py", + "source_location": "L16", + "_origin": "ast" + }, + { + "id": "src_data_wellness_api_extract_items", + "label": "_extract_items()", + "file_type": "code", + "source_file": "src/data/wellness_api.py", + "source_location": "L27", + "_origin": "ast" + }, + { + "id": "src_data_wellness_api_safe_float", + "label": "_safe_float()", + "file_type": "code", + "source_file": "src/data/wellness_api.py", + "source_location": "L38", + "_origin": "ast" + }, + { + "id": "src_data_wellness_api_py_any", + "label": "Any", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast" + }, + { + "id": "src_data_wellness_api_wellnessapiclient", + "label": "WellnessAPIClient", + "file_type": "code", + "source_file": "src/data/wellness_api.py", + "source_location": "L45", + "_origin": "ast" + }, + { + "id": "src_data_wellness_api_wellnessapiclient_init", + "label": ".__init__()", + "file_type": "code", + "source_file": "src/data/wellness_api.py", + "source_location": "L51", + "_origin": "ast" + }, + { + "id": "src_data_wellness_api_wellnessapiclient_from_settings", + "label": ".from_settings()", + "file_type": "code", + "source_file": "src/data/wellness_api.py", + "source_location": "L58", + "_origin": "ast" + }, + { + "id": "src_data_wellness_api_wellnessapiclient_fetch_page", + "label": ".fetch_page()", + "file_type": "code", + "source_file": "src/data/wellness_api.py", + "source_location": "L66", + "_origin": "ast" + }, + { + "id": "src_data_wellness_api_wellnessapiclient_fetch_all", + "label": ".fetch_all()", + "file_type": "code", + "source_file": "src/data/wellness_api.py", + "source_location": "L117", + "_origin": "ast" + }, + { + "id": "src_data_wellness_api_rationale_1", + "label": "\ud55c\uad6d\uad00\uad11\uacf5\uc0ac \uc6f0\ub2c8\uc2a4 \uad00\uad11 \uc815\ubcf4 API \ud074\ub77c\uc774\uc5b8\ud2b8 (B551011/WellnessTursmService).", + "file_type": "rationale", + "source_file": "src/data/wellness_api.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "src_data_wellness_api_rationale_46", + "label": "\uc6f0\ub2c8\uc2a4 \uad00\uad11 \uc815\ubcf4 API \u2014 \ube44\ub3d9\uae30 \ud074\ub77c\uc774\uc5b8\ud2b8. Graceful Fallback: API \ud638\ucd9c \uc2e4\ud328 \uc2dc \ube48 \ub9ac\uc2a4\ud2b8 \ubc18\ud658.", + "file_type": "rationale", + "source_file": "src/data/wellness_api.py", + "source_location": "L46", + "_origin": "ast" + }, + { + "id": "src_data_wellness_api_rationale_118", + "label": "\uc804\uccb4 \uc6f0\ub2c8\uc2a4 \uad00\uad11 \ubaa9\ub85d \uc870\ud68c (\ud398\uc774\uc9c0 \uc21c\ud68c).", + "file_type": "rationale", + "source_file": "src/data/wellness_api.py", + "source_location": "L118", + "_origin": "ast" + }, + { + "id": "src_explain_init", + "label": "explain/__init__.py", + "file_type": "code", + "source_file": "src/explain/__init__.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "src_explain_explain_engine", + "label": "explain_engine.py", + "file_type": "code", + "source_file": "src/explain/explain_engine.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "src_explain_explain_engine_lrucache", + "label": "_LRUCache", + "file_type": "code", + "source_file": "src/explain/explain_engine.py", + "source_location": "L44", + "_origin": "ast" + }, + { + "id": "src_explain_explain_engine_lrucache_init", + "label": ".__init__()", + "file_type": "code", + "source_file": "src/explain/explain_engine.py", + "source_location": "L47", + "_origin": "ast" + }, + { + "id": "src_explain_explain_engine_lrucache_contains", + "label": ".__contains__()", + "file_type": "code", + "source_file": "src/explain/explain_engine.py", + "source_location": "L51", + "_origin": "ast" + }, + { + "id": "src_explain_explain_engine_lrucache_getitem", + "label": ".__getitem__()", + "file_type": "code", + "source_file": "src/explain/explain_engine.py", + "source_location": "L54", + "_origin": "ast" + }, + { + "id": "src_explain_explain_engine_lrucache_setitem", + "label": ".__setitem__()", + "file_type": "code", + "source_file": "src/explain/explain_engine.py", + "source_location": "L58", + "_origin": "ast" + }, + { + "id": "src_explain_explain_engine_lrucache_clear", + "label": ".clear()", + "file_type": "code", + "source_file": "src/explain/explain_engine.py", + "source_location": "L65", + "_origin": "ast" + }, + { + "id": "src_explain_explain_engine_cache_key", + "label": "_cache_key()", + "file_type": "code", + "source_file": "src/explain/explain_engine.py", + "source_location": "L171", + "_origin": "ast" + }, + { + "id": "src_explain_explain_engine_graph_context", + "label": "_graph_context()", + "file_type": "code", + "source_file": "src/explain/explain_engine.py", + "source_location": "L187", + "_origin": "ast" + }, + { + "id": "src_explain_explain_engine_find_alternatives", + "label": "_find_alternatives()", + "file_type": "code", + "source_file": "src/explain/explain_engine.py", + "source_location": "L205", + "_origin": "ast" + }, + { + "id": "src_explain_explain_engine_build_user_prompt", + "label": "_build_user_prompt()", + "file_type": "code", + "source_file": "src/explain/explain_engine.py", + "source_location": "L215", + "_origin": "ast" + }, + { + "id": "src_explain_explain_engine_parse_llm_response", + "label": "_parse_llm_response()", + "file_type": "code", + "source_file": "src/explain/explain_engine.py", + "source_location": "L331", + "_origin": "ast" + }, + { + "id": "src_explain_explain_engine_fallback", + "label": "_fallback()", + "file_type": "code", + "source_file": "src/explain/explain_engine.py", + "source_location": "L353", + "_origin": "ast" + }, + { + "id": "src_explain_explain_engine_explainengine", + "label": "ExplainEngine", + "file_type": "code", + "source_file": "src/explain/explain_engine.py", + "source_location": "L416", + "_origin": "ast" + }, + { + "id": "src_explain_explain_engine_explainengine_init", + "label": ".__init__()", + "file_type": "code", + "source_file": "src/explain/explain_engine.py", + "source_location": "L419", + "_origin": "ast" + }, + { + "id": "src_explain_explain_engine_py_any", + "label": "Any", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast" + }, + { + "id": "src_explain_explain_engine_explainengine_is_available", + "label": ".is_available()", + "file_type": "code", + "source_file": "src/explain/explain_engine.py", + "source_location": "L438", + "_origin": "ast" + }, + { + "id": "src_explain_explain_engine_explainengine_build_alternatives", + "label": ".build_alternatives()", + "file_type": "code", + "source_file": "src/explain/explain_engine.py", + "source_location": "L441", + "_origin": "ast" + }, + { + "id": "src_explain_explain_engine_explainengine_generate", + "label": ".generate()", + "file_type": "code", + "source_file": "src/explain/explain_engine.py", + "source_location": "L452", + "_origin": "ast" + }, + { + "id": "src_explain_explain_engine_explainengine_call_llm", + "label": "._call_llm()", + "file_type": "code", + "source_file": "src/explain/explain_engine.py", + "source_location": "L526", + "_origin": "ast" + }, + { + "id": "src_explain_explain_engine_rationale_1", + "label": "ExplainEngine \u2014 Claude API \uae30\ubc18 4\ub2e8\uacc4 \uc790\uc5f0\uc5b4 \uc124\uba85 \uc0dd\uc131\uae30. \uac80\uc99d \uc5d4\uc9c4\uc774 \ud0d0\uc9c0\ud55c Hard Fail / Warning /\u2026", + "file_type": "rationale", + "source_file": "src/explain/explain_engine.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "src_explain_explain_engine_rationale_45", + "label": "\ucd5c\ub300 \ud06c\uae30 \uc81c\ud55c LRU \uce90\uc2dc \u2014 collections.OrderedDict \uae30\ubc18 (\uc678\ubd80 \uc758\uc874\uc131 \uc5c6\uc74c).", + "file_type": "rationale", + "source_file": "src/explain/explain_engine.py", + "source_location": "L45", + "_origin": "ast" + }, + { + "id": "src_explain_explain_engine_rationale_188", + "label": "\uc9c0\uc2dd\uadf8\ub798\ud504\uc5d0\uc11c POI\uba85 \uac80\uc0c9 \u2192 \uc9c0\uc5ed/\uce74\ud14c\uace0\ub9ac + \ub3c4\ubcf4 \uadfc\uc811 \ub300\uc548 \uadfc\uac70. \uadf8\ub798\ud504 \ubbf8\uc124\uc815\uc774\uac70\ub098 \ub9e4\uce6d \uc2e4\ud328(\ub300\uc0c1 \uc9c0\uc5ed \ubc16 POI \ub4f1) \uc2dc None\u2026", + "file_type": "rationale", + "source_file": "src/explain/explain_engine.py", + "source_location": "L188", + "_origin": "ast" + }, + { + "id": "src_explain_explain_engine_rationale_206", + "label": "\uc9c0\uc2dd\uadf8\ub798\ud504\uc5d0\uc11c POI\uba85 \uac80\uc0c9 \u2192 \ub3c4\ubcf4 \uadfc\uc811 \ub300\uc548 POI \ubaa9\ub85d. \ubbf8\ub9e4\uce6d/\ubbf8\uc124\uc815 \uc2dc \ube48 \ub9ac\uc2a4\ud2b8.", + "file_type": "rationale", + "source_file": "src/explain/explain_engine.py", + "source_location": "L206", + "_origin": "ast" + }, + { + "id": "src_explain_explain_engine_rationale_417", + "label": "LLM \uae30\ubc18 4\ub2e8\uacc4 \uc124\uba85 \uc0dd\uc131 \uc5d4\uc9c4. External I/O = Claude API.", + "file_type": "rationale", + "source_file": "src/explain/explain_engine.py", + "source_location": "L417", + "_origin": "ast" + }, + { + "id": "src_explain_explain_engine_rationale_442", + "label": "Hard Fail POI\ubcc4 \uc9c0\uc2dd\uadf8\ub798\ud504 \ub3c4\ubcf4\uad8c \ub300\uc548 \u2014 \uacb0\uacfc\ubcf4\uace0\uc11c\uc758 \ub300\uccb4 \uc81c\uc548 \uadfc\uac70.", + "file_type": "rationale", + "source_file": "src/explain/explain_engine.py", + "source_location": "L442", + "_origin": "ast" + }, + { + "id": "src_explain_pipeline", + "label": "pipeline.py", + "file_type": "code", + "source_file": "src/explain/pipeline.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "src_explain_pipeline_to_vrptw_day", + "label": "_to_vrptw_day()", + "file_type": "code", + "source_file": "src/explain/pipeline.py", + "source_location": "L53", + "_origin": "ast" + }, + { + "id": "src_explain_pipeline_to_poi_with_category", + "label": "_to_poi_with_category()", + "file_type": "code", + "source_file": "src/explain/pipeline.py", + "source_location": "L70", + "_origin": "ast" + }, + { + "id": "src_explain_pipeline_scorebundle", + "label": "_ScoreBundle", + "file_type": "code", + "source_file": "src/explain/pipeline.py", + "source_location": "L83", + "_origin": "ast" + }, + { + "id": "src_explain_pipeline_validatorpipeline", + "label": "ValidatorPipeline", + "file_type": "code", + "source_file": "src/explain/pipeline.py", + "source_location": "L100", + "_origin": "ast" + }, + { + "id": "src_explain_pipeline_validatorpipeline_init", + "label": ".__init__()", + "file_type": "code", + "source_file": "src/explain/pipeline.py", + "source_location": "L103", + "_origin": "ast" + }, + { + "id": "src_explain_pipeline_validatorpipeline_run", + "label": ".run()", + "file_type": "code", + "source_file": "src/explain/pipeline.py", + "source_location": "L119", + "_origin": "ast" + }, + { + "id": "src_explain_pipeline_validatorpipeline_score", + "label": "._score()", + "file_type": "code", + "source_file": "src/explain/pipeline.py", + "source_location": "L235", + "_origin": "ast" + }, + { + "id": "src_explain_pipeline_validatorpipeline_estimate_repair_gains", + "label": "._estimate_repair_gains()", + "file_type": "code", + "source_file": "src/explain/pipeline.py", + "source_location": "L349", + "_origin": "ast" + }, + { + "id": "src_explain_pipeline_rationale_1", + "label": "ValidatorPipeline \u2014 \uc804\uccb4 QA \ud30c\uc774\ud504\ub77c\uc778 \uc624\ucf00\uc2a4\ud2b8\ub808\uc774\ud130. \ud750\ub984: 1. per-day HardFail \ud0d0\uc9c0 2. Warning\u2026", + "file_type": "rationale", + "source_file": "src/explain/pipeline.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "src_explain_pipeline_rationale_54", + "label": "POI \ub9ac\uc2a4\ud2b8 \u2192 VRPTWDay \ubcc0\ud658.", + "file_type": "rationale", + "source_file": "src/explain/pipeline.py", + "source_location": "L54", + "_origin": "ast" + }, + { + "id": "src_explain_pipeline_rationale_84", + "label": "1\u00b73\u00b73b\u00b74\u00b75\u00b76\u00b77\u00b78\ub2e8\uacc4(\uc810\uc218 \uacc4\uc0b0)\ub9cc\uc758 \uacb0\uacfc. Warning\u00b7Repair\u00b7Explain \ubbf8\ud3ec\ud568.", + "file_type": "rationale", + "source_file": "src/explain/pipeline.py", + "source_location": "L84", + "_origin": "ast" + }, + { + "id": "src_explain_pipeline_rationale_101", + "label": "\uc804\uccb4 \uac80\uc99d \ud30c\uc774\ud504\ub77c\uc778. External I/O = Claude API (ExplainEngine\u00b7ThemeAlignmentJudge).", + "file_type": "rationale", + "source_file": "src/explain/pipeline.py", + "source_location": "L101", + "_origin": "ast" + }, + { + "id": "src_explain_pipeline_rationale_128", + "label": "\ud30c\uc774\ud504\ub77c\uc778 \uc2e4\ud589 \u2192 ValidationResult \ubc18\ud658. Args: plan: \uc5ec\ud589 \uacc4\ud68d (party_type, travel_type,\u2026", + "file_type": "rationale", + "source_file": "src/explain/pipeline.py", + "source_location": "L128", + "_origin": "ast" + }, + { + "id": "src_explain_pipeline_rationale_244", + "label": "1\u00b73\u00b73b\u00b74\u00b75\u00b76\u00b77\u00b78\ub2e8\uacc4\ub9cc \uc2e4\ud589\ud574 \uc810\uc218\ub97c \uacc4\uc0b0\ud55c\ub2e4 (Warning\u00b7Repair\u00b7Explain \uc81c\uc678). RepairEngine \uc81c\uc548\uc758\u2026", + "file_type": "rationale", + "source_file": "src/explain/pipeline.py", + "source_location": "L244", + "_origin": "ast" + }, + { + "id": "src_explain_pipeline_rationale_357", + "label": "\uad50\uc815 \uc81c\uc548\ubcc4 \uc608\uc0c1 \uc810\uc218 \ubcc0\ud654(`estimated_score_gain`)\uc640 \ubb38\uc81c \ud574\uc18c \uc5ec\ubd80(`resolves_hard_fail`)\ub97c \ucc44\uc6b4\ub2e4.\u2026", + "file_type": "rationale", + "source_file": "src/explain/pipeline.py", + "source_location": "L357", + "_origin": "ast" + }, + { + "id": "src_explain_plan_extractor", + "label": "plan_extractor.py", + "file_type": "code", + "source_file": "src/explain/plan_extractor.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "src_explain_plan_extractor_planextractionerror", + "label": "PlanExtractionError", + "file_type": "code", + "source_file": "src/explain/plan_extractor.py", + "source_location": "L60", + "_origin": "ast" + }, + { + "id": "src_explain_plan_extractor_py_exception", + "label": "Exception", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast" + }, + { + "id": "src_explain_plan_extractor_strip_fence", + "label": "_strip_fence()", + "file_type": "code", + "source_file": "src/explain/plan_extractor.py", + "source_location": "L64", + "_origin": "ast" + }, + { + "id": "src_explain_plan_extractor_parse_response", + "label": "_parse_response()", + "file_type": "code", + "source_file": "src/explain/plan_extractor.py", + "source_location": "L68", + "_origin": "ast" + }, + { + "id": "src_explain_plan_extractor_fallback_text_parse", + "label": "_fallback_text_parse()", + "file_type": "code", + "source_file": "src/explain/plan_extractor.py", + "source_location": "L80", + "_origin": "ast" + }, + { + "id": "src_explain_plan_extractor_planextractor", + "label": "PlanExtractor", + "file_type": "code", + "source_file": "src/explain/plan_extractor.py", + "source_location": "L103", + "_origin": "ast" + }, + { + "id": "src_explain_plan_extractor_planextractor_init", + "label": ".__init__()", + "file_type": "code", + "source_file": "src/explain/plan_extractor.py", + "source_location": "L106", + "_origin": "ast" + }, + { + "id": "src_explain_plan_extractor_py_any", + "label": "Any", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast" + }, + { + "id": "src_explain_plan_extractor_planextractor_from_env", + "label": ".from_env()", + "file_type": "code", + "source_file": "src/explain/plan_extractor.py", + "source_location": "L123", + "_origin": "ast" + }, + { + "id": "src_explain_plan_extractor_planextractor_is_available", + "label": ".is_available()", + "file_type": "code", + "source_file": "src/explain/plan_extractor.py", + "source_location": "L126", + "_origin": "ast" + }, + { + "id": "src_explain_plan_extractor_planextractor_extract_from_text", + "label": ".extract_from_text()", + "file_type": "code", + "source_file": "src/explain/plan_extractor.py", + "source_location": "L129", + "_origin": "ast" + }, + { + "id": "src_explain_plan_extractor_planextractor_extract_from_document", + "label": ".extract_from_document()", + "file_type": "code", + "source_file": "src/explain/plan_extractor.py", + "source_location": "L138", + "_origin": "ast" + }, + { + "id": "src_explain_plan_extractor_planextractor_call", + "label": "._call()", + "file_type": "code", + "source_file": "src/explain/plan_extractor.py", + "source_location": "L158", + "_origin": "ast" + }, + { + "id": "src_explain_plan_extractor_demo", + "label": "_demo()", + "file_type": "code", + "source_file": "src/explain/plan_extractor.py", + "source_location": "L177", + "_origin": "ast" + }, + { + "id": "src_explain_plan_extractor_rationale_1", + "label": "PlanExtractor \u2014 Claude API \uae30\ubc18 \uc5ec\ud589 \uc77c\uc815\ud45c \ud30c\uc2f1 \uc5d4\uc9c4. '\ub300\ud55c\ubbfc\uad6d\uad6c\uc11d\uad6c\uc11d'(AI\ucf55\ucf55\ud50c\ub798\ub108 \ub4f1)\uc5d0\uc11c \ub098\uc628 \uc5ec\ud589 \ucf54\uc2a4 \ucd94\ucc9c\u2026", + "file_type": "rationale", + "source_file": "src/explain/plan_extractor.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "src_explain_plan_extractor_rationale_61", + "label": "\ucd94\ucd9c \uc2e4\ud328 \u2014 API \ubbf8\uc124\uc815, \ud638\ucd9c \uc2e4\ud328, \uc751\ub2f5 \ud30c\uc2f1 \uc2e4\ud328 \ub4f1.", + "file_type": "rationale", + "source_file": "src/explain/plan_extractor.py", + "source_location": "L61", + "_origin": "ast" + }, + { + "id": "src_explain_plan_extractor_rationale_81", + "label": "ANTHROPIC_API_KEY \ubbf8\uc124\uc815 \uc2dc \ucd5c\uc18c\ud55c\uc758 \uc904 \ub2e8\uc704 \ud734\ub9ac\uc2a4\ud2f1 \ud30c\uc2f1. ponytail: day/\uce74\ud14c\uace0\ub9ac \ud0dc\uadf8 \uc778\uc2dd \uc5c6\ub294 \ub2e8\uc21c \ub77c\uc778\u2026", + "file_type": "rationale", + "source_file": "src/explain/plan_extractor.py", + "source_location": "L81", + "_origin": "ast" + }, + { + "id": "src_explain_plan_extractor_rationale_104", + "label": "LLM \uae30\ubc18 \uc77c\uc815\ud45c \ucd94\ucd9c\uae30. External I/O = Claude API.", + "file_type": "rationale", + "source_file": "src/explain/plan_extractor.py", + "source_location": "L104", + "_origin": "ast" + }, + { + "id": "src_explain_plan_extractor_rationale_130", + "label": "\ubd99\uc5ec\ub123\uc740 \ud14d\uc2a4\ud2b8\ub97c \ucffc\ub9ac \ub9ac\ub77c\uc774\ud305\uc73c\ub85c \uc815\ub82c\ub41c day/place \uad6c\uc870\ub85c \ubcc0\ud658.", + "file_type": "rationale", + "source_file": "src/explain/plan_extractor.py", + "source_location": "L130", + "_origin": "ast" + }, + { + "id": "src_explain_plan_extractor_rationale_139", + "label": "PDF\u00b7PNG\u00b7JPG \ucea1\ucc98\ub97c Claude Vision\uc73c\ub85c \uc77d\uc5b4 day/place \uad6c\uc870\ub85c \ubcc0\ud658.", + "file_type": "rationale", + "source_file": "src/explain/plan_extractor.py", + "source_location": "L139", + "_origin": "ast" + }, + { + "id": "src_explain_repair", + "label": "repair.py", + "file_type": "code", + "source_file": "src/explain/repair.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "src_explain_repair_norm", + "label": "_norm()", + "file_type": "code", + "source_file": "src/explain/repair.py", + "source_location": "L30", + "_origin": "ast" + }, + { + "id": "src_explain_repair_min_dwell_for", + "label": "_min_dwell_for()", + "file_type": "code", + "source_file": "src/explain/repair.py", + "source_location": "L34", + "_origin": "ast" + }, + { + "id": "src_explain_repair_reordersuggestion", + "label": "ReorderSuggestion", + "file_type": "code", + "source_file": "src/explain/repair.py", + "source_location": "L44", + "_origin": "ast" + }, + { + "id": "src_explain_repair_timetunesuggestion", + "label": "TimeTuneSuggestion", + "file_type": "code", + "source_file": "src/explain/repair.py", + "source_location": "L53", + "_origin": "ast" + }, + { + "id": "src_explain_repair_deletionsuggestion", + "label": "DeletionSuggestion", + "file_type": "code", + "source_file": "src/explain/repair.py", + "source_location": "L63", + "_origin": "ast" + }, + { + "id": "src_explain_repair_repairresult", + "label": "RepairResult", + "file_type": "code", + "source_file": "src/explain/repair.py", + "source_location": "L74", + "_origin": "ast" + }, + { + "id": "src_explain_repair_repairresult_is_empty", + "label": ".is_empty()", + "file_type": "code", + "source_file": "src/explain/repair.py", + "source_location": "L80", + "_origin": "ast" + }, + { + "id": "src_explain_repair_repairresult_total_estimated_gain", + "label": ".total_estimated_gain()", + "file_type": "code", + "source_file": "src/explain/repair.py", + "source_location": "L84", + "_origin": "ast" + }, + { + "id": "src_explain_repair_repairresult_to_dict", + "label": ".to_dict()", + "file_type": "code", + "source_file": "src/explain/repair.py", + "source_location": "L95", + "_origin": "ast" + }, + { + "id": "src_explain_repair_repairengine", + "label": "RepairEngine", + "file_type": "code", + "source_file": "src/explain/repair.py", + "source_location": "L101", + "_origin": "ast" + }, + { + "id": "src_explain_repair_repairengine_init", + "label": ".__init__()", + "file_type": "code", + "source_file": "src/explain/repair.py", + "source_location": "L104", + "_origin": "ast" + }, + { + "id": "src_explain_repair_repairengine_repair", + "label": ".repair()", + "file_type": "code", + "source_file": "src/explain/repair.py", + "source_location": "L108", + "_origin": "ast" + }, + { + "id": "src_explain_repair_repairengine_try_reorder", + "label": "._try_reorder()", + "file_type": "code", + "source_file": "src/explain/repair.py", + "source_location": "L142", + "_origin": "ast" + }, + { + "id": "src_explain_repair_repairengine_try_time_tune", + "label": "._try_time_tune()", + "file_type": "code", + "source_file": "src/explain/repair.py", + "source_location": "L171", + "_origin": "ast" + }, + { + "id": "src_explain_repair_repairengine_suggest_deletion", + "label": "._suggest_deletion()", + "file_type": "code", + "source_file": "src/explain/repair.py", + "source_location": "L224", + "_origin": "ast" + }, + { + "id": "src_explain_repair_rationale_1", + "label": "Minimal Interference Repair Engine. \uad50\uc815 \uc6b0\uc120\uc21c\uc704 (Hard Fail \ubc1c\uc0dd \uc2dc \uc21c\uc11c\ub300\ub85c \uc2dc\ub3c4): 1. Re-\u2026", + "file_type": "rationale", + "source_file": "src/explain/repair.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "src_explain_repair_rationale_35", + "label": "dwell_db \uae30\uc900 \ucd5c\uc18c \uad8c\uc7a5 \uccb4\ub958 \uc2dc\uac04 (50% \uae30\uc900, \uc808\ub300 \ucd5c\uc19f\uac12 20\ubd84).", + "file_type": "rationale", + "source_file": "src/explain/repair.py", + "source_location": "L35", + "_origin": "ast" + }, + { + "id": "src_explain_repair_rationale_85", + "label": "\ubaa8\ub4e0 \uc81c\uc548\uc744 \uc801\uc6a9\ud588\uc744 \ub54c \uc608\uc0c1 \ucd1d \uc810\uc218 \uc0c1\uc2b9\ubd84. \uac19\uc740 \ub0a0\uc9dc\uc758 \uc81c\uc548\ub4e4\uc740 \uc11c\ub85c \ub300\uc548(\ud558\ub098\ub9cc \uc801\uc6a9)\uc774\ubbc0\ub85c \ucd5c\ub313\uac12\ub9cc \ucde8\ud558\uace0, \uc11c\ub85c \ub2e4\ub978 \ub0a0\uc9dc\uc758 \uc81c\uc548\uc740\u2026", + "file_type": "rationale", + "source_file": "src/explain/repair.py", + "source_location": "L85", + "_origin": "ast" + }, + { + "id": "src_explain_repair_rationale_102", + "label": "Minimal Interference \uad50\uc815 \uc5d4\uc9c4. External I/O \uc5c6\uc74c.", + "file_type": "rationale", + "source_file": "src/explain/repair.py", + "source_location": "L102", + "_origin": "ast" + }, + { + "id": "src_explain_repair_rationale_115", + "label": "3\ub2e8\uacc4 \uad50\uc815 \uc2dc\ub3c4. Hard Fail\uc774 \uc5c6\uc73c\uba74 \uc989\uc2dc \ube48 \uacb0\uacfc \ubc18\ud658.", + "file_type": "rationale", + "source_file": "src/explain/repair.py", + "source_location": "L115", + "_origin": "ast" + }, + { + "id": "src_explain_repair_rationale_149", + "label": "n \u2264 7\uc778 \uacbd\uc6b0 \uc21c\uc5f4 \uc804\uc218 \ud0d0\uc0c9\uc73c\ub85c Hard Fail \uc5c6\ub294 \uc21c\uc11c \ubc18\ud658.", + "file_type": "rationale", + "source_file": "src/explain/repair.py", + "source_location": "L149", + "_origin": "ast" + }, + { + "id": "src_explain_repair_rationale_178", + "label": "\uccb4\ub958 \uc2dc\uac04\uc744 \ucd5c\uc19f\uac12\uae4c\uc9c0 5\ubd84 \ub2e8\uc704\ub85c \uc904\uc5ec \uc77c\uc815 \uacfc\ubc00 \uc644\ud654.", + "file_type": "rationale", + "source_file": "src/explain/repair.py", + "source_location": "L178", + "_origin": "ast" + }, + { + "id": "src_explain_repair_rationale_229", + "label": "\uc774\ub3d9 \uac70\ub9ac \uc808\uac10\ub7c9\uc774 \ucd5c\ub300\uc778 \uc7a5\uc18c(\uc9c0\ub9ac\uc801 \uc774\uc0c1\uce58)\ub97c \uc0ad\uc81c \ud6c4\ubcf4\ub85c \uc81c\uc548. \uc0ad\uc81c \ube44\uc6a9 = \uc81c\uac70 \uc2dc \uc774\ub3d9 \uc808\uac10(before\u2192i + i\u2192after) -\u2026", + "file_type": "rationale", + "source_file": "src/explain/repair.py", + "source_location": "L229", + "_origin": "ast" + }, + { + "id": "src_matrix_init", + "label": "matrix/__init__.py", + "file_type": "code", + "source_file": "src/matrix/__init__.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "src_matrix_init_rationale_1", + "label": "matrix \u2014 \uc774\ub3d9\uc2dc\uac04 \ud589\ub82c \uad6c\ud604\uccb4 \ud328\ud0a4\uc9c0.", + "file_type": "rationale", + "source_file": "src/matrix/__init__.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "src_matrix_redis_matrix", + "label": "redis_matrix.py", + "file_type": "code", + "source_file": "src/matrix/redis_matrix.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "src_matrix_redis_matrix_redistimematrix", + "label": "RedisTimeMatrix", + "file_type": "code", + "source_file": "src/matrix/redis_matrix.py", + "source_location": "L35", + "_origin": "ast" + }, + { + "id": "src_matrix_redis_matrix_redistimematrix_init", + "label": ".__init__()", + "file_type": "code", + "source_file": "src/matrix/redis_matrix.py", + "source_location": "L43", + "_origin": "ast" + }, + { + "id": "src_matrix_redis_matrix_redistimematrix_from_env", + "label": ".from_env()", + "file_type": "code", + "source_file": "src/matrix/redis_matrix.py", + "source_location": "L56", + "_origin": "ast" + }, + { + "id": "src_matrix_redis_matrix_py_path", + "label": "Path", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast" + }, + { + "id": "src_matrix_redis_matrix_redistimematrix_load_dotenv", + "label": "._load_dotenv()", + "file_type": "code", + "source_file": "src/matrix/redis_matrix.py", + "source_location": "L82", + "_origin": "ast" + }, + { + "id": "src_matrix_redis_matrix_redistimematrix_get_travel_time", + "label": ".get_travel_time()", + "file_type": "code", + "source_file": "src/matrix/redis_matrix.py", + "source_location": "L92", + "_origin": "ast" + }, + { + "id": "src_matrix_redis_matrix_redistimematrix_set_travel_time", + "label": ".set_travel_time()", + "file_type": "code", + "source_file": "src/matrix/redis_matrix.py", + "source_location": "L110", + "_origin": "ast" + }, + { + "id": "src_matrix_redis_matrix_redistimematrix_make_key", + "label": "._make_key()", + "file_type": "code", + "source_file": "src/matrix/redis_matrix.py", + "source_location": "L130", + "_origin": "ast" + }, + { + "id": "src_matrix_redis_matrix_redistimematrix_stats", + "label": ".stats()", + "file_type": "code", + "source_file": "src/matrix/redis_matrix.py", + "source_location": "L138", + "_origin": "ast" + }, + { + "id": "src_matrix_redis_matrix_redistimematrix_is_available", + "label": ".is_available()", + "file_type": "code", + "source_file": "src/matrix/redis_matrix.py", + "source_location": "L142", + "_origin": "ast" + }, + { + "id": "src_matrix_redis_matrix_rationale_1", + "label": "Redis \uae30\ubc18 TimeMatrix \u2014 REDIS_URL \ud658\uacbd\ubcc0\uc218\ub85c \uc790\ub3d9 \ud65c\uc131\ud654. KakaoMobilityMatrix\uc758 drop-in \ub300\uccb4\uc7ac:\u2026", + "file_type": "rationale", + "source_file": "src/matrix/redis_matrix.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "src_matrix_redis_matrix_rationale_36", + "label": "Redis \uae30\ubc18 TimeMatrix. redis-py\uac00 \uc124\uce58\ub418\uc5b4 \uc788\uace0 REDIS_URL\uc774 \uc720\ud6a8\ud560 \ub54c\ub9cc \ub3d9\uc791. get_travel_time\uc740\u2026", + "file_type": "rationale", + "source_file": "src/matrix/redis_matrix.py", + "source_location": "L36", + "_origin": "ast" + }, + { + "id": "src_matrix_redis_matrix_rationale_60", + "label": "REDIS_URL \ud658\uacbd\ubcc0\uc218\uac00 \uc788\uc73c\uba74 \uc778\uc2a4\ud134\uc2a4 \ubc18\ud658, \uc5c6\uc73c\uba74 None.", + "file_type": "rationale", + "source_file": "src/matrix/redis_matrix.py", + "source_location": "L60", + "_origin": "ast" + }, + { + "id": "src_scoring_init", + "label": "scoring/__init__.py", + "file_type": "code", + "source_file": "src/scoring/__init__.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "src_scoring_init_rationale_1", + "label": "\ud488\uc9c8 \ud3c9\uac00 (Scoring) \ub808\uc774\uc5b4. VRPTW \uac80\uc99d\uc744 \ud1b5\uacfc\ud55c \uc77c\uc815\uc5d0 \ub300\ud574 \"\uc5bc\ub9c8\ub098 \uc88b\uc740 \uacbd\ub85c\uc778\uac00\" \ud3c9\uac00: - travel_ratio : \uc774\ub3d9\u2026", + "file_type": "rationale", + "source_file": "src/scoring/__init__.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "src_scoring_bonus_engine", + "label": "bonus_engine.py", + "file_type": "code", + "source_file": "src/scoring/bonus_engine.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "src_scoring_bonus_engine_bonusresult", + "label": "BonusResult", + "file_type": "code", + "source_file": "src/scoring/bonus_engine.py", + "source_location": "L23", + "_origin": "ast" + }, + { + "id": "src_scoring_bonus_engine_placecoord", + "label": "_PlaceCoord", + "file_type": "code", + "source_file": "src/scoring/bonus_engine.py", + "source_location": "L34", + "_origin": "ast" + }, + { + "id": "src_scoring_bonus_engine_bonusengine", + "label": "BonusEngine", + "file_type": "code", + "source_file": "src/scoring/bonus_engine.py", + "source_location": "L39", + "_origin": "ast" + }, + { + "id": "src_scoring_bonus_engine_bonusengine_init", + "label": ".__init__()", + "file_type": "code", + "source_file": "src/scoring/bonus_engine.py", + "source_location": "L46", + "_origin": "ast" + }, + { + "id": "src_scoring_bonus_engine_bonusengine_from_dataset", + "label": ".from_dataset()", + "file_type": "code", + "source_file": "src/scoring/bonus_engine.py", + "source_location": "L55", + "_origin": "ast" + }, + { + "id": "src_scoring_bonus_engine_py_path", + "label": "Path", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast" + }, + { + "id": "src_scoring_bonus_engine_bonusengine_compute", + "label": ".compute()", + "file_type": "code", + "source_file": "src/scoring/bonus_engine.py", + "source_location": "L82", + "_origin": "ast" + }, + { + "id": "src_scoring_bonus_engine_nearest_km", + "label": "_nearest_km()", + "file_type": "code", + "source_file": "src/scoring/bonus_engine.py", + "source_location": "L134", + "_origin": "ast" + }, + { + "id": "src_scoring_bonus_engine_rationale_1", + "label": "\uac00\uc0b0\uc810 \uc5d4\uc9c4 \u2014 \uc6f0\ub2c8\uc2a4\u00b7\ubb34\uc7a5\uc560 \uc5ec\ud589\uc9c0 \ubc29\ubb38 \ubcf4\ub108\uc2a4.", + "file_type": "rationale", + "source_file": "src/scoring/bonus_engine.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "src_scoring_bonus_engine_rationale_40", + "label": "\uc6f0\ub2c8\uc2a4\u00b7\ubb34\uc7a5\uc560 \uc7a5\uc18c \ub370\uc774\ud130\uc14b \uae30\ubc18 \uac00\uc0b0\uc810 \uacc4\uc0b0\uae30. from_dataset() \ub85c JSON \ub370\uc774\ud130\uc14b\uc744 \ub85c\ub4dc\ud558\uc5ec \uc778\uc2a4\ud134\uc2a4 \uc0dd\uc131. External\u2026", + "file_type": "rationale", + "source_file": "src/scoring/bonus_engine.py", + "source_location": "L40", + "_origin": "ast" + }, + { + "id": "src_scoring_bonus_engine_rationale_60", + "label": "\ub85c\uceec JSON \ub370\uc774\ud130\uc14b\uc5d0\uc11c \ub85c\ub4dc. \ud30c\uc77c \uc5c6\uc73c\uba74 \ube48 \uc5d4\uc9c4 \ubc18\ud658.", + "file_type": "rationale", + "source_file": "src/scoring/bonus_engine.py", + "source_location": "L60", + "_origin": "ast" + }, + { + "id": "src_scoring_bonus_engine_rationale_88", + "label": "POI \ubaa9\ub85d\uc5d0\uc11c \uac00\uc0b0\uc810 \uacc4\uc0b0. - \uc6f0\ub2c8\uc2a4 \uc7a5\uc18c: \ubaa8\ub4e0 party_type\uc5d0 \uc801\uc6a9. - \ubb34\uc7a5\uc560 \uc7a5\uc18c:\u2026", + "file_type": "rationale", + "source_file": "src/scoring/bonus_engine.py", + "source_location": "L88", + "_origin": "ast" + }, + { + "id": "src_scoring_bonus_engine_rationale_135", + "label": "POI\uc640 \uac00\uc7a5 \uac00\uae4c\uc6b4 \uc88c\ud45c\uae4c\uc9c0\uc758 \uac70\ub9ac(km). coords\uac00 \ube44\uc5b4\uc788\uc73c\uba74 inf \ubc18\ud658.", + "file_type": "rationale", + "source_file": "src/scoring/bonus_engine.py", + "source_location": "L135", + "_origin": "ast" + }, + { + "id": "src_scoring_cluster_dispersion", + "label": "cluster_dispersion.py", + "file_type": "code", + "source_file": "src/scoring/cluster_dispersion.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "src_scoring_cluster_dispersion_count_area_backtracks", + "label": "count_area_backtracks()", + "file_type": "code", + "source_file": "src/scoring/cluster_dispersion.py", + "source_location": "L64", + "_origin": "ast" + }, + { + "id": "src_scoring_cluster_dispersion_count_label_backtracks", + "label": "_count_label_backtracks()", + "file_type": "code", + "source_file": "src/scoring/cluster_dispersion.py", + "source_location": "L80", + "_origin": "ast" + }, + { + "id": "src_scoring_cluster_dispersion_count_geo_cluster_backtracks", + "label": "count_geo_cluster_backtracks()", + "file_type": "code", + "source_file": "src/scoring/cluster_dispersion.py", + "source_location": "L93", + "_origin": "ast" + }, + { + "id": "src_scoring_cluster_dispersion_daydispersionmetric", + "label": "DayDispersionMetric", + "file_type": "code", + "source_file": "src/scoring/cluster_dispersion.py", + "source_location": "L114", + "_origin": "ast" + }, + { + "id": "src_scoring_cluster_dispersion_clusterdispersionreport", + "label": "ClusterDispersionReport", + "file_type": "code", + "source_file": "src/scoring/cluster_dispersion.py", + "source_location": "L125", + "_origin": "ast" + }, + { + "id": "src_scoring_cluster_dispersion_compute_day_dispersion", + "label": "_compute_day_dispersion()", + "file_type": "code", + "source_file": "src/scoring/cluster_dispersion.py", + "source_location": "L131", + "_origin": "ast" + }, + { + "id": "src_scoring_cluster_dispersion_switch_penalty", + "label": "_switch_penalty()", + "file_type": "code", + "source_file": "src/scoring/cluster_dispersion.py", + "source_location": "L166", + "_origin": "ast" + }, + { + "id": "src_scoring_cluster_dispersion_distance_penalty", + "label": "_distance_penalty()", + "file_type": "code", + "source_file": "src/scoring/cluster_dispersion.py", + "source_location": "L174", + "_origin": "ast" + }, + { + "id": "src_scoring_cluster_dispersion_backtrack_penalty", + "label": "_backtrack_penalty()", + "file_type": "code", + "source_file": "src/scoring/cluster_dispersion.py", + "source_location": "L184", + "_origin": "ast" + }, + { + "id": "src_scoring_cluster_dispersion_geo_bt_penalty", + "label": "_geo_bt_penalty()", + "file_type": "code", + "source_file": "src/scoring/cluster_dispersion.py", + "source_location": "L192", + "_origin": "ast" + }, + { + "id": "src_scoring_cluster_dispersion_evaluate_cluster_dispersion", + "label": "evaluate_cluster_dispersion()", + "file_type": "code", + "source_file": "src/scoring/cluster_dispersion.py", + "source_location": "L202", + "_origin": "ast" + }, + { + "id": "src_scoring_cluster_dispersion_rationale_1", + "label": "\uacbd\ub85c \ubc00\uc9d1\ub3c4 / \ubc88\uac1c\ud328\ud134 \ud0d0\uc9c0 (\ubaa8\ub4c8 \u2465) \u2014 Per-day \uac80\uc99d. \uc0ac\uc6a9\uc790 \uc758\ub3c4 (Q3): \"1\uc77c\ucc28\uc5d0\ub294 \ubaa9\uc801\uc9c0 \uadfc\ucc98\ub85c, 2\uc77c\ucc28\uc5d0\ub294 \ub610 \ub2e4\ub978\u2026", + "file_type": "rationale", + "source_file": "src/scoring/cluster_dispersion.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "src_scoring_cluster_dispersion_rationale_65", + "label": "M3: \uc2dc\uad70\uad6c \uae30\ubc18 \ube44\uc5f0\uc18d \uad6c\uc5ed \uc7ac\uc9c4\uc785 \ud69f\uc218. \uac15\ub0a8\u2192\ud64d\ub300\u2192\uac15\ub0a8 = 1, \uc21c\ubc29\ud5a5 4\uad6c\uc5ed \uc21c\ud68c = 0.", + "file_type": "rationale", + "source_file": "src/scoring/cluster_dispersion.py", + "source_location": "L65", + "_origin": "ast" + }, + { + "id": "src_scoring_cluster_dispersion_rationale_81", + "label": "\ud074\ub7ec\uc2a4\ud130 \ub808\uc774\ube14 \ub9ac\uc2a4\ud2b8\uc5d0\uc11c \ube44\uc5f0\uc18d \uc7ac\uc9c4\uc785 \ud69f\uc218 \uacc4\uc0b0 (M4 \uacf5\uc6a9).", + "file_type": "rationale", + "source_file": "src/scoring/cluster_dispersion.py", + "source_location": "L81", + "_origin": "ast" + }, + { + "id": "src_scoring_cluster_dispersion_rationale_97", + "label": "M4: DBSCAN \uc9c0\ub9ac \ud074\ub7ec\uc2a4\ud130 \uae30\ubc18 \ube44\uc5f0\uc18d \uc7ac\uc9c4\uc785 \ud69f\uc218. M3(\uc2dc\uad70\uad6c \uae30\ubc18)\uac00 \uc7a1\uc9c0 \ubabb\ud558\ub294 \ub300\ud615 \uc2dc\uad70\uad6c \ub0b4\ubd80 \ubd84\uc0b0 \ucf00\uc774\uc2a4 \ubcf4\uc644.\u2026", + "file_type": "rationale", + "source_file": "src/scoring/cluster_dispersion.py", + "source_location": "L97", + "_origin": "ast" + }, + { + "id": "src_scoring_cluster_dispersion_rationale_193", + "label": "M4 \ud328\ub110\ud2f0. M3\uac00 \uc774\ubbf8 \uac19\uc740 \uc774\ubca4\ud2b8\ub97c \ud0d0\uc9c0\ud55c \uacbd\uc6b0 \uc911\ubcf5 \ubc29\uc9c0.", + "file_type": "rationale", + "source_file": "src/scoring/cluster_dispersion.py", + "source_location": "L193", + "_origin": "ast" + }, + { + "id": "src_scoring_cluster_dispersion_rationale_206", + "label": "\uc804\uccb4 \uc77c\uc815\uc758 per-day \ubc00\uc9d1\ub3c4 + \ud328\ub110\ud2f0 \uc0b0\ucd9c. sigungu_codes_per_day: [day_idx][place_idx] \uad6c\uc870.\u2026", + "file_type": "rationale", + "source_file": "src/scoring/cluster_dispersion.py", + "source_location": "L206", + "_origin": "ast" + }, + { + "id": "src_scoring_congestion_engine", + "label": "congestion_engine.py", + "file_type": "code", + "source_file": "src/scoring/congestion_engine.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "src_scoring_congestion_engine_congestionlevel", + "label": "CongestionLevel", + "file_type": "code", + "source_file": "src/scoring/congestion_engine.py", + "source_location": "L27", + "_origin": "ast" + }, + { + "id": "str", + "label": "str", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast" + }, + { + "id": "enum", + "label": "Enum", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast" + }, + { + "id": "src_scoring_congestion_engine_congestionresult", + "label": "CongestionResult", + "file_type": "code", + "source_file": "src/scoring/congestion_engine.py", + "source_location": "L35", + "_origin": "ast" + }, + { + "id": "src_scoring_congestion_engine_normalize", + "label": "_normalize()", + "file_type": "code", + "source_file": "src/scoring/congestion_engine.py", + "source_location": "L45", + "_origin": "ast" + }, + { + "id": "src_scoring_congestion_engine_score_to_level", + "label": "_score_to_level()", + "file_type": "code", + "source_file": "src/scoring/congestion_engine.py", + "source_location": "L49", + "_origin": "ast" + }, + { + "id": "src_scoring_congestion_engine_congestionengine", + "label": "CongestionEngine", + "file_type": "code", + "source_file": "src/scoring/congestion_engine.py", + "source_location": "L59", + "_origin": "ast" + }, + { + "id": "src_scoring_congestion_engine_congestionengine_init", + "label": ".__init__()", + "file_type": "code", + "source_file": "src/scoring/congestion_engine.py", + "source_location": "L68", + "_origin": "ast" + }, + { + "id": "src_scoring_congestion_engine_py_path", + "label": "Path", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast" + }, + { + "id": "src_scoring_congestion_engine_congestionengine_df", + "label": "._df()", + "file_type": "code", + "source_file": "src/scoring/congestion_engine.py", + "source_location": "L79", + "_origin": "ast" + }, + { + "id": "src_scoring_congestion_engine_py_dataframe", + "label": "DataFrame", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast" + }, + { + "id": "src_scoring_congestion_engine_congestionengine_poi_names", + "label": "._poi_names()", + "file_type": "code", + "source_file": "src/scoring/congestion_engine.py", + "source_location": "L90", + "_origin": "ast" + }, + { + "id": "src_scoring_congestion_engine_congestionengine_global_avg_by_month", + "label": "._global_avg_by_month()", + "file_type": "code", + "source_file": "src/scoring/congestion_engine.py", + "source_location": "L94", + "_origin": "ast" + }, + { + "id": "src_scoring_congestion_engine_congestionengine_category_avg_by_month", + "label": "._category_avg_by_month()", + "file_type": "code", + "source_file": "src/scoring/congestion_engine.py", + "source_location": "L100", + "_origin": "ast" + }, + { + "id": "src_scoring_congestion_engine_congestionengine_lookup_exact", + "label": "._lookup_exact()", + "file_type": "code", + "source_file": "src/scoring/congestion_engine.py", + "source_location": "L113", + "_origin": "ast" + }, + { + "id": "series", + "label": "Series", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast" + }, + { + "id": "src_scoring_congestion_engine_congestionengine_lookup_partial", + "label": "._lookup_partial()", + "file_type": "code", + "source_file": "src/scoring/congestion_engine.py", + "source_location": "L119", + "_origin": "ast" + }, + { + "id": "src_scoring_congestion_engine_congestionengine_score", + "label": ".score()", + "file_type": "code", + "source_file": "src/scoring/congestion_engine.py", + "source_location": "L130", + "_origin": "ast" + }, + { + "id": "src_scoring_congestion_engine_congestionengine_is_crowded", + "label": ".is_crowded()", + "file_type": "code", + "source_file": "src/scoring/congestion_engine.py", + "source_location": "L209", + "_origin": "ast" + }, + { + "id": "src_scoring_congestion_engine_congestionengine_score_itinerary", + "label": ".score_itinerary()", + "file_type": "code", + "source_file": "src/scoring/congestion_engine.py", + "source_location": "L213", + "_origin": "ast" + }, + { + "id": "src_scoring_congestion_engine_rationale_1", + "label": "\ud63c\uc7a1\ub3c4 \ud310\uc815 \uc5d4\uc9c4 \u2014 \uacb0\uc815\ub860\uc801 \uaddc\uce59 \uae30\ubc18 (LLM \uc758\uc874 \uc5c6\uc74c). \ub370\uc774\ud130 \uc18c\uc2a4 \uc6b0\uc120\uc21c\uc704: 0. \uc11c\uc6b8 \ub3c4\uc2dc\ub370\uc774\ud130 API (\uc2e4\uc2dc\uac04) \u2014\u2026", + "file_type": "rationale", + "source_file": "src/scoring/congestion_engine.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "src_scoring_congestion_engine_rationale_60", + "label": "POI \u00d7 month \u2192 congestion_score \ud310\uc815\uae30. Args: csv_path: congestion_stats.csv \uacbd\ub85c\u2026", + "file_type": "rationale", + "source_file": "src/scoring/congestion_engine.py", + "source_location": "L60", + "_origin": "ast" + }, + { + "id": "src_scoring_congestion_engine_rationale_95", + "label": "month \u2192 (avg_visitors, congestion_score) \uc804\uccb4 \ud3c9\uade0.", + "file_type": "rationale", + "source_file": "src/scoring/congestion_engine.py", + "source_location": "L95", + "_origin": "ast" + }, + { + "id": "src_scoring_congestion_engine_rationale_101", + "label": "prefix \u2192 month \u2192 (avg_visitors, congestion_score).", + "file_type": "rationale", + "source_file": "src/scoring/congestion_engine.py", + "source_location": "L101", + "_origin": "ast" + }, + { + "id": "src_scoring_congestion_engine_rationale_131", + "label": "POI\uc640 \ubc29\ubb38 \uc6d4\ub85c \ud63c\uc7a1\ub3c4\ub97c \ud310\uc815\ud55c\ub2e4. \uc11c\uc6b8 POI\uc5d0 SeoulCityDataClient\uac00 \uc8fc\uc785\ub41c \uacbd\uc6b0 \uc2e4\uc2dc\uac04 \ub370\uc774\ud130\ub97c \uc6b0\uc120 \uc0ac\uc6a9\ud55c\ub2e4.\u2026", + "file_type": "rationale", + "source_file": "src/scoring/congestion_engine.py", + "source_location": "L131", + "_origin": "ast" + }, + { + "id": "src_scoring_congestion_engine_rationale_210", + "label": "congestion_score >= threshold \uc774\uba74 True.", + "file_type": "rationale", + "source_file": "src/scoring/congestion_engine.py", + "source_location": "L210", + "_origin": "ast" + }, + { + "id": "src_scoring_congestion_engine_rationale_216", + "label": "\uc5ec\ud589 \uc77c\uc815\uc758 \ubaa8\ub4e0 POI \ud63c\uc7a1\ub3c4\ub97c \uc77c\uad04 \ubc18\ud658\ud55c\ub2e4.", + "file_type": "rationale", + "source_file": "src/scoring/congestion_engine.py", + "source_location": "L216", + "_origin": "ast" + }, + { + "id": "src_scoring_reward_engine", + "label": "reward_engine.py", + "file_type": "code", + "source_file": "src/scoring/reward_engine.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "src_scoring_reward_engine_generate_rewards", + "label": "generate_rewards()", + "file_type": "code", + "source_file": "src/scoring/reward_engine.py", + "source_location": "L24", + "_origin": "ast" + }, + { + "id": "src_scoring_reward_engine_rationale_1", + "label": "\uae0d\uc815 \uac15\ud654 \uba54\uc2dc\uc9c0 \uc0dd\uc131 \uc5d4\uc9c4 (Positive Reinforcement). validate() \ud30c\uc774\ud504\ub77c\uc778\uc5d0\uc11c \uc810\uc218\u00b7\ud1b5\uacc4\ub97c \ubc1b\uc544 \uce6d\ucc2c \uba54\uc2dc\uc9c0\u2026", + "file_type": "rationale", + "source_file": "src/scoring/reward_engine.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "src_scoring_reward_engine_rationale_31", + "label": "\uc810\uc218\uc640 \ud1b5\uacc4 \uae30\ubc18\uc73c\ub85c \uae0d\uc815 \uac15\ud654 \uba54\uc2dc\uc9c0 \uc0dd\uc131. Returns: \uae0d\uc815 \uac15\ud654 \uba54\uc2dc\uc9c0 \ub9ac\uc2a4\ud2b8. Hard Fail \uc874\uc7ac \uc2dc \ube48 \ub9ac\uc2a4\ud2b8.", + "file_type": "rationale", + "source_file": "src/scoring/reward_engine.py", + "source_location": "L31", + "_origin": "ast" + }, + { + "id": "src_scoring_theme_alignment", + "label": "theme_alignment.py", + "file_type": "code", + "source_file": "src/scoring/theme_alignment.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "src_scoring_theme_alignment_poiwithcategory", + "label": "POIWithCategory", + "file_type": "code", + "source_file": "src/scoring/theme_alignment.py", + "source_location": "L68", + "_origin": "ast" + }, + { + "id": "src_scoring_theme_alignment_themejudgment", + "label": "ThemeJudgment", + "file_type": "code", + "source_file": "src/scoring/theme_alignment.py", + "source_location": "L77", + "_origin": "ast" + }, + { + "id": "src_scoring_theme_alignment_themealignmentreport", + "label": "ThemeAlignmentReport", + "file_type": "code", + "source_file": "src/scoring/theme_alignment.py", + "source_location": "L86", + "_origin": "ast" + }, + { + "id": "src_scoring_theme_alignment_cache_key", + "label": "_cache_key()", + "file_type": "code", + "source_file": "src/scoring/theme_alignment.py", + "source_location": "L96", + "_origin": "ast" + }, + { + "id": "src_scoring_theme_alignment_build_user_prompt", + "label": "_build_user_prompt()", + "file_type": "code", + "source_file": "src/scoring/theme_alignment.py", + "source_location": "L107", + "_origin": "ast" + }, + { + "id": "src_scoring_theme_alignment_classify_score", + "label": "_classify_score()", + "file_type": "code", + "source_file": "src/scoring/theme_alignment.py", + "source_location": "L132", + "_origin": "ast" + }, + { + "id": "src_scoring_theme_alignment_parse_llm_response", + "label": "_parse_llm_response()", + "file_type": "code", + "source_file": "src/scoring/theme_alignment.py", + "source_location": "L143", + "_origin": "ast" + }, + { + "id": "src_scoring_theme_alignment_themealignmentjudge", + "label": "ThemeAlignmentJudge", + "file_type": "code", + "source_file": "src/scoring/theme_alignment.py", + "source_location": "L163", + "_origin": "ast" + }, + { + "id": "src_scoring_theme_alignment_themealignmentjudge_init", + "label": ".__init__()", + "file_type": "code", + "source_file": "src/scoring/theme_alignment.py", + "source_location": "L171", + "_origin": "ast" + }, + { + "id": "src_scoring_theme_alignment_py_any", + "label": "Any", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast" + }, + { + "id": "src_scoring_theme_alignment_themealignmentjudge_is_available", + "label": ".is_available()", + "file_type": "code", + "source_file": "src/scoring/theme_alignment.py", + "source_location": "L187", + "_origin": "ast" + }, + { + "id": "src_scoring_theme_alignment_themealignmentjudge_evaluate", + "label": ".evaluate()", + "file_type": "code", + "source_file": "src/scoring/theme_alignment.py", + "source_location": "L191", + "_origin": "ast" + }, + { + "id": "src_scoring_theme_alignment_themealignmentjudge_call_llm", + "label": "._call_llm()", + "file_type": "code", + "source_file": "src/scoring/theme_alignment.py", + "source_location": "L261", + "_origin": "ast" + }, + { + "id": "src_scoring_theme_alignment_rationale_1", + "label": "\ud14c\ub9c8 \uc77c\uce58\uc131 LLM \ud310\uc815 (\ubaa8\ub4c8 \u2466) \u2014 Anthropic Claude API \uae30\ubc18. \uc694\uad6c\uc0ac\ud56d: \uc0ac\uc6a9\uc790\uac00 \uc120\ud0dd\ud55c \ud14c\ub9c8(\uc608: \uc561\ud2f0\ube44\ud2f0)\uc640 \uc77c\uc815\u2026", + "file_type": "rationale", + "source_file": "src/scoring/theme_alignment.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "src_scoring_theme_alignment_rationale_69", + "label": "LLM\uc5d0\uac8c \uc804\ub2ec\ud560 POI \uc815\ubcf4 (\uce74\ud14c\uace0\ub9ac \uba85 \ud3ec\ud568).", + "file_type": "rationale", + "source_file": "src/scoring/theme_alignment.py", + "source_location": "L69", + "_origin": "ast" + }, + { + "id": "src_scoring_theme_alignment_rationale_97", + "label": "\uce90\uc2dc \ud0a4: \ud14c\ub9c8 + \uc815\ub82c\ub41c \uc7a5\uc18c\uba85 \ud574\uc2dc.", + "file_type": "rationale", + "source_file": "src/scoring/theme_alignment.py", + "source_location": "L97", + "_origin": "ast" + }, + { + "id": "src_scoring_theme_alignment_rationale_111", + "label": "LLM\uc5d0\uac8c \uc804\ub2ec\ud560 user \uba54\uc2dc\uc9c0 \uad6c\uc131.", + "file_type": "rationale", + "source_file": "src/scoring/theme_alignment.py", + "source_location": "L111", + "_origin": "ast" + }, + { + "id": "src_scoring_theme_alignment_rationale_133", + "label": "\uc77c\uce58\ub3c4 \uc810\uc218 \u2192 (\ud328\ub110\ud2f0, risk_label).", + "file_type": "rationale", + "source_file": "src/scoring/theme_alignment.py", + "source_location": "L133", + "_origin": "ast" + }, + { + "id": "src_scoring_theme_alignment_rationale_144", + "label": "Claude \uc751\ub2f5 \ud14d\uc2a4\ud2b8\uc5d0\uc11c JSON \ucd94\ucd9c.", + "file_type": "rationale", + "source_file": "src/scoring/theme_alignment.py", + "source_location": "L144", + "_origin": "ast" + }, + { + "id": "src_scoring_theme_alignment_rationale_164", + "label": "LLM \uae30\ubc18 \ud14c\ub9c8 \uc77c\uce58\uc131 \ud310\uc815\uae30. \uc0ac\uc6a9 \uc608: judge = ThemeAlignmentJudge() # ANTHROPIC_API_KEY \uc790\ub3d9\u2026", + "file_type": "rationale", + "source_file": "src/scoring/theme_alignment.py", + "source_location": "L164", + "_origin": "ast" + }, + { + "id": "src_scoring_theme_alignment_rationale_188", + "label": "LLM \ud638\ucd9c \uac00\ub2a5 \uc5ec\ubd80 (SDK + \ud0a4 + \ud074\ub77c\uc774\uc5b8\ud2b8 \ubaa8\ub450 \uc900\ube44\ub41c \uacbd\uc6b0 True).", + "file_type": "rationale", + "source_file": "src/scoring/theme_alignment.py", + "source_location": "L188", + "_origin": "ast" + }, + { + "id": "src_scoring_travel_ratio", + "label": "travel_ratio.py", + "file_type": "code", + "source_file": "src/scoring/travel_ratio.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "src_scoring_travel_ratio_dayratiometric", + "label": "DayRatioMetric", + "file_type": "code", + "source_file": "src/scoring/travel_ratio.py", + "source_location": "L28", + "_origin": "ast" + }, + { + "id": "src_scoring_travel_ratio_travelratioreport", + "label": "TravelRatioReport", + "file_type": "code", + "source_file": "src/scoring/travel_ratio.py", + "source_location": "L37", + "_origin": "ast" + }, + { + "id": "src_scoring_travel_ratio_compute_day_metric", + "label": "_compute_day_metric()", + "file_type": "code", + "source_file": "src/scoring/travel_ratio.py", + "source_location": "L45", + "_origin": "ast" + }, + { + "id": "src_scoring_travel_ratio_classify_ratio", + "label": "_classify_ratio()", + "file_type": "code", + "source_file": "src/scoring/travel_ratio.py", + "source_location": "L70", + "_origin": "ast" + }, + { + "id": "src_scoring_travel_ratio_evaluate_travel_ratio", + "label": "evaluate_travel_ratio()", + "file_type": "code", + "source_file": "src/scoring/travel_ratio.py", + "source_location": "L81", + "_origin": "ast" + }, + { + "id": "src_scoring_travel_ratio_rationale_1", + "label": "\uc774\ub3d9 vs \uad00\uad11 \uc2dc\uac04 \ube44\uc728 \ud328\ub110\ud2f0 (\ubaa8\ub4c8 \u2464). \uacf5\uc2dd: travel_ratio = travel_sec / (travel_sec +\u2026", + "file_type": "rationale", + "source_file": "src/scoring/travel_ratio.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "src_scoring_travel_ratio_rationale_50", + "label": "\ud558\ub8e8 \uc77c\uc815\uc758 travel_sec, dwell_sec, ratio \uacc4\uc0b0.", + "file_type": "rationale", + "source_file": "src/scoring/travel_ratio.py", + "source_location": "L50", + "_origin": "ast" + }, + { + "id": "src_scoring_travel_ratio_rationale_71", + "label": "\ube44\uc728 \u2192 (\ud328\ub110\ud2f0, risk_label) \ubc18\ud658.", + "file_type": "rationale", + "source_file": "src/scoring/travel_ratio.py", + "source_location": "L71", + "_origin": "ast" + }, + { + "id": "src_scoring_travel_ratio_rationale_85", + "label": "\uc804\uccb4 \uc77c\uc815\uc758 \uc77c\uc790\ubcc4 travel_ratio + \ud328\ub110\ud2f0 \uc0b0\ucd9c.", + "file_type": "rationale", + "source_file": "src/scoring/travel_ratio.py", + "source_location": "L85", + "_origin": "ast" + }, + { + "id": "src_utils_init", + "label": "utils/__init__.py", + "file_type": "code", + "source_file": "src/utils/__init__.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "src_utils_geo", + "label": "geo.py", + "file_type": "code", + "source_file": "src/utils/geo.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "src_utils_geo_haversine_km", + "label": "haversine_km()", + "file_type": "code", + "source_file": "src/utils/geo.py", + "source_location": "L10", + "_origin": "ast" + }, + { + "id": "src_utils_geo_build_dist_cache", + "label": "build_dist_cache()", + "file_type": "code", + "source_file": "src/utils/geo.py", + "source_location": "L20", + "_origin": "ast" + }, + { + "id": "src_utils_geo_nn_heuristic_km", + "label": "nn_heuristic_km()", + "file_type": "code", + "source_file": "src/utils/geo.py", + "source_location": "L36", + "_origin": "ast" + }, + { + "id": "src_utils_geo_get_travel_min", + "label": "get_travel_min()", + "file_type": "code", + "source_file": "src/utils/geo.py", + "source_location": "L72", + "_origin": "ast" + }, + { + "id": "src_utils_geo_rationale_1", + "label": "\uacf5\uc720 \uc9c0\ub9ac \uacc4\uc0b0 \uc720\ud2f8\ub9ac\ud2f0 \u2014 Haversine, NN \ud734\ub9ac\uc2a4\ud2f1, \uc774\ub3d9\uc2dc\uac04 \uc870\ud68c.", + "file_type": "rationale", + "source_file": "src/utils/geo.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "src_utils_geo_rationale_11", + "label": "\ub450 \uc88c\ud45c \uc0ac\uc774\uc758 Haversine \uc9c1\uc120 \uac70\ub9ac(km).", + "file_type": "rationale", + "source_file": "src/utils/geo.py", + "source_location": "L11", + "_origin": "ast" + }, + { + "id": "src_utils_geo_rationale_21", + "label": "POI \ub9ac\uc2a4\ud2b8\uc758 \ubaa8\ub4e0 (i, j) \uc30d Haversine \uac70\ub9ac(km)\ub97c \ud55c \ubc88\uc5d0 \uacc4\uc0b0\ud574 \ubc18\ud658. \uc774 \uce90\uc2dc\ub97c nn_heuristic_km /\u2026", + "file_type": "rationale", + "source_file": "src/utils/geo.py", + "source_location": "L21", + "_origin": "ast" + }, + { + "id": "src_utils_geo_rationale_40", + "label": "\ucd5c\uadfc\uc811 \uc774\uc6c3 \ud734\ub9ac\uc2a4\ud2f1\uc73c\ub85c \ucd94\uc815\ud55c \ucd5c\uc18c \uc21c\ud68c \uac70\ub9ac(km). dist_cache \ub97c \ub118\uae30\uba74 Haversine \uc7ac\uacc4\uc0b0 \uc5c6\uc774 \uc870\ud68c\ud55c\ub2e4.", + "file_type": "rationale", + "source_file": "src/utils/geo.py", + "source_location": "L40", + "_origin": "ast" + }, + { + "id": "src_utils_geo_rationale_80", + "label": "matrix[i][j]['travel_min'] \uc870\ud68c, \uc5c6\uc73c\uba74 Haversine \ud3f4\ubc31(\ubd84). dist_cache \ub97c \ub118\uae30\uba74 \ud3f4\ubc31 \uc2dc \uc7ac\uacc4\uc0b0\u2026", + "file_type": "rationale", + "source_file": "src/utils/geo.py", + "source_location": "L80", + "_origin": "ast" + }, + { + "id": "src_validation_init", + "label": "src/validation/__init__.py", + "file_type": "code", + "source_file": "src/validation/__init__.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "src_validation_alternatives", + "label": "alternatives.py", + "file_type": "code", + "source_file": "src/validation/alternatives.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "src_validation_alternatives_haversine_km", + "label": "_haversine_km()", + "file_type": "code", + "source_file": "src/validation/alternatives.py", + "source_location": "L32", + "_origin": "ast" + }, + { + "id": "src_validation_alternatives_alternativesfinder", + "label": "AlternativesFinder", + "file_type": "code", + "source_file": "src/validation/alternatives.py", + "source_location": "L40", + "_origin": "ast" + }, + { + "id": "src_validation_alternatives_alternativesfinder_init", + "label": ".__init__()", + "file_type": "code", + "source_file": "src/validation/alternatives.py", + "source_location": "L49", + "_origin": "ast" + }, + { + "id": "src_validation_alternatives_alternativesfinder_find_alternatives", + "label": ".find_alternatives()", + "file_type": "code", + "source_file": "src/validation/alternatives.py", + "source_location": "L59", + "_origin": "ast" + }, + { + "id": "src_validation_alternatives_alternativesfinder_build_alternatives_map", + "label": ".build_alternatives_map()", + "file_type": "code", + "source_file": "src/validation/alternatives.py", + "source_location": "L92", + "_origin": "ast" + }, + { + "id": "src_validation_alternatives_rationale_1", + "label": "Hard Fail \ubc1c\uc0dd \uc7a5\uc18c\uc5d0 \ub300\ud55c \ub300\uccb4 \ud6c4\ubcf4 \ud0d0\uc0c9\uae30 (Repair \ubcf4\uc870 \ub3c4\uad6c). \uc774 \ubaa8\ub4c8\uc740 '\uac80\uc99d'\uc774 \uc544\ub2cc '\uc218\ub9ac \uc81c\uc548'\uc758 \ubcf4\uc870 \ub3c4\uad6c\uc774\ub2e4.\u2026", + "file_type": "rationale", + "source_file": "src/validation/alternatives.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "src_validation_alternatives_rationale_41", + "label": "Hard Fail POI\ub97c \ub300\uccb4\ud560 \ud6c4\ubcf4 \ucd94\ucc9c\uae30. Args: poi_pool: \ud0d0\uc0c9 \ub300\uc0c1 \uc804\uccb4 POI \ud480 (TourAPI \ub4f1 \uc678\ubd80\uc5d0\uc11c \uc8fc\uc785).\u2026", + "file_type": "rationale", + "source_file": "src/validation/alternatives.py", + "source_location": "L41", + "_origin": "ast" + }, + { + "id": "src_validation_alternatives_rationale_64", + "label": "failed_poi\uc640 \uac19\uc740 \uce74\ud14c\uace0\ub9ac \uc911 \uac00\uc7a5 \uac00\uae4c\uc6b4 POI\ub97c \ubc18\ud658. \uac19\uc740 \uce74\ud14c\uace0\ub9ac\uac00 \uc5c6\uc73c\uba74 \ubc18\uacbd \ub0b4 \ubaa8\ub4e0 POI\ub97c \uac70\ub9ac \uc21c\uc73c\ub85c \ubc18\ud658.", + "file_type": "rationale", + "source_file": "src/validation/alternatives.py", + "source_location": "L64", + "_origin": "ast" + }, + { + "id": "src_validation_alternatives_rationale_98", + "label": "Hard Fail \ubaa9\ub85d \uae30\ubc18\uc73c\ub85c POI \uc774\ub984 \u2192 \ub300\uccb4 \ud6c4\ubcf4 \ub515\uc154\ub108\ub9ac \ubc18\ud658. Minimal Interference \uc6d0\uce59(\uc7ac\ubc30\uce58 \u2192 \uc2dc\uac04\uc870\uc815 \u2192\u2026", + "file_type": "rationale", + "source_file": "src/validation/alternatives.py", + "source_location": "L98", + "_origin": "ast" + }, + { + "id": "src_validation_hard_fail", + "label": "hard_fail.py", + "file_type": "code", + "source_file": "src/validation/hard_fail.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "src_validation_hard_fail_hardfaildetector", + "label": "HardFailDetector", + "file_type": "code", + "source_file": "src/validation/hard_fail.py", + "source_location": "L16", + "_origin": "ast" + }, + { + "id": "src_validation_hard_fail_hardfaildetector_detect", + "label": ".detect()", + "file_type": "code", + "source_file": "src/validation/hard_fail.py", + "source_location": "L24", + "_origin": "ast" + }, + { + "id": "src_validation_hard_fail_hardfaildetector_check_operating_hours", + "label": "._check_operating_hours()", + "file_type": "code", + "source_file": "src/validation/hard_fail.py", + "source_location": "L48", + "_origin": "ast" + }, + { + "id": "src_validation_hard_fail_hardfaildetector_check_travel_impossible", + "label": "._check_travel_impossible()", + "file_type": "code", + "source_file": "src/validation/hard_fail.py", + "source_location": "L110", + "_origin": "ast" + }, + { + "id": "src_validation_hard_fail_hardfaildetector_check_schedule_infeasible", + "label": "._check_schedule_infeasible()", + "file_type": "code", + "source_file": "src/validation/hard_fail.py", + "source_location": "L157", + "_origin": "ast" + }, + { + "id": "src_validation_hard_fail_hardfaildetector_time_to_min", + "label": "._time_to_min()", + "file_type": "code", + "source_file": "src/validation/hard_fail.py", + "source_location": "L188", + "_origin": "ast" + }, + { + "id": "src_validation_hard_fail_hardfaildetector_min_to_time", + "label": "._min_to_time()", + "file_type": "code", + "source_file": "src/validation/hard_fail.py", + "source_location": "L193", + "_origin": "ast" + }, + { + "id": "src_validation_hard_fail_rationale_1", + "label": "Hard Fail \ud0d0\uc9c0\uae30 (\uc6b4\uc601\uc2dc\uac04 \ucda9\ub3cc\u00b7\uc774\ub3d9 \ubd88\uac00\u00b7\uc77c\uc815 \uc2dc\uac04 \ucd08\uacfc).", + "file_type": "rationale", + "source_file": "src/validation/hard_fail.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "src_validation_hard_fail_rationale_17", + "label": "\uc5ec\ud589 \uc77c\uc815\uc758 Hard Fail \uc870\uac74\uc744 \ud0d0\uc9c0\ud55c\ub2e4. External I/O \uc5c6\uc74c. matrix: dict[int, dict[int, dict]]\u2026", + "file_type": "rationale", + "source_file": "src/validation/hard_fail.py", + "source_location": "L17", + "_origin": "ast" + }, + { + "id": "src_validation_hard_fail_rationale_33", + "label": "Hard Fail \ubaa9\ub85d \ubc18\ud658. \uc5c6\uc73c\uba74 \ube48 \ub9ac\uc2a4\ud2b8.", + "file_type": "rationale", + "source_file": "src/validation/hard_fail.py", + "source_location": "L33", + "_origin": "ast" + }, + { + "id": "src_validation_hard_fail_rationale_56", + "label": "\uac01 POI \ub3c4\ucc29 \uc608\uc0c1 \uc2dc\uac04\uc774 \uc6b4\uc601\uc2dc\uac04 \ubc16\uc774\uba74 Hard Fail.", + "file_type": "rationale", + "source_file": "src/validation/hard_fail.py", + "source_location": "L56", + "_origin": "ast" + }, + { + "id": "src_validation_hard_fail_rationale_118", + "label": "\uc774\ub3d9\uc2dc\uac04\uc774 \uc774\uc6a9 \uac00\ub2a5\ud55c \uc2dc\uac04 \ucc3d\uc744 \ucd08\uacfc\ud558\uba74 Hard Fail.", + "file_type": "rationale", + "source_file": "src/validation/hard_fail.py", + "source_location": "L118", + "_origin": "ast" + }, + { + "id": "src_validation_hard_fail_rationale_164", + "label": "\uc2e4\uc81c POI \ub4e4\uc758 \ucd1d \uccb4\ub958+\uc774\ub3d9 \uc2dc\uac04\uc774 24\uc2dc\uac04 \ucd08\uacfc \uc2dc Hard Fail.", + "file_type": "rationale", + "source_file": "src/validation/hard_fail.py", + "source_location": "L164", + "_origin": "ast" + }, + { + "id": "src_validation_kakao_matrix", + "label": "kakao_matrix.py", + "file_type": "code", + "source_file": "src/validation/kakao_matrix.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "src_validation_kakao_matrix_kakaomobilitymatrix", + "label": "KakaoMobilityMatrix", + "file_type": "code", + "source_file": "src/validation/kakao_matrix.py", + "source_location": "L47", + "_origin": "ast" + }, + { + "id": "src_validation_kakao_matrix_kakaomobilitymatrix_init", + "label": ".__init__()", + "file_type": "code", + "source_file": "src/validation/kakao_matrix.py", + "source_location": "L58", + "_origin": "ast" + }, + { + "id": "src_validation_kakao_matrix_py_path", + "label": "Path", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast" + }, + { + "id": "src_validation_kakao_matrix_kakaomobilitymatrix_from_env", + "label": ".from_env()", + "file_type": "code", + "source_file": "src/validation/kakao_matrix.py", + "source_location": "L89", + "_origin": "ast" + }, + { + "id": "src_validation_kakao_matrix_py_any", + "label": "Any", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast" + }, + { + "id": "src_validation_kakao_matrix_kakaomobilitymatrix_load_dotenv", + "label": "._load_dotenv()", + "file_type": "code", + "source_file": "src/validation/kakao_matrix.py", + "source_location": "L111", + "_origin": "ast" + }, + { + "id": "src_validation_kakao_matrix_kakaomobilitymatrix_get_travel_time", + "label": ".get_travel_time()", + "file_type": "code", + "source_file": "src/validation/kakao_matrix.py", + "source_location": "L121", + "_origin": "ast" + }, + { + "id": "src_validation_kakao_matrix_kakaomobilitymatrix_aprefetch_matrix", + "label": ".aprefetch_matrix()", + "file_type": "code", + "source_file": "src/validation/kakao_matrix.py", + "source_location": "L139", + "_origin": "ast" + }, + { + "id": "src_validation_kakao_matrix_kakaomobilitymatrix_acall_kakao", + "label": "._acall_kakao()", + "file_type": "code", + "source_file": "src/validation/kakao_matrix.py", + "source_location": "L177", + "_origin": "ast" + }, + { + "id": "src_validation_kakao_matrix_kakaomobilitymatrix_call_kakao_sync", + "label": "._call_kakao_sync()", + "file_type": "code", + "source_file": "src/validation/kakao_matrix.py", + "source_location": "L212", + "_origin": "ast" + }, + { + "id": "src_validation_kakao_matrix_kakaomobilitymatrix_parse_duration", + "label": "._parse_duration()", + "file_type": "code", + "source_file": "src/validation/kakao_matrix.py", + "source_location": "L265", + "_origin": "ast" + }, + { + "id": "src_validation_kakao_matrix_kakaomobilitymatrix_make_key", + "label": "._make_key()", + "file_type": "code", + "source_file": "src/validation/kakao_matrix.py", + "source_location": "L278", + "_origin": "ast" + }, + { + "id": "src_validation_kakao_matrix_kakaomobilitymatrix_load_cache", + "label": "._load_cache()", + "file_type": "code", + "source_file": "src/validation/kakao_matrix.py", + "source_location": "L284", + "_origin": "ast" + }, + { + "id": "src_validation_kakao_matrix_kakaomobilitymatrix_maybe_save_cache", + "label": "._maybe_save_cache()", + "file_type": "code", + "source_file": "src/validation/kakao_matrix.py", + "source_location": "L294", + "_origin": "ast" + }, + { + "id": "src_validation_kakao_matrix_kakaomobilitymatrix_save_cache", + "label": ".save_cache()", + "file_type": "code", + "source_file": "src/validation/kakao_matrix.py", + "source_location": "L299", + "_origin": "ast" + }, + { + "id": "src_validation_kakao_matrix_kakaomobilitymatrix_stats", + "label": ".stats()", + "file_type": "code", + "source_file": "src/validation/kakao_matrix.py", + "source_location": "L310", + "_origin": "ast" + }, + { + "id": "src_validation_kakao_matrix_kakaomobilitymatrix_cache_size", + "label": ".cache_size()", + "file_type": "code", + "source_file": "src/validation/kakao_matrix.py", + "source_location": "L314", + "_origin": "ast" + }, + { + "id": "src_validation_kakao_matrix_kakaomobilitymatrix_is_quota_exhausted", + "label": ".is_quota_exhausted()", + "file_type": "code", + "source_file": "src/validation/kakao_matrix.py", + "source_location": "L318", + "_origin": "ast" + }, + { + "id": "src_validation_kakao_matrix_rationale_1", + "label": "\uce74\uce74\uc624 \ubaa8\ube4c\ub9ac\ud2f0 \uae38\ucc3e\uae30 API \u2192 TimeMatrix \uc5b4\ub311\ud130 (httpx \uae30\ubc18). VRPTW \uc5d4\uc9c4\uc758 TimeMatrix \uc778\ud130\ud398\uc774\uc2a4\ub97c \uad6c\ud604\ud574\u2026", + "file_type": "rationale", + "source_file": "src/validation/kakao_matrix.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "src_validation_kakao_matrix_rationale_48", + "label": "\uce74\uce74\uc624 \ubaa8\ube4c\ub9ac\ud2f0 \uae38\ucc3e\uae30 API \uae30\ubc18 TimeMatrix. \uce90\uc2dc \ud0a4: 'lng1,lat1|lng2,lat2' (\uc18c\uc218\uc810 4\uc790\ub9ac = \uc57d 11m\u2026", + "file_type": "rationale", + "source_file": "src/validation/kakao_matrix.py", + "source_location": "L48", + "_origin": "ast" + }, + { + "id": "src_validation_kakao_matrix_rationale_95", + "label": "`.env`\uc5d0\uc11c KAKAO_MOBILITY_KEY (\uc5c6\uc73c\uba74 KAKAO_REST_API_KEY) \ub85c\ub4dc.", + "file_type": "rationale", + "source_file": "src/validation/kakao_matrix.py", + "source_location": "L95", + "_origin": "ast" + }, + { + "id": "src_validation_kakao_matrix_rationale_122", + "label": "\uce90\uc2dc \uc870\ud68c + Haversine \ud3f4\ubc31. API \uc9c1\uc811 \ud638\ucd9c \uc5c6\uc74c.", + "file_type": "rationale", + "source_file": "src/validation/kakao_matrix.py", + "source_location": "L122", + "_origin": "ast" + }, + { + "id": "src_validation_kakao_matrix_rationale_144", + "label": "\ubaa8\ub4e0 POI \uc30d\uc758 \uc774\ub3d9\uc2dc\uac04\uc744 \ube44\ub3d9\uae30\ub85c \uc0ac\uc804 \ub85c\ub4dc\ud55c\ub2e4. VRPTWEngine.validate() \ud638\ucd9c \uc804\uc5d0 await \ud574\ub450\uba74\u2026", + "file_type": "rationale", + "source_file": "src/validation/kakao_matrix.py", + "source_location": "L144", + "_origin": "ast" + }, + { + "id": "src_validation_kakao_matrix_rationale_180", + "label": "\uce74\uce74\uc624 \ubaa8\ube4c\ub9ac\ud2f0 \ube44\ub3d9\uae30 \ud638\ucd9c (httpx.AsyncClient).", + "file_type": "rationale", + "source_file": "src/validation/kakao_matrix.py", + "source_location": "L180", + "_origin": "ast" + }, + { + "id": "src_validation_kakao_matrix_rationale_215", + "label": "\ub3d9\uae30 API \ud638\ucd9c + \uce90\uc2dc \uc800\uc7a5 + \ud1b5\uacc4 \uc5c5\ub370\uc774\ud2b8 (httpx.Client). \uce90\uc2dc\uc5d0 \uc774\ubbf8 \uc788\uc73c\uba74 API \ud638\ucd9c \uc5c6\uc774 \uce90\uc2dc \uac12 \ubc18\ud658.", + "file_type": "rationale", + "source_file": "src/validation/kakao_matrix.py", + "source_location": "L215", + "_origin": "ast" + }, + { + "id": "src_validation_scoring", + "label": "scoring.py", + "file_type": "code", + "source_file": "src/validation/scoring.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "src_validation_scoring_scorecalculator", + "label": "ScoreCalculator", + "file_type": "code", + "source_file": "src/validation/scoring.py", + "source_location": "L20", + "_origin": "ast" + }, + { + "id": "src_validation_scoring_scorecalculator_compute", + "label": ".compute()", + "file_type": "code", + "source_file": "src/validation/scoring.py", + "source_location": "L23", + "_origin": "ast" + }, + { + "id": "src_validation_scoring_scorecalculator_cosine_distance", + "label": "._cosine_distance()", + "file_type": "code", + "source_file": "src/validation/scoring.py", + "source_location": "L59", + "_origin": "ast" + }, + { + "id": "src_validation_scoring_scorecalculator_calc_efficiency", + "label": "._calc_efficiency()", + "file_type": "code", + "source_file": "src/validation/scoring.py", + "source_location": "L63", + "_origin": "ast" + }, + { + "id": "src_validation_scoring_scorecalculator_calc_feasibility", + "label": "._calc_feasibility()", + "file_type": "code", + "source_file": "src/validation/scoring.py", + "source_location": "L79", + "_origin": "ast" + }, + { + "id": "src_validation_scoring_scorecalculator_calc_purpose_fit", + "label": "._calc_purpose_fit()", + "file_type": "code", + "source_file": "src/validation/scoring.py", + "source_location": "L113", + "_origin": "ast" + }, + { + "id": "src_validation_scoring_scorecalculator_calc_flow", + "label": "._calc_flow()", + "file_type": "code", + "source_file": "src/validation/scoring.py", + "source_location": "L132", + "_origin": "ast" + }, + { + "id": "src_validation_scoring_scorecalculator_calc_area_intensity", + "label": "._calc_area_intensity()", + "file_type": "code", + "source_file": "src/validation/scoring.py", + "source_location": "L169", + "_origin": "ast" + }, + { + "id": "src_validation_scoring_rationale_21", + "label": "5\uac1c \uc9c0\ud45c \u2192 Final Score (0~100) \uacc4\uc0b0\uae30. External I/O \uc5c6\uc74c.", + "file_type": "rationale", + "source_file": "src/validation/scoring.py", + "source_location": "L21", + "_origin": "ast" + }, + { + "id": "src_validation_scoring_rationale_30", + "label": "5\uac1c \uc9c0\ud45c \uacc4\uc0b0 + Final Score (0~100) \ubc18\ud658. hard_fails \uc788\uc73c\uba74 Final Score \u2264 59. \ubc18\ud658:\u2026", + "file_type": "rationale", + "source_file": "src/validation/scoring.py", + "source_location": "L30", + "_origin": "ast" + }, + { + "id": "src_validation_scoring_rationale_60", + "label": "warning \ubaa8\ub4c8\uc758 \uacf5\uc720 \uad6c\ud604\uc5d0 \uc704\uc784.", + "file_type": "rationale", + "source_file": "src/validation/scoring.py", + "source_location": "L60", + "_origin": "ast" + }, + { + "id": "src_validation_scoring_rationale_68", + "label": "Efficiency = nn_heuristic_km / actual_total_km, clamped to [0, 1].", + "file_type": "rationale", + "source_file": "src/validation/scoring.py", + "source_location": "L68", + "_origin": "ast" + }, + { + "id": "src_validation_scoring_rationale_87", + "label": "Feasibility = hard\u00d70.5 + temporal\u00d70.3 + human\u00d70.2. temporal \uc784\uacc4\uac12\uc740 party_type\ubcc4\u2026", + "file_type": "rationale", + "source_file": "src/validation/scoring.py", + "source_location": "L87", + "_origin": "ast" + }, + { + "id": "src_validation_scoring_rationale_114", + "label": "1 - cosine_distance(intent_vector, activity_vector).", + "file_type": "rationale", + "source_file": "src/validation/scoring.py", + "source_location": "L114", + "_origin": "ast" + }, + { + "id": "src_validation_scoring_rationale_137", + "label": "1 - (backtracking\u00d70.65 + revisit_area\u00d70.35). switch_ratio \uc81c\uac70: \uce74\ud14c\uace0\ub9ac \ub2e4\uc591\uc131\uc740 \ud328\ub110\ud2f0\uac00\u2026", + "file_type": "rationale", + "source_file": "src/validation/scoring.py", + "source_location": "L137", + "_origin": "ast" + }, + { + "id": "src_validation_scoring_rationale_170", + "label": "1 - dominant_category_ratio. \ubd84\uc0b0\ub420\uc218\ub85d 1\uc5d0 \uac00\uae4c\uc6c0.", + "file_type": "rationale", + "source_file": "src/validation/scoring.py", + "source_location": "L170", + "_origin": "ast" + }, + { + "id": "src_validation_vrptw_engine", + "label": "vrptw_engine.py", + "file_type": "code", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "src_validation_vrptw_engine_timematrix", + "label": "TimeMatrix", + "file_type": "code", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L55", + "_origin": "ast" + }, + { + "id": "abc", + "label": "ABC", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast" + }, + { + "id": "src_validation_vrptw_engine_timematrix_get_travel_time", + "label": ".get_travel_time()", + "file_type": "code", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L59", + "_origin": "ast" + }, + { + "id": "src_validation_vrptw_engine_haversinematrix", + "label": "HaversineMatrix", + "file_type": "code", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L63", + "_origin": "ast" + }, + { + "id": "src_validation_vrptw_engine_haversinematrix_effective_speed", + "label": "._effective_speed()", + "file_type": "code", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L80", + "_origin": "ast" + }, + { + "id": "src_validation_vrptw_engine_haversinematrix_get_travel_time", + "label": ".get_travel_time()", + "file_type": "code", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L86", + "_origin": "ast" + }, + { + "id": "src_validation_vrptw_engine_cachedroutematrix", + "label": "CachedRouteMatrix", + "file_type": "code", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L91", + "_origin": "ast" + }, + { + "id": "src_validation_vrptw_engine_cachedroutematrix_init", + "label": ".__init__()", + "file_type": "code", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L98", + "_origin": "ast" + }, + { + "id": "src_validation_vrptw_engine_cachedroutematrix_from_file", + "label": ".from_file()", + "file_type": "code", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L112", + "_origin": "ast" + }, + { + "id": "src_validation_vrptw_engine_py_path", + "label": "Path", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast" + }, + { + "id": "src_validation_vrptw_engine_cachedroutematrix_get_travel_time", + "label": ".get_travel_time()", + "file_type": "code", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L117", + "_origin": "ast" + }, + { + "id": "src_validation_vrptw_engine_haversine_m", + "label": "_haversine_m()", + "file_type": "code", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L130", + "_origin": "ast" + }, + { + "id": "src_validation_vrptw_engine_simresult", + "label": "_SimResult", + "file_type": "code", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L144", + "_origin": "ast" + }, + { + "id": "src_validation_vrptw_engine_minutes_to_hhmm", + "label": "_minutes_to_hhmm()", + "file_type": "code", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L151", + "_origin": "ast" + }, + { + "id": "src_validation_vrptw_engine_simulate_day", + "label": "_simulate_day()", + "file_type": "code", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L156", + "_origin": "ast" + }, + { + "id": "src_validation_vrptw_engine_compute_day_total_minutes", + "label": "_compute_day_total_minutes()", + "file_type": "code", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L216", + "_origin": "ast" + }, + { + "id": "src_validation_vrptw_engine_solve_vrptw_ortools", + "label": "_solve_vrptw_ortools()", + "file_type": "code", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L244", + "_origin": "ast" + }, + { + "id": "src_validation_vrptw_engine_check_depot_constraints", + "label": "_check_depot_constraints()", + "file_type": "code", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L317", + "_origin": "ast" + }, + { + "id": "src_validation_vrptw_engine_vrptwengine", + "label": "VRPTWEngine", + "file_type": "code", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L378", + "_origin": "ast" + }, + { + "id": "src_validation_vrptw_engine_vrptwengine_init", + "label": ".__init__()", + "file_type": "code", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L385", + "_origin": "ast" + }, + { + "id": "src_validation_vrptw_engine_vrptwengine_validate", + "label": ".validate()", + "file_type": "code", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L396", + "_origin": "ast" + }, + { + "id": "src_validation_vrptw_engine_vrptwengine_compute_risk_score", + "label": "._compute_risk_score()", + "file_type": "code", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L494", + "_origin": "ast" + }, + { + "id": "src_validation_vrptw_engine_rationale_1", + "label": "VRPTW Validation Engine. Validates travel itineraries against mathematical\u2026", + "file_type": "rationale", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "src_validation_vrptw_engine_rationale_56", + "label": "Abstract travel-time provider. Implementations are interchangeable.", + "file_type": "rationale", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L56", + "_origin": "ast" + }, + { + "id": "src_validation_vrptw_engine_rationale_60", + "label": "Return travel time in seconds.", + "file_type": "rationale", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L60", + "_origin": "ast" + }, + { + "id": "src_validation_vrptw_engine_rationale_64", + "label": "Calibrated haversine fallback using distance-band multipliers. Kakao Mobility\u2026", + "file_type": "rationale", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L64", + "_origin": "ast" + }, + { + "id": "src_validation_vrptw_engine_rationale_92", + "label": "Uses Kakao Mobility cache (lng,lat|lng,lat \u2192 seconds). Falls back to Haversine.\u2026", + "file_type": "rationale", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L92", + "_origin": "ast" + }, + { + "id": "src_validation_vrptw_engine_rationale_145", + "label": "Simulation result for a single day.", + "file_type": "rationale", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L145", + "_origin": "ast" + }, + { + "id": "src_validation_vrptw_engine_rationale_161", + "label": "Simulate traversal in the given order. Returns travel time and issues.", + "file_type": "rationale", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L161", + "_origin": "ast" + }, + { + "id": "src_validation_vrptw_engine_rationale_221", + "label": "Total elapsed minutes from first departure to last arrival+stay.", + "file_type": "rationale", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L221", + "_origin": "ast" + }, + { + "id": "src_validation_vrptw_engine_rationale_249", + "label": "Return (optimal_order, total_travel_seconds) or None on failure.", + "file_type": "rationale", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L249", + "_origin": "ast" + }, + { + "id": "src_validation_vrptw_engine_rationale_320", + "label": "Enforce depot rules for 2\ubc153\uc77c+ (3+ days). 1\ubc152\uc77c is exempt.", + "file_type": "rationale", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L320", + "_origin": "ast" + }, + { + "id": "src_validation_vrptw_engine_rationale_379", + "label": "VRPTW-based travel itinerary validator. Accepts a TimeMatrix implementation;\u2026", + "file_type": "rationale", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L379", + "_origin": "ast" + }, + { + "id": "src_validation_warning", + "label": "warning.py", + "file_type": "code", + "source_file": "src/validation/warning.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "src_validation_warning_cosine_distance", + "label": "_cosine_distance()", + "file_type": "code", + "source_file": "src/validation/warning.py", + "source_location": "L28", + "_origin": "ast" + }, + { + "id": "src_validation_warning_warningdetector", + "label": "WarningDetector", + "file_type": "code", + "source_file": "src/validation/warning.py", + "source_location": "L39", + "_origin": "ast" + }, + { + "id": "src_validation_warning_warningdetector_detect", + "label": ".detect()", + "file_type": "code", + "source_file": "src/validation/warning.py", + "source_location": "L51", + "_origin": "ast" + }, + { + "id": "src_validation_warning_warningdetector_check_dense_schedule", + "label": "._check_dense_schedule()", + "file_type": "code", + "source_file": "src/validation/warning.py", + "source_location": "L73", + "_origin": "ast" + }, + { + "id": "src_validation_warning_warningdetector_check_inefficient_route", + "label": "._check_inefficient_route()", + "file_type": "code", + "source_file": "src/validation/warning.py", + "source_location": "L100", + "_origin": "ast" + }, + { + "id": "src_validation_warning_warningdetector_check_physical_strain", + "label": "._check_physical_strain()", + "file_type": "code", + "source_file": "src/validation/warning.py", + "source_location": "L124", + "_origin": "ast" + }, + { + "id": "src_validation_warning_warningdetector_check_purpose_mismatch", + "label": "._check_purpose_mismatch()", + "file_type": "code", + "source_file": "src/validation/warning.py", + "source_location": "L145", + "_origin": "ast" + }, + { + "id": "src_validation_warning_warningdetector_check_cumulative_fatigue", + "label": ".check_cumulative_fatigue()", + "file_type": "code", + "source_file": "src/validation/warning.py", + "source_location": "L176", + "_origin": "ast" + }, + { + "id": "src_validation_warning_warningdetector_check_area_revisit", + "label": "._check_area_revisit()", + "file_type": "code", + "source_file": "src/validation/warning.py", + "source_location": "L240", + "_origin": "ast" + }, + { + "id": "src_validation_warning_rationale_1", + "label": "Warning \ud0d0\uc9c0\uae30 (\ub3d9\uc120 \ube44\ud6a8\uc728\u00b7\uc77c\uc815 \uacfc\ubc00\u00b7\uccb4\ub825 \ubd80\ub2f4\u00b7\ubaa9\uc801 \ubd80\uc801\ud569\u00b7\uad6c\uc5ed \uc7ac\ubc29\ubb38).", + "file_type": "rationale", + "source_file": "src/validation/warning.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "src_validation_warning_rationale_40", + "label": "\uc5ec\ud589 \uc77c\uc815\uc758 Soft Warning \uc870\uac74\uc744 \ud0d0\uc9c0\ud55c\ub2e4. External I/O \uc5c6\uc74c. matrix: dict[int, dict[int,\u2026", + "file_type": "rationale", + "source_file": "src/validation/warning.py", + "source_location": "L40", + "_origin": "ast" + }, + { + "id": "src_validation_warning_rationale_58", + "label": "Warning \ubaa9\ub85d \ubc18\ud658. \uc5c6\uc73c\uba74 \ube48 \ub9ac\uc2a4\ud2b8.", + "file_type": "rationale", + "source_file": "src/validation/warning.py", + "source_location": "L58", + "_origin": "ast" + }, + { + "id": "src_validation_warning_rationale_182", + "label": "Multi-day \ub204\uc801 \ud53c\ub85c\ub3c4 \ubd84\uc11d \u2014 \ub2e8\uc77c detect() \ud638\ucd9c\ub85c\ub294 \ud3ec\ucc29\ud560 \uc218 \uc5c6\ub294 cross-day \ud328\ud134.", + "file_type": "rationale", + "source_file": "src/validation/warning.py", + "source_location": "L182", + "_origin": "ast" + }, + { + "id": "tests_init", + "label": "tests/__init__.py", + "file_type": "code", + "source_file": "tests/__init__.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "tests_conftest", + "label": "conftest.py", + "file_type": "code", + "source_file": "tests/conftest.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "tests_conftest_py_fixture", + "label": "fixture", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast" + }, + { + "id": "tests_conftest_clean_anthropic_api_key", + "label": "_clean_anthropic_api_key()", + "file_type": "code", + "source_file": "tests/conftest.py", + "source_location": "L11", + "_origin": "ast" + }, + { + "id": "tests_conftest_rationale_1", + "label": "\ud14c\uc2a4\ud2b8 \uc804\uc5ed fixture. src.api.main\uc740 import \uc2dc\uc810\uc5d0 .env\ub97c \uc77d\uc5b4 os.environ\uc5d0\u2026", + "file_type": "rationale", + "source_file": "tests/conftest.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "tests_test_alternatives", + "label": "test_alternatives.py", + "file_type": "code", + "source_file": "tests/test_alternatives.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "tests_test_alternatives_poi", + "label": "_poi()", + "file_type": "code", + "source_file": "tests/test_alternatives.py", + "source_location": "L10", + "_origin": "ast" + }, + { + "id": "tests_test_alternatives_hardfail", + "label": "_hardfail()", + "file_type": "code", + "source_file": "tests/test_alternatives.py", + "source_location": "L29", + "_origin": "ast" + }, + { + "id": "tests_test_alternatives_testfindalternatives", + "label": "TestFindAlternatives", + "file_type": "code", + "source_file": "tests/test_alternatives.py", + "source_location": "L39", + "_origin": "ast" + }, + { + "id": "tests_test_alternatives_testfindalternatives_test_returns_nearby_same_category", + "label": ".test_returns_nearby_same_category()", + "file_type": "code", + "source_file": "tests/test_alternatives.py", + "source_location": "L40", + "_origin": "ast" + }, + { + "id": "tests_test_alternatives_testfindalternatives_test_excludes_failed_poi_itself", + "label": ".test_excludes_failed_poi_itself()", + "file_type": "code", + "source_file": "tests/test_alternatives.py", + "source_location": "L50", + "_origin": "ast" + }, + { + "id": "tests_test_alternatives_testfindalternatives_test_respects_max_alternatives", + "label": ".test_respects_max_alternatives()", + "file_type": "code", + "source_file": "tests/test_alternatives.py", + "source_location": "L57", + "_origin": "ast" + }, + { + "id": "tests_test_alternatives_testfindalternatives_test_respects_search_radius", + "label": ".test_respects_search_radius()", + "file_type": "code", + "source_file": "tests/test_alternatives.py", + "source_location": "L64", + "_origin": "ast" + }, + { + "id": "tests_test_alternatives_testfindalternatives_test_distance_km_is_correct", + "label": ".test_distance_km_is_correct()", + "file_type": "code", + "source_file": "tests/test_alternatives.py", + "source_location": "L72", + "_origin": "ast" + }, + { + "id": "tests_test_alternatives_testfindalternatives_test_same_category_sorted_before_different", + "label": ".test_same_category_sorted_before_different()", + "file_type": "code", + "source_file": "tests/test_alternatives.py", + "source_location": "L80", + "_origin": "ast" + }, + { + "id": "tests_test_alternatives_testbuildalternativesmap", + "label": "TestBuildAlternativesMap", + "file_type": "code", + "source_file": "tests/test_alternatives.py", + "source_location": "L91", + "_origin": "ast" + }, + { + "id": "tests_test_alternatives_testbuildalternativesmap_test_maps_failed_poi_to_alternatives", + "label": ".test_maps_failed_poi_to_alternatives()", + "file_type": "code", + "source_file": "tests/test_alternatives.py", + "source_location": "L92", + "_origin": "ast" + }, + { + "id": "tests_test_alternatives_testbuildalternativesmap_test_default_no_substitution", + "label": ".test_default_no_substitution()", + "file_type": "code", + "source_file": "tests/test_alternatives.py", + "source_location": "L102", + "_origin": "ast" + }, + { + "id": "tests_test_alternatives_testbuildalternativesmap_test_skips_none_poi_name", + "label": ".test_skips_none_poi_name()", + "file_type": "code", + "source_file": "tests/test_alternatives.py", + "source_location": "L110", + "_origin": "ast" + }, + { + "id": "tests_test_alternatives_testbuildalternativesmap_test_no_duplicate_keys", + "label": ".test_no_duplicate_keys()", + "file_type": "code", + "source_file": "tests/test_alternatives.py", + "source_location": "L116", + "_origin": "ast" + }, + { + "id": "tests_test_alternatives_testbuildalternativesmap_test_excludes_plan_pois_from_alternatives", + "label": ".test_excludes_plan_pois_from_alternatives()", + "file_type": "code", + "source_file": "tests/test_alternatives.py", + "source_location": "L123", + "_origin": "ast" + }, + { + "id": "tests_test_alternatives_rationale_1", + "label": "AlternativesFinder \uc720\ub2db \ud14c\uc2a4\ud2b8.", + "file_type": "rationale", + "source_file": "tests/test_alternatives.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "tests_test_bonus_engine", + "label": "test_bonus_engine.py", + "file_type": "code", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "tests_test_bonus_engine_make_poi", + "label": "make_poi()", + "file_type": "code", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L22", + "_origin": "ast" + }, + { + "id": "tests_test_bonus_engine_make_engine", + "label": "make_engine()", + "file_type": "code", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L34", + "_origin": "ast" + }, + { + "id": "tests_test_bonus_engine_testwellnessbonus", + "label": "TestWellnessBonus", + "file_type": "code", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L47", + "_origin": "ast" + }, + { + "id": "tests_test_bonus_engine_testwellnessbonus_test_no_wellness_data_gives_zero", + "label": ".test_no_wellness_data_gives_zero()", + "file_type": "code", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L48", + "_origin": "ast" + }, + { + "id": "tests_test_bonus_engine_testwellnessbonus_test_matching_poi_gives_bonus", + "label": ".test_matching_poi_gives_bonus()", + "file_type": "code", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L54", + "_origin": "ast" + }, + { + "id": "tests_test_bonus_engine_testwellnessbonus_test_two_matching_pois_give_double_bonus", + "label": ".test_two_matching_pois_give_double_bonus()", + "file_type": "code", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L60", + "_origin": "ast" + }, + { + "id": "tests_test_bonus_engine_testwellnessbonus_test_wellness_bonus_capped", + "label": ".test_wellness_bonus_capped()", + "file_type": "code", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L69", + "_origin": "ast" + }, + { + "id": "tests_test_bonus_engine_testwellnessbonus_test_non_matching_poi_no_bonus", + "label": ".test_non_matching_poi_no_bonus()", + "file_type": "code", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L77", + "_origin": "ast" + }, + { + "id": "tests_test_bonus_engine_testwellnessbonus_test_wellness_applies_to_all_party_types", + "label": ".test_wellness_applies_to_all_party_types()", + "file_type": "code", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L83", + "_origin": "ast" + }, + { + "id": "tests_test_bonus_engine_testaccessibilitybonus", + "label": "TestAccessibilityBonus", + "file_type": "code", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L95", + "_origin": "ast" + }, + { + "id": "tests_test_bonus_engine_testaccessibilitybonus_test_accessible_party_gets_bonus", + "label": ".test_accessible_party_gets_bonus()", + "file_type": "code", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L96", + "_origin": "ast" + }, + { + "id": "tests_test_bonus_engine_testaccessibilitybonus_test_non_accessible_party_no_bonus", + "label": ".test_non_accessible_party_no_bonus()", + "file_type": "code", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L103", + "_origin": "ast" + }, + { + "id": "tests_test_bonus_engine_testaccessibilitybonus_test_accessibility_bonus_capped", + "label": ".test_accessibility_bonus_capped()", + "file_type": "code", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L110", + "_origin": "ast" + }, + { + "id": "tests_test_bonus_engine_testpetfriendlybonus", + "label": "TestPetFriendlyBonus", + "file_type": "code", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L122", + "_origin": "ast" + }, + { + "id": "tests_test_bonus_engine_testpetfriendlybonus_test_disabled_gives_zero_even_if_matched", + "label": ".test_disabled_gives_zero_even_if_matched()", + "file_type": "code", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L123", + "_origin": "ast" + }, + { + "id": "tests_test_bonus_engine_testpetfriendlybonus_test_enabled_and_flagged_gives_bonus", + "label": ".test_enabled_and_flagged_gives_bonus()", + "file_type": "code", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L129", + "_origin": "ast" + }, + { + "id": "tests_test_bonus_engine_testpetfriendlybonus_test_enabled_but_not_flagged_no_bonus_no_penalty", + "label": ".test_enabled_but_not_flagged_no_bonus_no_penalty()", + "file_type": "code", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L135", + "_origin": "ast" + }, + { + "id": "tests_test_bonus_engine_testpetfriendlybonus_test_pet_friendly_bonus_capped", + "label": ".test_pet_friendly_bonus_capped()", + "file_type": "code", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L142", + "_origin": "ast" + }, + { + "id": "tests_test_bonus_engine_testpetfriendlybonus_test_pet_friendly_matched_names_populated", + "label": ".test_pet_friendly_matched_names_populated()", + "file_type": "code", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L148", + "_origin": "ast" + }, + { + "id": "tests_test_bonus_engine_testtotalbonuscap", + "label": "TestTotalBonusCap", + "file_type": "code", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L159", + "_origin": "ast" + }, + { + "id": "tests_test_bonus_engine_testtotalbonuscap_test_combined_bonus_capped_at_cap", + "label": ".test_combined_bonus_capped_at_cap()", + "file_type": "code", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L160", + "_origin": "ast" + }, + { + "id": "tests_test_bonus_engine_testtotalbonuscap_test_total_is_sum_when_under_cap", + "label": ".test_total_is_sum_when_under_cap()", + "file_type": "code", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L167", + "_origin": "ast" + }, + { + "id": "tests_test_bonus_engine_testfromdataset", + "label": "TestFromDataset", + "file_type": "code", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L187", + "_origin": "ast" + }, + { + "id": "tests_test_bonus_engine_testfromdataset_test_missing_files_give_empty_engine", + "label": ".test_missing_files_give_empty_engine()", + "file_type": "code", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L188", + "_origin": "ast" + }, + { + "id": "tests_test_bonus_engine_testfromdataset_test_loads_from_json_files", + "label": ".test_loads_from_json_files()", + "file_type": "code", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L197", + "_origin": "ast" + }, + { + "id": "tests_test_bonus_engine_testfromdataset_test_zero_coords_skipped", + "label": ".test_zero_coords_skipped()", + "file_type": "code", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L211", + "_origin": "ast" + }, + { + "id": "tests_test_bonus_engine_testbonusresultfields", + "label": "TestBonusResultFields", + "file_type": "code", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L227", + "_origin": "ast" + }, + { + "id": "tests_test_bonus_engine_testbonusresultfields_test_matched_names_populated", + "label": ".test_matched_names_populated()", + "file_type": "code", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L228", + "_origin": "ast" + }, + { + "id": "tests_test_bonus_engine_testbonusresultfields_test_no_match_empty_lists", + "label": ".test_no_match_empty_lists()", + "file_type": "code", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L234", + "_origin": "ast" + }, + { + "id": "tests_test_bonus_engine_rationale_1", + "label": "Tests for BonusEngine (TDD).", + "file_type": "rationale", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "tests_test_cluster_dispersion", + "label": "test_cluster_dispersion.py", + "file_type": "code", + "source_file": "tests/test_cluster_dispersion.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "tests_test_cluster_dispersion_make_place", + "label": "_make_place()", + "file_type": "code", + "source_file": "tests/test_cluster_dispersion.py", + "source_location": "L17", + "_origin": "ast" + }, + { + "id": "tests_test_cluster_dispersion_test_compact_day_no_penalty", + "label": "test_compact_day_no_penalty()", + "file_type": "code", + "source_file": "tests/test_cluster_dispersion.py", + "source_location": "L24", + "_origin": "ast" + }, + { + "id": "tests_test_cluster_dispersion_test_lightning_pattern_high_penalty", + "label": "test_lightning_pattern_high_penalty()", + "file_type": "code", + "source_file": "tests/test_cluster_dispersion.py", + "source_location": "L38", + "_origin": "ast" + }, + { + "id": "tests_test_cluster_dispersion_test_per_day_independence", + "label": "test_per_day_independence()", + "file_type": "code", + "source_file": "tests/test_cluster_dispersion.py", + "source_location": "L53", + "_origin": "ast" + }, + { + "id": "skipif", + "label": "skipif", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast" + }, + { + "id": "tests_test_cluster_dispersion_test_geo_cluster_backtrack_gyeongju", + "label": "test_geo_cluster_backtrack_gyeongju()", + "file_type": "code", + "source_file": "tests/test_cluster_dispersion.py", + "source_location": "L69", + "_origin": "ast" + }, + { + "id": "tests_test_cluster_dispersion_test_geo_cluster_no_false_positive_sequential", + "label": "test_geo_cluster_no_false_positive_sequential()", + "file_type": "code", + "source_file": "tests/test_cluster_dispersion.py", + "source_location": "L90", + "_origin": "ast" + }, + { + "id": "tests_test_cluster_dispersion_test_geo_cluster_no_double_penalty_when_m3_fires", + "label": "test_geo_cluster_no_double_penalty_when_m3_fires()", + "file_type": "code", + "source_file": "tests/test_cluster_dispersion.py", + "source_location": "L103", + "_origin": "ast" + }, + { + "id": "tests_test_cluster_dispersion_test_sigungu_switches_only", + "label": "test_sigungu_switches_only()", + "file_type": "code", + "source_file": "tests/test_cluster_dispersion.py", + "source_location": "L125", + "_origin": "ast" + }, + { + "id": "tests_test_cluster_dispersion_rationale_1", + "label": "Tests for src/scoring/cluster_dispersion.py \u2014 per-day \uac80\uc99d.", + "file_type": "rationale", + "source_file": "tests/test_cluster_dispersion.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "tests_test_cluster_dispersion_rationale_25", + "label": "\uac19\uc740 \uc2dc\uad70\uad6c + \uac70\ub9ac < 30km \u2192 \ud328\ub110\ud2f0 0.", + "file_type": "rationale", + "source_file": "tests/test_cluster_dispersion.py", + "source_location": "L25", + "_origin": "ast" + }, + { + "id": "tests_test_cluster_dispersion_rationale_39", + "label": "1\uc77c\ucc28\uc5d0 \uc11c\uc6b8\u2194\ubd80\uc0b0 \uc11e\uae30 \u2192 \uac70\ub9ac \uba54\ud2b8\ub9ad CRITICAL + \ucea1 \uc801\uc6a9.", + "file_type": "rationale", + "source_file": "tests/test_cluster_dispersion.py", + "source_location": "L39", + "_origin": "ast" + }, + { + "id": "tests_test_cluster_dispersion_rationale_54", + "label": "Day1=\uc11c\uc6b8 / Day2=\ubd80\uc0b0 (\uac01 day \uc548\uc5d0\uc11c\ub294 \uc751\uc9d1) \u2192 \ud328\ub110\ud2f0 \uc5c6\uc74c.", + "file_type": "rationale", + "source_file": "tests/test_cluster_dispersion.py", + "source_location": "L54", + "_origin": "ast" + }, + { + "id": "tests_test_cluster_dispersion_rationale_70", + "label": "M4: \uacbd\uc8fc \u2014 \ub3d9\uc77c \uc2dc\uad70\uad6c\uc9c0\ub9cc \uc9c0\ub9ac\uc801\uc73c\ub85c \ubd84\uc0b0 \uc655\ubcf5 \u2192 M3=0\uc778\ub370 M4\u22651.", + "file_type": "rationale", + "source_file": "tests/test_cluster_dispersion.py", + "source_location": "L70", + "_origin": "ast" + }, + { + "id": "tests_test_cluster_dispersion_rationale_91", + "label": "M4 false positive: \uac15\ub0a8\u2192\ud64d\ub300 \uc21c\ubc29\ud5a5 \ubc29\ubb38\uc740 \ud328\ub110\ud2f0 \uc5c6\uc5b4\uc57c.", + "file_type": "rationale", + "source_file": "tests/test_cluster_dispersion.py", + "source_location": "L91", + "_origin": "ast" + }, + { + "id": "tests_test_cluster_dispersion_rationale_104", + "label": "M3\uac00 \uc774\ubbf8 \ud0d0\uc9c0\ud55c \uc774\ubca4\ud2b8\uc5d0 M4\uac00 \uc911\ubcf5 \ud328\ub110\ud2f0\ub97c \ucd94\uac00\ud558\uc9c0 \uc54a\ub294\ub2e4. \uac15\ub0a8\uc5ed\u2194\uc5ed\uc0bc\uc5ed: ~0.9km (\uac19\uc740 geo cluster), \ud64d\ub300\uc785\uad6c:\u2026", + "file_type": "rationale", + "source_file": "tests/test_cluster_dispersion.py", + "source_location": "L104", + "_origin": "ast" + }, + { + "id": "tests_test_cluster_dispersion_rationale_126", + "label": "\uac70\ub9ac\ub294 \uc548 \uba40\uc9c0\ub9cc \uc2dc\uad70\uad6c \uc804\ud658 4\ud68c+ \u2192 \uc2dc\uad70\uad6c \ud328\ub110\ud2f0\ub9cc \ubc1c\uc0dd.", + "file_type": "rationale", + "source_file": "tests/test_cluster_dispersion.py", + "source_location": "L126", + "_origin": "ast" + }, + { + "id": "tests_test_congestion_engine", + "label": "test_congestion_engine.py", + "file_type": "code", + "source_file": "tests/test_congestion_engine.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "tests_test_congestion_engine_py_fixture", + "label": "fixture", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast" + }, + { + "id": "tests_test_congestion_engine_engine", + "label": "engine()", + "file_type": "code", + "source_file": "tests/test_congestion_engine.py", + "source_location": "L48", + "_origin": "ast" + }, + { + "id": "parametrize", + "label": "parametrize", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast" + }, + { + "id": "tests_test_congestion_engine_test_score_to_level", + "label": "test_score_to_level()", + "file_type": "code", + "source_file": "tests/test_congestion_engine.py", + "source_location": "L71", + "_origin": "ast" + }, + { + "id": "tests_test_congestion_engine_test_exact_match", + "label": "test_exact_match()", + "file_type": "code", + "source_file": "tests/test_congestion_engine.py", + "source_location": "L79", + "_origin": "ast" + }, + { + "id": "tests_test_congestion_engine_test_exact_match_low_season", + "label": "test_exact_match_low_season()", + "file_type": "code", + "source_file": "tests/test_congestion_engine.py", + "source_location": "L87", + "_origin": "ast" + }, + { + "id": "tests_test_congestion_engine_test_partial_match_substring", + "label": "test_partial_match_substring()", + "file_type": "code", + "source_file": "tests/test_congestion_engine.py", + "source_location": "L98", + "_origin": "ast" + }, + { + "id": "tests_test_congestion_engine_test_partial_match_superstring", + "label": "test_partial_match_superstring()", + "file_type": "code", + "source_file": "tests/test_congestion_engine.py", + "source_location": "L104", + "_origin": "ast" + }, + { + "id": "tests_test_congestion_engine_test_global_fallback", + "label": "test_global_fallback()", + "file_type": "code", + "source_file": "tests/test_congestion_engine.py", + "source_location": "L114", + "_origin": "ast" + }, + { + "id": "tests_test_congestion_engine_test_category_fallback", + "label": "test_category_fallback()", + "file_type": "code", + "source_file": "tests/test_congestion_engine.py", + "source_location": "L120", + "_origin": "ast" + }, + { + "id": "tests_test_congestion_engine_test_invalid_month_raises", + "label": "test_invalid_month_raises()", + "file_type": "code", + "source_file": "tests/test_congestion_engine.py", + "source_location": "L130", + "_origin": "ast" + }, + { + "id": "tests_test_congestion_engine_test_result_is_dataclass", + "label": "test_result_is_dataclass()", + "file_type": "code", + "source_file": "tests/test_congestion_engine.py", + "source_location": "L137", + "_origin": "ast" + }, + { + "id": "tests_test_congestion_engine_test_is_crowded_true", + "label": "test_is_crowded_true()", + "file_type": "code", + "source_file": "tests/test_congestion_engine.py", + "source_location": "L147", + "_origin": "ast" + }, + { + "id": "tests_test_congestion_engine_test_is_crowded_false", + "label": "test_is_crowded_false()", + "file_type": "code", + "source_file": "tests/test_congestion_engine.py", + "source_location": "L151", + "_origin": "ast" + }, + { + "id": "tests_test_congestion_engine_test_score_itinerary", + "label": "test_score_itinerary()", + "file_type": "code", + "source_file": "tests/test_congestion_engine.py", + "source_location": "L155", + "_origin": "ast" + }, + { + "id": "tests_test_congestion_engine_test_missing_csv_raises", + "label": "test_missing_csv_raises()", + "file_type": "code", + "source_file": "tests/test_congestion_engine.py", + "source_location": "L165", + "_origin": "ast" + }, + { + "id": "tests_test_congestion_engine_rationale_1", + "label": "Unit tests for CongestionEngine.", + "file_type": "rationale", + "source_file": "tests/test_congestion_engine.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "tests_test_dwell_db", + "label": "test_dwell_db.py", + "file_type": "code", + "source_file": "tests/test_dwell_db.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "tests_test_dwell_db_testmanualoverride", + "label": "TestManualOverride", + "file_type": "code", + "source_file": "tests/test_dwell_db.py", + "source_location": "L16", + "_origin": "ast" + }, + { + "id": "tests_test_dwell_db_testmanualoverride_test_\uacbd\ubcf5\uad81_returns_manual_source", + "label": ".test_\uacbd\ubcf5\uad81_returns_manual_source()", + "file_type": "code", + "source_file": "tests/test_dwell_db.py", + "source_location": "L17", + "_origin": "ast" + }, + { + "id": "tests_test_dwell_db_testmanualoverride_test_normalization_handles_spaces", + "label": ".test_normalization_handles_spaces()", + "file_type": "code", + "source_file": "tests/test_dwell_db.py", + "source_location": "L23", + "_origin": "ast" + }, + { + "id": "tests_test_dwell_db_testmanualoverride_test_n_seoul_tower_alias", + "label": ".test_n_seoul_tower_alias()", + "file_type": "code", + "source_file": "tests/test_dwell_db.py", + "source_location": "L28", + "_origin": "ast" + }, + { + "id": "tests_test_dwell_db_testlclssystm3", + "label": "TestLclsSystm3", + "file_type": "code", + "source_file": "tests/test_dwell_db.py", + "source_location": "L35", + "_origin": "ast" + }, + { + "id": "tests_test_dwell_db_testlclssystm3_test_museum_code", + "label": ".test_museum_code()", + "file_type": "code", + "source_file": "tests/test_dwell_db.py", + "source_location": "L36", + "_origin": "ast" + }, + { + "id": "tests_test_dwell_db_testlclssystm1fallback", + "label": "TestLclsSystm1Fallback", + "file_type": "code", + "source_file": "tests/test_dwell_db.py", + "source_location": "L43", + "_origin": "ast" + }, + { + "id": "tests_test_dwell_db_testlclssystm1fallback_test_lcls3_unknown_falls_back_to_lcls1", + "label": ".test_lcls3_unknown_falls_back_to_lcls1()", + "file_type": "code", + "source_file": "tests/test_dwell_db.py", + "source_location": "L44", + "_origin": "ast" + }, + { + "id": "tests_test_dwell_db_testcontenttypefallback", + "label": "TestContentTypeFallback", + "file_type": "code", + "source_file": "tests/test_dwell_db.py", + "source_location": "L51", + "_origin": "ast" + }, + { + "id": "tests_test_dwell_db_testcontenttypefallback_test_content_type_used_when_no_lcls", + "label": ".test_content_type_used_when_no_lcls()", + "file_type": "code", + "source_file": "tests/test_dwell_db.py", + "source_location": "L52", + "_origin": "ast" + }, + { + "id": "tests_test_dwell_db_testdefaultfallback", + "label": "TestDefaultFallback", + "file_type": "code", + "source_file": "tests/test_dwell_db.py", + "source_location": "L58", + "_origin": "ast" + }, + { + "id": "tests_test_dwell_db_testdefaultfallback_test_no_info_returns_default", + "label": ".test_no_info_returns_default()", + "file_type": "code", + "source_file": "tests/test_dwell_db.py", + "source_location": "L59", + "_origin": "ast" + }, + { + "id": "tests_test_dwell_db_testistooshort", + "label": "TestIsTooShort", + "file_type": "code", + "source_file": "tests/test_dwell_db.py", + "source_location": "L65", + "_origin": "ast" + }, + { + "id": "tests_test_dwell_db_testistooshort_test_below_50pct_is_too_short", + "label": ".test_below_50pct_is_too_short()", + "file_type": "code", + "source_file": "tests/test_dwell_db.py", + "source_location": "L66", + "_origin": "ast" + }, + { + "id": "tests_test_dwell_db_rationale_1", + "label": "Tests for src/data/dwell_db.py \u2014 5\ub2e8\uacc4 \ud3f4\ubc31 \uac80\uc99d.", + "file_type": "rationale", + "source_file": "tests/test_dwell_db.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "tests_test_estimated_hardfail", + "label": "test_estimated_hardfail.py", + "file_type": "code", + "source_file": "tests/test_estimated_hardfail.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "tests_test_estimated_hardfail_poi", + "label": "_poi()", + "file_type": "code", + "source_file": "tests/test_estimated_hardfail.py", + "source_location": "L8", + "_origin": "ast" + }, + { + "id": "tests_test_estimated_hardfail_plan", + "label": "_plan()", + "file_type": "code", + "source_file": "tests/test_estimated_hardfail.py", + "source_location": "L22", + "_origin": "ast" + }, + { + "id": "tests_test_estimated_hardfail_test_estimated_hours_conflict_flagged_estimated", + "label": "test_estimated_hours_conflict_flagged_estimated()", + "file_type": "code", + "source_file": "tests/test_estimated_hardfail.py", + "source_location": "L31", + "_origin": "ast" + }, + { + "id": "tests_test_estimated_hardfail_test_verified_hours_conflict_not_estimated_and_message_unchanged", + "label": "test_verified_hours_conflict_not_estimated_and_message_unchanged()", + "file_type": "code", + "source_file": "tests/test_estimated_hardfail.py", + "source_location": "L41", + "_origin": "ast" + }, + { + "id": "tests_test_estimated_hardfail_rationale_1", + "label": "P1: \ucd94\uc815 \uc601\uc5c5\uc2dc\uac04 \ucda9\ub3cc\uc758 \ud558\ub4dc\ud398\uc77c \uac15\ub4f1 \ud14c\uc2a4\ud2b8.", + "file_type": "rationale", + "source_file": "tests/test_estimated_hardfail.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "tests_test_explain_engine", + "label": "test_explain_engine.py", + "file_type": "code", + "source_file": "tests/test_explain_engine.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "tests_test_explain_engine_make_plan", + "label": "make_plan()", + "file_type": "code", + "source_file": "tests/test_explain_engine.py", + "source_location": "L34", + "_origin": "ast" + }, + { + "id": "tests_test_explain_engine_make_scores", + "label": "make_scores()", + "file_type": "code", + "source_file": "tests/test_explain_engine.py", + "source_location": "L43", + "_origin": "ast" + }, + { + "id": "tests_test_explain_engine_make_hard_fail", + "label": "make_hard_fail()", + "file_type": "code", + "source_file": "tests/test_explain_engine.py", + "source_location": "L47", + "_origin": "ast" + }, + { + "id": "tests_test_explain_engine_make_warning", + "label": "make_warning()", + "file_type": "code", + "source_file": "tests/test_explain_engine.py", + "source_location": "L57", + "_origin": "ast" + }, + { + "id": "tests_test_explain_engine_make_graph_stub", + "label": "make_graph_stub()", + "file_type": "code", + "source_file": "tests/test_explain_engine.py", + "source_location": "L65", + "_origin": "ast" + }, + { + "id": "tests_test_explain_engine_make_disabled_graph_stub", + "label": "make_disabled_graph_stub()", + "file_type": "code", + "source_file": "tests/test_explain_engine.py", + "source_location": "L83", + "_origin": "ast" + }, + { + "id": "tests_test_explain_engine_testcachekey", + "label": "TestCacheKey", + "file_type": "code", + "source_file": "tests/test_explain_engine.py", + "source_location": "L93", + "_origin": "ast" + }, + { + "id": "tests_test_explain_engine_testcachekey_test_same_inputs_same_key", + "label": ".test_same_inputs_same_key()", + "file_type": "code", + "source_file": "tests/test_explain_engine.py", + "source_location": "L94", + "_origin": "ast" + }, + { + "id": "tests_test_explain_engine_testcachekey_test_different_score_different_key", + "label": ".test_different_score_different_key()", + "file_type": "code", + "source_file": "tests/test_explain_engine.py", + "source_location": "L100", + "_origin": "ast" + }, + { + "id": "tests_test_explain_engine_testcachekey_test_empty_inputs", + "label": ".test_empty_inputs()", + "file_type": "code", + "source_file": "tests/test_explain_engine.py", + "source_location": "L104", + "_origin": "ast" + }, + { + "id": "tests_test_explain_engine_testcachekey_test_different_day_index_different_key", + "label": ".test_different_day_index_different_key()", + "file_type": "code", + "source_file": "tests/test_explain_engine.py", + "source_location": "L108", + "_origin": "ast" + }, + { + "id": "tests_test_explain_engine_testgraphcontext", + "label": "TestGraphContext", + "file_type": "code", + "source_file": "tests/test_explain_engine.py", + "source_location": "L120", + "_origin": "ast" + }, + { + "id": "tests_test_explain_engine_testgraphcontext_test_none_graph_returns_none", + "label": ".test_none_graph_returns_none()", + "file_type": "code", + "source_file": "tests/test_explain_engine.py", + "source_location": "L121", + "_origin": "ast" + }, + { + "id": "tests_test_explain_engine_testgraphcontext_test_disabled_graph_returns_none", + "label": ".test_disabled_graph_returns_none()", + "file_type": "code", + "source_file": "tests/test_explain_engine.py", + "source_location": "L124", + "_origin": "ast" + }, + { + "id": "tests_test_explain_engine_testgraphcontext_test_empty_poi_name_returns_none", + "label": ".test_empty_poi_name_returns_none()", + "file_type": "code", + "source_file": "tests/test_explain_engine.py", + "source_location": "L127", + "_origin": "ast" + }, + { + "id": "tests_test_explain_engine_testgraphcontext_test_no_match_returns_none", + "label": ".test_no_match_returns_none()", + "file_type": "code", + "source_file": "tests/test_explain_engine.py", + "source_location": "L130", + "_origin": "ast" + }, + { + "id": "tests_test_explain_engine_testgraphcontext_test_match_includes_region_and_category", + "label": ".test_match_includes_region_and_category()", + "file_type": "code", + "source_file": "tests/test_explain_engine.py", + "source_location": "L135", + "_origin": "ast" + }, + { + "id": "tests_test_explain_engine_testgraphcontext_test_match_includes_nearby_alternatives", + "label": ".test_match_includes_nearby_alternatives()", + "file_type": "code", + "source_file": "tests/test_explain_engine.py", + "source_location": "L140", + "_origin": "ast" + }, + { + "id": "tests_test_explain_engine_testgraphcontext_test_no_nearby_omits_key", + "label": ".test_no_nearby_omits_key()", + "file_type": "code", + "source_file": "tests/test_explain_engine.py", + "source_location": "L145", + "_origin": "ast" + }, + { + "id": "tests_test_explain_engine_testbuilduserprompt", + "label": "TestBuildUserPrompt", + "file_type": "code", + "source_file": "tests/test_explain_engine.py", + "source_location": "L154", + "_origin": "ast" + }, + { + "id": "tests_test_explain_engine_testbuilduserprompt_test_contains_plan_info", + "label": ".test_contains_plan_info()", + "file_type": "code", + "source_file": "tests/test_explain_engine.py", + "source_location": "L155", + "_origin": "ast" + }, + { + "id": "tests_test_explain_engine_testbuilduserprompt_test_hard_fail_in_prompt", + "label": ".test_hard_fail_in_prompt()", + "file_type": "code", + "source_file": "tests/test_explain_engine.py", + "source_location": "L160", + "_origin": "ast" + }, + { + "id": "tests_test_explain_engine_testbuilduserprompt_test_warning_in_prompt", + "label": ".test_warning_in_prompt()", + "file_type": "code", + "source_file": "tests/test_explain_engine.py", + "source_location": "L165", + "_origin": "ast" + }, + { + "id": "tests_test_explain_engine_testbuilduserprompt_test_penalty_in_prompt", + "label": ".test_penalty_in_prompt()", + "file_type": "code", + "source_file": "tests/test_explain_engine.py", + "source_location": "L169", + "_origin": "ast" + }, + { + "id": "tests_test_explain_engine_testbuilduserprompt_test_scores_included_when_provided", + "label": ".test_scores_included_when_provided()", + "file_type": "code", + "source_file": "tests/test_explain_engine.py", + "source_location": "L173", + "_origin": "ast" + }, + { + "id": "tests_test_explain_engine_testbuilduserprompt_test_overall_item_present", + "label": ".test_overall_item_present()", + "file_type": "code", + "source_file": "tests/test_explain_engine.py", + "source_location": "L177", + "_origin": "ast" + }, + { + "id": "tests_test_explain_engine_testbuilduserprompt_test_graph_evidence_included_when_matched", + "label": ".test_graph_evidence_included_when_matched()", + "file_type": "code", + "source_file": "tests/test_explain_engine.py", + "source_location": "L182", + "_origin": "ast" + }, + { + "id": "tests_test_explain_engine_testbuilduserprompt_test_no_graph_omits_evidence_key", + "label": ".test_no_graph_omits_evidence_key()", + "file_type": "code", + "source_file": "tests/test_explain_engine.py", + "source_location": "L190", + "_origin": "ast" + }, + { + "id": "tests_test_explain_engine_testbuilduserprompt_test_day_index_included_for_hard_fail", + "label": ".test_day_index_included_for_hard_fail()", + "file_type": "code", + "source_file": "tests/test_explain_engine.py", + "source_location": "L194", + "_origin": "ast" + }, + { + "id": "tests_test_explain_engine_testbuilduserprompt_test_day_index_included_for_warning", + "label": ".test_day_index_included_for_warning()", + "file_type": "code", + "source_file": "tests/test_explain_engine.py", + "source_location": "L200", + "_origin": "ast" + }, + { + "id": "tests_test_explain_engine_testbuilduserprompt_test_no_day_index_omits_day_field", + "label": ".test_no_day_index_omits_day_field()", + "file_type": "code", + "source_file": "tests/test_explain_engine.py", + "source_location": "L209", + "_origin": "ast" + }, + { + "id": "tests_test_explain_engine_testbuilduserprompt_test_warning_graph_evidence_uses_first_poi_name", + "label": ".test_warning_graph_evidence_uses_first_poi_name()", + "file_type": "code", + "source_file": "tests/test_explain_engine.py", + "source_location": "L213", + "_origin": "ast" + }, + { + "id": "tests_test_explain_engine_testparsellmresponse", + "label": "TestParseLlmResponse", + "file_type": "code", + "source_file": "tests/test_explain_engine.py", + "source_location": "L225", + "_origin": "ast" + }, + { + "id": "tests_test_explain_engine_testparsellmresponse_test_parses_valid_json_array", + "label": ".test_parses_valid_json_array()", + "file_type": "code", + "source_file": "tests/test_explain_engine.py", + "source_location": "L226", + "_origin": "ast" + }, + { + "id": "tests_test_explain_engine_testparsellmresponse_test_strips_code_block_wrapper", + "label": ".test_strips_code_block_wrapper()", + "file_type": "code", + "source_file": "tests/test_explain_engine.py", + "source_location": "L240", + "_origin": "ast" + }, + { + "id": "tests_test_explain_engine_testparsellmresponse_test_multiple_items", + "label": ".test_multiple_items()", + "file_type": "code", + "source_file": "tests/test_explain_engine.py", + "source_location": "L246", + "_origin": "ast" + }, + { + "id": "tests_test_explain_engine_testparsellmresponse_test_returns_explanation_items", + "label": ".test_returns_explanation_items()", + "file_type": "code", + "source_file": "tests/test_explain_engine.py", + "source_location": "L254", + "_origin": "ast" + }, + { + "id": "tests_test_explain_engine_testparsellmresponse_test_day_index_echoed_back", + "label": ".test_day_index_echoed_back()", + "file_type": "code", + "source_file": "tests/test_explain_engine.py", + "source_location": "L262", + "_origin": "ast" + }, + { + "id": "tests_test_explain_engine_testparsellmresponse_test_missing_day_index_defaults_to_none", + "label": ".test_missing_day_index_defaults_to_none()", + "file_type": "code", + "source_file": "tests/test_explain_engine.py", + "source_location": "L270", + "_origin": "ast" + }, + { + "id": "tests_test_explain_engine_testfallback", + "label": "TestFallback", + "file_type": "code", + "source_file": "tests/test_explain_engine.py", + "source_location": "L283", + "_origin": "ast" + }, + { + "id": "tests_test_explain_engine_testfallback_test_hard_fail_becomes_critical", + "label": ".test_hard_fail_becomes_critical()", + "file_type": "code", + "source_file": "tests/test_explain_engine.py", + "source_location": "L284", + "_origin": "ast" + }, + { + "id": "tests_test_explain_engine_testfallback_test_warning_becomes_warning", + "label": ".test_warning_becomes_warning()", + "file_type": "code", + "source_file": "tests/test_explain_engine.py", + "source_location": "L289", + "_origin": "ast" + }, + { + "id": "tests_test_explain_engine_testfallback_test_large_penalty_is_critical", + "label": ".test_large_penalty_is_critical()", + "file_type": "code", + "source_file": "tests/test_explain_engine.py", + "source_location": "L294", + "_origin": "ast" + }, + { + "id": "tests_test_explain_engine_testfallback_test_small_penalty_is_warning", + "label": ".test_small_penalty_is_warning()", + "file_type": "code", + "source_file": "tests/test_explain_engine.py", + "source_location": "L299", + "_origin": "ast" + }, + { + "id": "tests_test_explain_engine_testfallback_test_always_has_overall_item", + "label": ".test_always_has_overall_item()", + "file_type": "code", + "source_file": "tests/test_explain_engine.py", + "source_location": "L304", + "_origin": "ast" + }, + { + "id": "tests_test_explain_engine_testfallback_test_failed_overall_is_critical", + "label": ".test_failed_overall_is_critical()", + "file_type": "code", + "source_file": "tests/test_explain_engine.py", + "source_location": "L314", + "_origin": "ast" + }, + { + "id": "tests_test_explain_engine_testfallback_test_passed_overall_is_ok", + "label": ".test_passed_overall_is_ok()", + "file_type": "code", + "source_file": "tests/test_explain_engine.py", + "source_location": "L319", + "_origin": "ast" + }, + { + "id": "tests_test_explain_engine_testfallback_test_hard_fail_day_index_propagated_and_prefixed", + "label": ".test_hard_fail_day_index_propagated_and_prefixed()", + "file_type": "code", + "source_file": "tests/test_explain_engine.py", + "source_location": "L324", + "_origin": "ast" + }, + { + "id": "tests_test_explain_engine_testfallback_test_warning_day_index_propagated_and_prefixed", + "label": ".test_warning_day_index_propagated_and_prefixed()", + "file_type": "code", + "source_file": "tests/test_explain_engine.py", + "source_location": "L332", + "_origin": "ast" + }, + { + "id": "tests_test_explain_engine_testfallback_test_no_day_index_no_prefix", + "label": ".test_no_day_index_no_prefix()", + "file_type": "code", + "source_file": "tests/test_explain_engine.py", + "source_location": "L340", + "_origin": "ast" + }, + { + "id": "tests_test_explain_engine_testexplainenginenollm", + "label": "TestExplainEngineNoLLM", + "file_type": "code", + "source_file": "tests/test_explain_engine.py", + "source_location": "L351", + "_origin": "ast" + }, + { + "id": "tests_test_explain_engine_testexplainenginenollm_setup_method", + "label": ".setup_method()", + "file_type": "code", + "source_file": "tests/test_explain_engine.py", + "source_location": "L352", + "_origin": "ast" + }, + { + "id": "tests_test_explain_engine_testexplainenginenollm_test_is_available_false_without_key", + "label": ".test_is_available_false_without_key()", + "file_type": "code", + "source_file": "tests/test_explain_engine.py", + "source_location": "L356", + "_origin": "ast" + }, + { + "id": "tests_test_explain_engine_testexplainenginenollm_test_generate_returns_list_of_explanation_items", + "label": ".test_generate_returns_list_of_explanation_items()", + "file_type": "code", + "source_file": "tests/test_explain_engine.py", + "source_location": "L359", + "_origin": "ast" + }, + { + "id": "tests_test_explain_engine_testexplainenginenollm_test_no_issues_returns_ok_overall", + "label": ".test_no_issues_returns_ok_overall()", + "file_type": "code", + "source_file": "tests/test_explain_engine.py", + "source_location": "L372", + "_origin": "ast" + }, + { + "id": "tests_test_explain_engine_testexplainenginenollm_test_hard_fail_present_in_results", + "label": ".test_hard_fail_present_in_results()", + "file_type": "code", + "source_file": "tests/test_explain_engine.py", + "source_location": "L381", + "_origin": "ast" + }, + { + "id": "tests_test_explain_engine_testexplainenginenollm_test_warning_present_in_results", + "label": ".test_warning_present_in_results()", + "file_type": "code", + "source_file": "tests/test_explain_engine.py", + "source_location": "L389", + "_origin": "ast" + }, + { + "id": "tests_test_explain_engine_testexplainenginenollm_test_penalty_present_in_results", + "label": ".test_penalty_present_in_results()", + "file_type": "code", + "source_file": "tests/test_explain_engine.py", + "source_location": "L397", + "_origin": "ast" + }, + { + "id": "tests_test_explain_engine_testexplainenginemockllm", + "label": "TestExplainEngineMockLLM", + "file_type": "code", + "source_file": "tests/test_explain_engine.py", + "source_location": "L410", + "_origin": "ast" + }, + { + "id": "tests_test_explain_engine_testexplainenginemockllm_make_mock_client", + "label": "._make_mock_client()", + "file_type": "code", + "source_file": "tests/test_explain_engine.py", + "source_location": "L411", + "_origin": "ast" + }, + { + "id": "tests_test_explain_engine_testexplainenginemockllm_test_llm_response_used_when_available", + "label": ".test_llm_response_used_when_available()", + "file_type": "code", + "source_file": "tests/test_explain_engine.py", + "source_location": "L421", + "_origin": "ast" + }, + { + "id": "tests_test_explain_engine_testexplainenginemockllm_test_llm_failure_falls_back_gracefully", + "label": ".test_llm_failure_falls_back_gracefully()", + "file_type": "code", + "source_file": "tests/test_explain_engine.py", + "source_location": "L445", + "_origin": "ast" + }, + { + "id": "tests_test_explain_engine_testexplainenginemockllm_test_cache_prevents_second_llm_call", + "label": ".test_cache_prevents_second_llm_call()", + "file_type": "code", + "source_file": "tests/test_explain_engine.py", + "source_location": "L456", + "_origin": "ast" + }, + { + "id": "tests_test_explain_engine_testexplainenginemockllm_test_is_available_with_client", + "label": ".test_is_available_with_client()", + "file_type": "code", + "source_file": "tests/test_explain_engine.py", + "source_location": "L472", + "_origin": "ast" + }, + { + "id": "tests_test_explain_engine_testexplainenginemockllm_test_graph_evidence_reaches_llm_prompt", + "label": ".test_graph_evidence_reaches_llm_prompt()", + "file_type": "code", + "source_file": "tests/test_explain_engine.py", + "source_location": "L477", + "_origin": "ast" + }, + { + "id": "tests_test_explain_engine_testexplainenginegraphdefault", + "label": "TestExplainEngineGraphDefault", + "file_type": "code", + "source_file": "tests/test_explain_engine.py", + "source_location": "L496", + "_origin": "ast" + }, + { + "id": "tests_test_explain_engine_testexplainenginegraphdefault_test_default_graph_disabled_without_env", + "label": ".test_default_graph_disabled_without_env()", + "file_type": "code", + "source_file": "tests/test_explain_engine.py", + "source_location": "L497", + "_origin": "ast" + }, + { + "id": "tests_test_explain_engine_testbuildalternatives", + "label": "TestBuildAlternatives", + "file_type": "code", + "source_file": "tests/test_explain_engine.py", + "source_location": "L507", + "_origin": "ast" + }, + { + "id": "tests_test_explain_engine_testbuildalternatives_test_no_hard_fails_returns_empty", + "label": ".test_no_hard_fails_returns_empty()", + "file_type": "code", + "source_file": "tests/test_explain_engine.py", + "source_location": "L508", + "_origin": "ast" + }, + { + "id": "tests_test_explain_engine_testbuildalternatives_test_disabled_graph_returns_empty", + "label": ".test_disabled_graph_returns_empty()", + "file_type": "code", + "source_file": "tests/test_explain_engine.py", + "source_location": "L512", + "_origin": "ast" + }, + { + "id": "tests_test_explain_engine_testbuildalternatives_test_hard_fail_without_poi_name_skipped", + "label": ".test_hard_fail_without_poi_name_skipped()", + "file_type": "code", + "source_file": "tests/test_explain_engine.py", + "source_location": "L518", + "_origin": "ast" + }, + { + "id": "tests_test_explain_engine_testbuildalternatives_test_match_returns_alternatives_keyed_by_poi_name", + "label": ".test_match_returns_alternatives_keyed_by_poi_name()", + "file_type": "code", + "source_file": "tests/test_explain_engine.py", + "source_location": "L524", + "_origin": "ast" + }, + { + "id": "tests_test_explain_engine_testbuildalternatives_test_no_nearby_omits_poi", + "label": ".test_no_nearby_omits_poi()", + "file_type": "code", + "source_file": "tests/test_explain_engine.py", + "source_location": "L532", + "_origin": "ast" + }, + { + "id": "tests_test_explain_engine_testbuildalternatives_test_no_search_match_omits_poi", + "label": ".test_no_search_match_omits_poi()", + "file_type": "code", + "source_file": "tests/test_explain_engine.py", + "source_location": "L540", + "_origin": "ast" + }, + { + "id": "tests_test_explain_engine_testbuildalternatives_test_duplicate_poi_name_only_looked_up_once", + "label": ".test_duplicate_poi_name_only_looked_up_once()", + "file_type": "code", + "source_file": "tests/test_explain_engine.py", + "source_location": "L548", + "_origin": "ast" + }, + { + "id": "tests_test_explain_engine_rationale_1", + "label": "Tests for ExplainEngine (TDD) \u2014 LLM\uc740 mock\uc73c\ub85c \ub300\uccb4.", + "file_type": "rationale", + "source_file": "tests/test_explain_engine.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "tests_test_explain_engine_rationale_66", + "label": "GraphRetriever \uc2a4\ud141 \u2014 \uc2e4\uc81c Neo4j \uc5f0\uacb0 \uc5c6\uc774 \uc131\uc0b0\uc77c\ucd9c\ubd09 \uac80\uc0c9 \uacb0\uacfc\ub97c \ud749\ub0b4\ub0b8\ub2e4.", + "file_type": "rationale", + "source_file": "tests/test_explain_engine.py", + "source_location": "L66", + "_origin": "ast" + }, + { + "id": "tests_test_geo", + "label": "test_geo.py", + "file_type": "code", + "source_file": "tests/test_geo.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "tests_test_geo_make_poi", + "label": "make_poi()", + "file_type": "code", + "source_file": "tests/test_geo.py", + "source_location": "L10", + "_origin": "ast" + }, + { + "id": "tests_test_geo_testhaversinekm", + "label": "TestHaversineKm", + "file_type": "code", + "source_file": "tests/test_geo.py", + "source_location": "L23", + "_origin": "ast" + }, + { + "id": "tests_test_geo_testhaversinekm_test_same_point_is_zero", + "label": ".test_same_point_is_zero()", + "file_type": "code", + "source_file": "tests/test_geo.py", + "source_location": "L24", + "_origin": "ast" + }, + { + "id": "tests_test_geo_testhaversinekm_test_known_distance", + "label": ".test_known_distance()", + "file_type": "code", + "source_file": "tests/test_geo.py", + "source_location": "L27", + "_origin": "ast" + }, + { + "id": "tests_test_geo_testhaversinekm_test_symmetric", + "label": ".test_symmetric()", + "file_type": "code", + "source_file": "tests/test_geo.py", + "source_location": "L32", + "_origin": "ast" + }, + { + "id": "tests_test_geo_testhaversinekm_test_positive", + "label": ".test_positive()", + "file_type": "code", + "source_file": "tests/test_geo.py", + "source_location": "L37", + "_origin": "ast" + }, + { + "id": "tests_test_geo_testbuilddistcache", + "label": "TestBuildDistCache", + "file_type": "code", + "source_file": "tests/test_geo.py", + "source_location": "L45", + "_origin": "ast" + }, + { + "id": "tests_test_geo_testbuilddistcache_test_all_pairs_present", + "label": ".test_all_pairs_present()", + "file_type": "code", + "source_file": "tests/test_geo.py", + "source_location": "L46", + "_origin": "ast" + }, + { + "id": "tests_test_geo_testbuilddistcache_test_no_self_pairs", + "label": ".test_no_self_pairs()", + "file_type": "code", + "source_file": "tests/test_geo.py", + "source_location": "L54", + "_origin": "ast" + }, + { + "id": "tests_test_geo_testbuilddistcache_test_values_match_haversine", + "label": ".test_values_match_haversine()", + "file_type": "code", + "source_file": "tests/test_geo.py", + "source_location": "L60", + "_origin": "ast" + }, + { + "id": "tests_test_geo_testbuilddistcache_test_single_poi_empty_cache", + "label": ".test_single_poi_empty_cache()", + "file_type": "code", + "source_file": "tests/test_geo.py", + "source_location": "L70", + "_origin": "ast" + }, + { + "id": "tests_test_geo_testbuilddistcache_test_empty_list_empty_cache", + "label": ".test_empty_list_empty_cache()", + "file_type": "code", + "source_file": "tests/test_geo.py", + "source_location": "L75", + "_origin": "ast" + }, + { + "id": "tests_test_geo_testnnheuristickm", + "label": "TestNnHeuristicKm", + "file_type": "code", + "source_file": "tests/test_geo.py", + "source_location": "L83", + "_origin": "ast" + }, + { + "id": "tests_test_geo_testnnheuristickm_test_single_poi_returns_zero", + "label": ".test_single_poi_returns_zero()", + "file_type": "code", + "source_file": "tests/test_geo.py", + "source_location": "L84", + "_origin": "ast" + }, + { + "id": "tests_test_geo_testnnheuristickm_test_two_pois_returns_distance", + "label": ".test_two_pois_returns_distance()", + "file_type": "code", + "source_file": "tests/test_geo.py", + "source_location": "L88", + "_origin": "ast" + }, + { + "id": "tests_test_geo_testnnheuristickm_test_nn_le_actual_for_suboptimal", + "label": ".test_nn_le_actual_for_suboptimal()", + "file_type": "code", + "source_file": "tests/test_geo.py", + "source_location": "L93", + "_origin": "ast" + }, + { + "id": "tests_test_geo_testnnheuristickm_test_cache_gives_same_result", + "label": ".test_cache_gives_same_result()", + "file_type": "code", + "source_file": "tests/test_geo.py", + "source_location": "L109", + "_origin": "ast" + }, + { + "id": "tests_test_geo_testnnheuristickm_test_collinear_optimal_order_matches_nn", + "label": ".test_collinear_optimal_order_matches_nn()", + "file_type": "code", + "source_file": "tests/test_geo.py", + "source_location": "L114", + "_origin": "ast" + }, + { + "id": "tests_test_geo_testgettravelmin", + "label": "TestGetTravelMin", + "file_type": "code", + "source_file": "tests/test_geo.py", + "source_location": "L128", + "_origin": "ast" + }, + { + "id": "tests_test_geo_testgettravelmin_test_uses_matrix_when_available", + "label": ".test_uses_matrix_when_available()", + "file_type": "code", + "source_file": "tests/test_geo.py", + "source_location": "L129", + "_origin": "ast" + }, + { + "id": "tests_test_geo_testgettravelmin_test_haversine_fallback_when_no_matrix", + "label": ".test_haversine_fallback_when_no_matrix()", + "file_type": "code", + "source_file": "tests/test_geo.py", + "source_location": "L135", + "_origin": "ast" + }, + { + "id": "tests_test_geo_testgettravelmin_test_cache_fallback_when_no_matrix", + "label": ".test_cache_fallback_when_no_matrix()", + "file_type": "code", + "source_file": "tests/test_geo.py", + "source_location": "L143", + "_origin": "ast" + }, + { + "id": "tests_test_geo_testgettravelmin_test_matrix_takes_priority_over_cache", + "label": ".test_matrix_takes_priority_over_cache()", + "file_type": "code", + "source_file": "tests/test_geo.py", + "source_location": "L150", + "_origin": "ast" + }, + { + "id": "tests_test_geo_rationale_1", + "label": "Tests for src/utils/geo.py (TDD).", + "file_type": "rationale", + "source_file": "tests/test_geo.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "tests_test_graph_retriever", + "label": "test_graph_retriever.py", + "file_type": "code", + "source_file": "tests/test_graph_retriever.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "tests_test_graph_retriever_test_disabled_without_uri_returns_empty", + "label": "test_disabled_without_uri_returns_empty()", + "file_type": "code", + "source_file": "tests/test_graph_retriever.py", + "source_location": "L12", + "_origin": "ast" + }, + { + "id": "tests_test_graph_retriever_test_search_places_parses_records", + "label": "test_search_places_parses_records()", + "file_type": "code", + "source_file": "tests/test_graph_retriever.py", + "source_location": "L19", + "_origin": "ast" + }, + { + "id": "tests_test_graph_retriever_test_search_places_empty_query_skips_call", + "label": "test_search_places_empty_query_skips_call()", + "file_type": "code", + "source_file": "tests/test_graph_retriever.py", + "source_location": "L39", + "_origin": "ast" + }, + { + "id": "tests_test_graph_retriever_test_search_places_neo4j_error_returns_empty", + "label": "test_search_places_neo4j_error_returns_empty()", + "file_type": "code", + "source_file": "tests/test_graph_retriever.py", + "source_location": "L46", + "_origin": "ast" + }, + { + "id": "tests_test_graph_retriever_test_find_nearby_parses_and_converts_distance", + "label": "test_find_nearby_parses_and_converts_distance()", + "file_type": "code", + "source_file": "tests/test_graph_retriever.py", + "source_location": "L53", + "_origin": "ast" + }, + { + "id": "tests_test_graph_retriever_test_repeated_failures_skip_driver_call_during_cooldown", + "label": "test_repeated_failures_skip_driver_call_during_cooldown()", + "file_type": "code", + "source_file": "tests/test_graph_retriever.py", + "source_location": "L68", + "_origin": "ast" + }, + { + "id": "tests_test_graph_retriever_test_close_closes_driver", + "label": "test_close_closes_driver()", + "file_type": "code", + "source_file": "tests/test_graph_retriever.py", + "source_location": "L79", + "_origin": "ast" + }, + { + "id": "tests_test_graph_retriever_test_from_env_reads_variables", + "label": "test_from_env_reads_variables()", + "file_type": "code", + "source_file": "tests/test_graph_retriever.py", + "source_location": "L86", + "_origin": "ast" + }, + { + "id": "tests_test_graph_retriever_rationale_1", + "label": "GraphRetriever \ud14c\uc2a4\ud2b8 (\uc2e4\uc81c Neo4j \ud638\ucd9c X \u2014 \ubaa8\ub450 mock).", + "file_type": "rationale", + "source_file": "tests/test_graph_retriever.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "tests_test_hard_fail", + "label": "test_hard_fail.py", + "file_type": "code", + "source_file": "tests/test_hard_fail.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "tests_test_hard_fail_make_poi", + "label": "make_poi()", + "file_type": "code", + "source_file": "tests/test_hard_fail.py", + "source_location": "L13", + "_origin": "ast" + }, + { + "id": "tests_test_hard_fail_make_plan", + "label": "make_plan()", + "file_type": "code", + "source_file": "tests/test_hard_fail.py", + "source_location": "L30", + "_origin": "ast" + }, + { + "id": "tests_test_hard_fail_make_matrix", + "label": "make_matrix()", + "file_type": "code", + "source_file": "tests/test_hard_fail.py", + "source_location": "L41", + "_origin": "ast" + }, + { + "id": "tests_test_hard_fail_py_fixture", + "label": "fixture", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast" + }, + { + "id": "tests_test_hard_fail_detector", + "label": "detector()", + "file_type": "code", + "source_file": "tests/test_hard_fail.py", + "source_location": "L58", + "_origin": "ast" + }, + { + "id": "tests_test_hard_fail_open_poi", + "label": "open_poi()", + "file_type": "code", + "source_file": "tests/test_hard_fail.py", + "source_location": "L63", + "_origin": "ast" + }, + { + "id": "tests_test_hard_fail_testhelpers", + "label": "TestHelpers", + "file_type": "code", + "source_file": "tests/test_hard_fail.py", + "source_location": "L71", + "_origin": "ast" + }, + { + "id": "tests_test_hard_fail_testhelpers_test_time_to_min", + "label": ".test_time_to_min()", + "file_type": "code", + "source_file": "tests/test_hard_fail.py", + "source_location": "L72", + "_origin": "ast" + }, + { + "id": "tests_test_hard_fail_testhelpers_test_min_to_time", + "label": ".test_min_to_time()", + "file_type": "code", + "source_file": "tests/test_hard_fail.py", + "source_location": "L75", + "_origin": "ast" + }, + { + "id": "tests_test_hard_fail_testhelpers_test_time_to_min_midnight", + "label": ".test_time_to_min_midnight()", + "file_type": "code", + "source_file": "tests/test_hard_fail.py", + "source_location": "L78", + "_origin": "ast" + }, + { + "id": "tests_test_hard_fail_testhelpers_test_min_to_time_midnight", + "label": ".test_min_to_time_midnight()", + "file_type": "code", + "source_file": "tests/test_hard_fail.py", + "source_location": "L81", + "_origin": "ast" + }, + { + "id": "tests_test_hard_fail_testhelpers_test_min_to_time_wraps_past_24h", + "label": ".test_min_to_time_wraps_past_24h()", + "file_type": "code", + "source_file": "tests/test_hard_fail.py", + "source_location": "L84", + "_origin": "ast" + }, + { + "id": "tests_test_hard_fail_testoperatinghours", + "label": "TestOperatingHours", + "file_type": "code", + "source_file": "tests/test_hard_fail.py", + "source_location": "L92", + "_origin": "ast" + }, + { + "id": "tests_test_hard_fail_testoperatinghours_test_no_fail_within_hours", + "label": ".test_no_fail_within_hours()", + "file_type": "code", + "source_file": "tests/test_hard_fail.py", + "source_location": "L93", + "_origin": "ast" + }, + { + "id": "tests_test_hard_fail_testoperatinghours_test_fail_arrive_before_open", + "label": ".test_fail_arrive_before_open()", + "file_type": "code", + "source_file": "tests/test_hard_fail.py", + "source_location": "L101", + "_origin": "ast" + }, + { + "id": "tests_test_hard_fail_testoperatinghours_test_fail_arrive_after_close", + "label": ".test_fail_arrive_after_close()", + "file_type": "code", + "source_file": "tests/test_hard_fail.py", + "source_location": "L112", + "_origin": "ast" + }, + { + "id": "tests_test_hard_fail_testoperatinghours_test_no_fail_for_fallback_hours", + "label": ".test_no_fail_for_fallback_hours()", + "file_type": "code", + "source_file": "tests/test_hard_fail.py", + "source_location": "L121", + "_origin": "ast" + }, + { + "id": "tests_test_hard_fail_testtraveltimeimpossible", + "label": "TestTravelTimeImpossible", + "file_type": "code", + "source_file": "tests/test_hard_fail.py", + "source_location": "L135", + "_origin": "ast" + }, + { + "id": "tests_test_hard_fail_testtraveltimeimpossible_test_travel_impossible", + "label": ".test_travel_impossible()", + "file_type": "code", + "source_file": "tests/test_hard_fail.py", + "source_location": "L136", + "_origin": "ast" + }, + { + "id": "tests_test_hard_fail_testtraveltimeimpossible_test_no_fail_sufficient_window", + "label": ".test_no_fail_sufficient_window()", + "file_type": "code", + "source_file": "tests/test_hard_fail.py", + "source_location": "L150", + "_origin": "ast" + }, + { + "id": "tests_test_hard_fail_testscheduleinfeasible", + "label": "TestScheduleInfeasible", + "file_type": "code", + "source_file": "tests/test_hard_fail.py", + "source_location": "L165", + "_origin": "ast" + }, + { + "id": "tests_test_hard_fail_testscheduleinfeasible_test_schedule_exceeds_24h", + "label": ".test_schedule_exceeds_24h()", + "file_type": "code", + "source_file": "tests/test_hard_fail.py", + "source_location": "L166", + "_origin": "ast" + }, + { + "id": "tests_test_hard_fail_testscheduleinfeasible_test_schedule_within_24h", + "label": ".test_schedule_within_24h()", + "file_type": "code", + "source_file": "tests/test_hard_fail.py", + "source_location": "L184", + "_origin": "ast" + }, + { + "id": "tests_test_hard_fail_testnormalplan", + "label": "TestNormalPlan", + "file_type": "code", + "source_file": "tests/test_hard_fail.py", + "source_location": "L201", + "_origin": "ast" + }, + { + "id": "tests_test_hard_fail_testnormalplan_test_normal_plan_no_fails", + "label": ".test_normal_plan_no_fails()", + "file_type": "code", + "source_file": "tests/test_hard_fail.py", + "source_location": "L202", + "_origin": "ast" + }, + { + "id": "tests_test_hard_fail_testdayindex", + "label": "TestDayIndex", + "file_type": "code", + "source_file": "tests/test_hard_fail.py", + "source_location": "L221", + "_origin": "ast" + }, + { + "id": "tests_test_hard_fail_testdayindex_test_day_index_defaults_to_none", + "label": ".test_day_index_defaults_to_none()", + "file_type": "code", + "source_file": "tests/test_hard_fail.py", + "source_location": "L222", + "_origin": "ast" + }, + { + "id": "tests_test_hard_fail_testdayindex_test_day_index_set_when_passed", + "label": ".test_day_index_set_when_passed()", + "file_type": "code", + "source_file": "tests/test_hard_fail.py", + "source_location": "L229", + "_origin": "ast" + }, + { + "id": "tests_test_hard_fail_rationale_1", + "label": "Tests for HardFailDetector (TDD).", + "file_type": "rationale", + "source_file": "tests/test_hard_fail.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "tests_test_kakao_local", + "label": "test_kakao_local.py", + "file_type": "code", + "source_file": "tests/test_kakao_local.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "tests_test_kakao_local_ok_response", + "label": "_ok_response()", + "file_type": "code", + "source_file": "tests/test_kakao_local.py", + "source_location": "L10", + "_origin": "ast" + }, + { + "id": "tests_test_kakao_local_test_disabled_without_key_returns_none", + "label": "test_disabled_without_key_returns_none()", + "file_type": "code", + "source_file": "tests/test_kakao_local.py", + "source_location": "L29", + "_origin": "ast" + }, + { + "id": "tests_test_kakao_local_test_search_parses_first_document", + "label": "test_search_parses_first_document()", + "file_type": "code", + "source_file": "tests/test_kakao_local.py", + "source_location": "L35", + "_origin": "ast" + }, + { + "id": "tests_test_kakao_local_test_result_is_cached", + "label": "test_result_is_cached()", + "file_type": "code", + "source_file": "tests/test_kakao_local.py", + "source_location": "L46", + "_origin": "ast" + }, + { + "id": "tests_test_kakao_local_test_empty_documents_returns_none", + "label": "test_empty_documents_returns_none()", + "file_type": "code", + "source_file": "tests/test_kakao_local.py", + "source_location": "L55", + "_origin": "ast" + }, + { + "id": "tests_test_kakao_local_test_http_error_falls_back_to_none", + "label": "test_http_error_falls_back_to_none()", + "file_type": "code", + "source_file": "tests/test_kakao_local.py", + "source_location": "L64", + "_origin": "ast" + }, + { + "id": "tests_test_kakao_local_multi_response", + "label": "_multi_response()", + "file_type": "code", + "source_file": "tests/test_kakao_local.py", + "source_location": "L73", + "_origin": "ast" + }, + { + "id": "tests_test_kakao_local_test_search_keyword_list_parses_all", + "label": "test_search_keyword_list_parses_all()", + "file_type": "code", + "source_file": "tests/test_kakao_local.py", + "source_location": "L87", + "_origin": "ast" + }, + { + "id": "tests_test_kakao_local_test_search_keyword_list_disabled_returns_empty", + "label": "test_search_keyword_list_disabled_returns_empty()", + "file_type": "code", + "source_file": "tests/test_kakao_local.py", + "source_location": "L96", + "_origin": "ast" + }, + { + "id": "tests_test_kakao_local_address_response", + "label": "_address_response()", + "file_type": "code", + "source_file": "tests/test_kakao_local.py", + "source_location": "L101", + "_origin": "ast" + }, + { + "id": "tests_test_kakao_local_test_geocode_address_parses_lat_lng", + "label": "test_geocode_address_parses_lat_lng()", + "file_type": "code", + "source_file": "tests/test_kakao_local.py", + "source_location": "L116", + "_origin": "ast" + }, + { + "id": "tests_test_kakao_local_test_geocode_address_disabled_without_key_returns_none", + "label": "test_geocode_address_disabled_without_key_returns_none()", + "file_type": "code", + "source_file": "tests/test_kakao_local.py", + "source_location": "L124", + "_origin": "ast" + }, + { + "id": "tests_test_kakao_local_test_geocode_address_is_cached", + "label": "test_geocode_address_is_cached()", + "file_type": "code", + "source_file": "tests/test_kakao_local.py", + "source_location": "L129", + "_origin": "ast" + }, + { + "id": "tests_test_kakao_local_test_geocode_address_empty_documents_returns_none", + "label": "test_geocode_address_empty_documents_returns_none()", + "file_type": "code", + "source_file": "tests/test_kakao_local.py", + "source_location": "L138", + "_origin": "ast" + }, + { + "id": "tests_test_kakao_local_test_geocode_address_http_error_falls_back_to_none", + "label": "test_geocode_address_http_error_falls_back_to_none()", + "file_type": "code", + "source_file": "tests/test_kakao_local.py", + "source_location": "L147", + "_origin": "ast" + }, + { + "id": "tests_test_kakao_local_rationale_1", + "label": "KakaoLocalClient \ud14c\uc2a4\ud2b8 (\uc2e4\uc81c API \ud638\ucd9c X \u2014 \ubaa8\ub450 mock).", + "file_type": "rationale", + "source_file": "tests/test_kakao_local.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "tests_test_kakao_matrix", + "label": "test_kakao_matrix.py", + "file_type": "code", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "tests_test_kakao_matrix_place", + "label": "_place()", + "file_type": "code", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L13", + "_origin": "ast" + }, + { + "id": "tests_test_kakao_matrix_ok_response", + "label": "_ok_response()", + "file_type": "code", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L20", + "_origin": "ast" + }, + { + "id": "tests_test_kakao_matrix_httpx_sync_client", + "label": "_httpx_sync_client()", + "file_type": "code", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L33", + "_origin": "ast" + }, + { + "id": "tests_test_kakao_matrix_testsamepoint", + "label": "TestSamePoint", + "file_type": "code", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L47", + "_origin": "ast" + }, + { + "id": "tests_test_kakao_matrix_testsamepoint_test_same_coords_returns_zero", + "label": ".test_same_coords_returns_zero()", + "file_type": "code", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L48", + "_origin": "ast" + }, + { + "id": "tests_test_kakao_matrix_testapicall", + "label": "TestApiCall", + "file_type": "code", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L58", + "_origin": "ast" + }, + { + "id": "tests_test_kakao_matrix_testapicall_test_sync_call_populates_cache", + "label": ".test_sync_call_populates_cache()", + "file_type": "code", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L59", + "_origin": "ast" + }, + { + "id": "tests_test_kakao_matrix_testapicall_test_get_travel_time_uses_cache_after_sync_call", + "label": ".test_get_travel_time_uses_cache_after_sync_call()", + "file_type": "code", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L71", + "_origin": "ast" + }, + { + "id": "tests_test_kakao_matrix_testapicall_test_get_travel_time_second_call_cache_hit", + "label": ".test_get_travel_time_second_call_cache_hit()", + "file_type": "code", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L85", + "_origin": "ast" + }, + { + "id": "tests_test_kakao_matrix_testapicall_test_reverse_direction_also_cached", + "label": ".test_reverse_direction_also_cached()", + "file_type": "code", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L98", + "_origin": "ast" + }, + { + "id": "tests_test_kakao_matrix_testquotaexhaustion", + "label": "TestQuotaExhaustion", + "file_type": "code", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L116", + "_origin": "ast" + }, + { + "id": "tests_test_kakao_matrix_testquotaexhaustion_test_429_sets_quota_exhausted", + "label": ".test_429_sets_quota_exhausted()", + "file_type": "code", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L117", + "_origin": "ast" + }, + { + "id": "tests_test_kakao_matrix_testquotaexhaustion_test_get_travel_time_haversine_fallback_when_no_cache", + "label": ".test_get_travel_time_haversine_fallback_when_no_cache()", + "file_type": "code", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L132", + "_origin": "ast" + }, + { + "id": "tests_test_kakao_matrix_testquotaexhaustion_test_after_quota_exhausted_get_travel_time_falls_back", + "label": ".test_after_quota_exhausted_get_travel_time_falls_back()", + "file_type": "code", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L141", + "_origin": "ast" + }, + { + "id": "tests_test_kakao_matrix_testautherror", + "label": "TestAuthError", + "file_type": "code", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L155", + "_origin": "ast" + }, + { + "id": "tests_test_kakao_matrix_testautherror_test_401_raises", + "label": ".test_401_raises()", + "file_type": "code", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L156", + "_origin": "ast" + }, + { + "id": "tests_test_kakao_matrix_testcachepersistence", + "label": "TestCachePersistence", + "file_type": "code", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L174", + "_origin": "ast" + }, + { + "id": "tests_test_kakao_matrix_testcachepersistence_test_save_and_load_cache", + "label": ".test_save_and_load_cache()", + "file_type": "code", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L175", + "_origin": "ast" + }, + { + "id": "tests_test_kakao_matrix_testfromenv", + "label": "TestFromEnv", + "file_type": "code", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L201", + "_origin": "ast" + }, + { + "id": "tests_test_kakao_matrix_testfromenv_test_no_key_raises", + "label": ".test_no_key_raises()", + "file_type": "code", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L202", + "_origin": "ast" + }, + { + "id": "tests_test_kakao_matrix_testfromenv_test_uses_mobility_key_first", + "label": ".test_uses_mobility_key_first()", + "file_type": "code", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L208", + "_origin": "ast" + }, + { + "id": "tests_test_kakao_matrix_testfromenv_test_falls_back_to_rest_key", + "label": ".test_falls_back_to_rest_key()", + "file_type": "code", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L214", + "_origin": "ast" + }, + { + "id": "tests_test_kakao_matrix_testasyncprefetch", + "label": "TestAsyncPrefetch", + "file_type": "code", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L225", + "_origin": "ast" + }, + { + "id": "tests_test_kakao_matrix_testasyncprefetch_test_aprefetch_populates_cache_and_hit_on_get", + "label": ".test_aprefetch_populates_cache_and_hit_on_get()", + "file_type": "code", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L226", + "_origin": "ast" + }, + { + "id": "tests_test_kakao_matrix_testasyncprefetch_test_aprefetch_deduplicates_bidirectional", + "label": ".test_aprefetch_deduplicates_bidirectional()", + "file_type": "code", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L241", + "_origin": "ast" + }, + { + "id": "tests_test_kakao_matrix_rationale_1", + "label": "KakaoMobilityMatrix \ud14c\uc2a4\ud2b8 (\uc2e4\uc81c API \ud638\ucd9c X \u2014 \ubaa8\ub450 mock).", + "file_type": "rationale", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "tests_test_kakao_matrix_rationale_21", + "label": "\uce74\uce74\uc624 \uc815\uc0c1 \uc751\ub2f5 mock \u2014 duration 600\ucd08.", + "file_type": "rationale", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L21", + "_origin": "ast" + }, + { + "id": "tests_test_kakao_matrix_rationale_34", + "label": "httpx.Client() context manager mock.", + "file_type": "rationale", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L34", + "_origin": "ast" + }, + { + "id": "tests_test_kakao_matrix_rationale_227", + "label": "aprefetch_matrix \ud6c4 get_travel_time\uc774 \uce90\uc2dc\ub97c \uc0ac\uc6a9\ud55c\ub2e4.", + "file_type": "rationale", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L227", + "_origin": "ast" + }, + { + "id": "tests_test_kakao_matrix_rationale_242", + "label": "A\u2192B \uce90\uc2dc \uc874\uc7ac \uc2dc B\u2192A prefetch\ub294 \uc2a4\ud0b5\ub41c\ub2e4.", + "file_type": "rationale", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L242", + "_origin": "ast" + }, + { + "id": "tests_test_party_config", + "label": "test_party_config.py", + "file_type": "code", + "source_file": "tests/test_party_config.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "tests_test_party_config_testpartyprofiles", + "label": "TestPartyProfiles", + "file_type": "code", + "source_file": "tests/test_party_config.py", + "source_location": "L9", + "_origin": "ast" + }, + { + "id": "tests_test_party_config_testpartyprofiles_test_all_types_defined", + "label": ".test_all_types_defined()", + "file_type": "code", + "source_file": "tests/test_party_config.py", + "source_location": "L10", + "_origin": "ast" + }, + { + "id": "tests_test_party_config_testpartyprofiles_test_friends_speed_factor_one", + "label": ".test_friends_speed_factor_one()", + "file_type": "code", + "source_file": "tests/test_party_config.py", + "source_location": "L14", + "_origin": "ast" + }, + { + "id": "tests_test_party_config_testpartyprofiles_test_baby_speed_factor_below_one", + "label": ".test_baby_speed_factor_below_one()", + "file_type": "code", + "source_file": "tests/test_party_config.py", + "source_location": "L17", + "_origin": "ast" + }, + { + "id": "tests_test_party_config_testpartyprofiles_test_elderly_speed_factor_below_one", + "label": ".test_elderly_speed_factor_below_one()", + "file_type": "code", + "source_file": "tests/test_party_config.py", + "source_location": "L20", + "_origin": "ast" + }, + { + "id": "tests_test_party_config_testpartyprofiles_test_baby_fatigue_hours_lower_than_friends", + "label": ".test_baby_fatigue_hours_lower_than_friends()", + "file_type": "code", + "source_file": "tests/test_party_config.py", + "source_location": "L23", + "_origin": "ast" + }, + { + "id": "tests_test_party_config_testpartyprofiles_test_elderly_fatigue_hours_lower_than_friends", + "label": ".test_elderly_fatigue_hours_lower_than_friends()", + "file_type": "code", + "source_file": "tests/test_party_config.py", + "source_location": "L28", + "_origin": "ast" + }, + { + "id": "tests_test_party_config_testpartyprofiles_test_family_fatigue_between_friends_and_baby", + "label": ".test_family_fatigue_between_friends_and_baby()", + "file_type": "code", + "source_file": "tests/test_party_config.py", + "source_location": "L33", + "_origin": "ast" + }, + { + "id": "tests_test_party_config_testpartyprofiles_test_unknown_type_returns_default", + "label": ".test_unknown_type_returns_default()", + "file_type": "code", + "source_file": "tests/test_party_config.py", + "source_location": "L39", + "_origin": "ast" + }, + { + "id": "tests_test_party_config_testpartyprofiles_test_profile_is_frozen", + "label": ".test_profile_is_frozen()", + "file_type": "code", + "source_file": "tests/test_party_config.py", + "source_location": "L44", + "_origin": "ast" + }, + { + "id": "tests_test_party_config_testpartyprofilevalues", + "label": "TestPartyProfileValues", + "file_type": "code", + "source_file": "tests/test_party_config.py", + "source_location": "L50", + "_origin": "ast" + }, + { + "id": "tests_test_party_config_testpartyprofilevalues_test_friends_fatigue_12h", + "label": ".test_friends_fatigue_12h()", + "file_type": "code", + "source_file": "tests/test_party_config.py", + "source_location": "L51", + "_origin": "ast" + }, + { + "id": "tests_test_party_config_testpartyprofilevalues_test_baby_fatigue_8h", + "label": ".test_baby_fatigue_8h()", + "file_type": "code", + "source_file": "tests/test_party_config.py", + "source_location": "L54", + "_origin": "ast" + }, + { + "id": "tests_test_party_config_testpartyprofilevalues_test_elderly_fatigue_8h", + "label": ".test_elderly_fatigue_8h()", + "file_type": "code", + "source_file": "tests/test_party_config.py", + "source_location": "L57", + "_origin": "ast" + }, + { + "id": "tests_test_party_config_testpartyprofilevalues_test_family_fatigue_10h", + "label": ".test_family_fatigue_10h()", + "file_type": "code", + "source_file": "tests/test_party_config.py", + "source_location": "L60", + "_origin": "ast" + }, + { + "id": "tests_test_party_config_testpartyprofilevalues_test_baby_speed_factor_is_point_eight", + "label": ".test_baby_speed_factor_is_point_eight()", + "file_type": "code", + "source_file": "tests/test_party_config.py", + "source_location": "L63", + "_origin": "ast" + }, + { + "id": "tests_test_party_config_testpartyprofilevalues_test_family_speed_factor_is_point_nine", + "label": ".test_family_speed_factor_is_point_nine()", + "file_type": "code", + "source_file": "tests/test_party_config.py", + "source_location": "L66", + "_origin": "ast" + }, + { + "id": "tests_test_party_config_teststrainthresholdlogic", + "label": "TestStrainThresholdLogic", + "file_type": "code", + "source_file": "tests/test_party_config.py", + "source_location": "L70", + "_origin": "ast" + }, + { + "id": "tests_test_party_config_teststrainthresholdlogic_test_baby_threshold_lower_than_friends", + "label": ".test_baby_threshold_lower_than_friends()", + "file_type": "code", + "source_file": "tests/test_party_config.py", + "source_location": "L75", + "_origin": "ast" + }, + { + "id": "tests_test_party_config_teststrainthresholdlogic_test_baby_threshold_is_24km", + "label": ".test_baby_threshold_is_24km()", + "file_type": "code", + "source_file": "tests/test_party_config.py", + "source_location": "L80", + "_origin": "ast" + }, + { + "id": "tests_test_party_config_teststrainthresholdlogic_test_friends_threshold_unchanged", + "label": ".test_friends_threshold_unchanged()", + "file_type": "code", + "source_file": "tests/test_party_config.py", + "source_location": "L84", + "_origin": "ast" + }, + { + "id": "tests_test_party_config_rationale_1", + "label": "PartyProfile \uc218\ub7c9\ud654 \ub85c\uc9c1 \ud14c\uc2a4\ud2b8.", + "file_type": "rationale", + "source_file": "tests/test_party_config.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "tests_test_party_config_rationale_71", + "label": "speed_factor\uac00 \uccb4\ub825 \ubd80\ub2f4 \uc784\uacc4\uc5d0 \uc62c\ubc14\ub974\uac8c \ubc18\uc601\ub418\ub294\uc9c0 \ud655\uc778.", + "file_type": "rationale", + "source_file": "tests/test_party_config.py", + "source_location": "L71", + "_origin": "ast" + }, + { + "id": "tests_test_pipeline_orchestrator", + "label": "test_pipeline_orchestrator.py", + "file_type": "code", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "tests_test_pipeline_orchestrator_make_poi", + "label": "make_poi()", + "file_type": "code", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L17", + "_origin": "ast" + }, + { + "id": "tests_test_pipeline_orchestrator_make_plan", + "label": "make_plan()", + "file_type": "code", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L33", + "_origin": "ast" + }, + { + "id": "tests_test_pipeline_orchestrator_make_multi_day_plan", + "label": "make_multi_day_plan()", + "file_type": "code", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L47", + "_origin": "ast" + }, + { + "id": "tests_test_pipeline_orchestrator_make_empty_bonus_engine", + "label": "make_empty_bonus_engine()", + "file_type": "code", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L56", + "_origin": "ast" + }, + { + "id": "tests_test_pipeline_orchestrator_py_fixture", + "label": "fixture", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast" + }, + { + "id": "tests_test_pipeline_orchestrator_pipeline", + "label": "pipeline()", + "file_type": "code", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L61", + "_origin": "ast" + }, + { + "id": "tests_test_pipeline_orchestrator_sample_pois", + "label": "sample_pois()", + "file_type": "code", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L66", + "_origin": "ast" + }, + { + "id": "tests_test_pipeline_orchestrator_sample_plan", + "label": "sample_plan()", + "file_type": "code", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L76", + "_origin": "ast" + }, + { + "id": "tests_test_pipeline_orchestrator_testtovrptwday", + "label": "TestToVrptwDay", + "file_type": "code", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L84", + "_origin": "ast" + }, + { + "id": "tests_test_pipeline_orchestrator_testtovrptwday_test_converts_poi_fields", + "label": ".test_converts_poi_fields()", + "file_type": "code", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L85", + "_origin": "ast" + }, + { + "id": "tests_test_pipeline_orchestrator_testtovrptwday_test_is_depot_false", + "label": ".test_is_depot_false()", + "file_type": "code", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L94", + "_origin": "ast" + }, + { + "id": "tests_test_pipeline_orchestrator_testpipelinebasic", + "label": "TestPipelineBasic", + "file_type": "code", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L104", + "_origin": "ast" + }, + { + "id": "tests_test_pipeline_orchestrator_testpipelinebasic_test_returns_validation_result", + "label": ".test_returns_validation_result()", + "file_type": "code", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L105", + "_origin": "ast" + }, + { + "id": "tests_test_pipeline_orchestrator_testpipelinebasic_test_final_score_in_range", + "label": ".test_final_score_in_range()", + "file_type": "code", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L113", + "_origin": "ast" + }, + { + "id": "tests_test_pipeline_orchestrator_testpipelinebasic_test_plan_id_matches", + "label": ".test_plan_id_matches()", + "file_type": "code", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L121", + "_origin": "ast" + }, + { + "id": "tests_test_pipeline_orchestrator_testpipelinebasic_test_scores_populated", + "label": ".test_scores_populated()", + "file_type": "code", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L129", + "_origin": "ast" + }, + { + "id": "tests_test_pipeline_orchestrator_testpipelinebasic_test_empty_pois_returns_zero_score", + "label": ".test_empty_pois_returns_zero_score()", + "file_type": "code", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L138", + "_origin": "ast" + }, + { + "id": "tests_test_pipeline_orchestrator_testpipelinebasic_test_base_score_populated", + "label": ".test_base_score_populated()", + "file_type": "code", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L143", + "_origin": "ast" + }, + { + "id": "tests_test_pipeline_orchestrator_testpipelinehardfail", + "label": "TestPipelineHardFail", + "file_type": "code", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L156", + "_origin": "ast" + }, + { + "id": "tests_test_pipeline_orchestrator_testpipelinehardfail_test_open_hours_conflict_caps_score", + "label": ".test_open_hours_conflict_caps_score()", + "file_type": "code", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L157", + "_origin": "ast" + }, + { + "id": "tests_test_pipeline_orchestrator_testpipelinehardfail_test_no_hard_fail_score_above_59_possible", + "label": ".test_no_hard_fail_score_above_59_possible()", + "file_type": "code", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L173", + "_origin": "ast" + }, + { + "id": "tests_test_pipeline_orchestrator_testpipelinehardfail_test_hard_fail_day_index_matches_offending_day", + "label": ".test_hard_fail_day_index_matches_offending_day()", + "file_type": "code", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L181", + "_origin": "ast" + }, + { + "id": "tests_test_pipeline_orchestrator_testpipelinehardfail_test_alternatives_populated_from_explain_engine", + "label": ".test_alternatives_populated_from_explain_engine()", + "file_type": "code", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L196", + "_origin": "ast" + }, + { + "id": "tests_test_pipeline_orchestrator_testpipelinehardfail_test_alternatives_not_computed_without_hard_fails", + "label": ".test_alternatives_not_computed_without_hard_fails()", + "file_type": "code", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L215", + "_origin": "ast" + }, + { + "id": "tests_test_pipeline_orchestrator_testpipelinebreakdown", + "label": "TestPipelineBreakdown", + "file_type": "code", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L225", + "_origin": "ast" + }, + { + "id": "tests_test_pipeline_orchestrator_testpipelinebreakdown_test_breakdown_fields_are_dicts", + "label": ".test_breakdown_fields_are_dicts()", + "file_type": "code", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L226", + "_origin": "ast" + }, + { + "id": "tests_test_pipeline_orchestrator_testpipelinebreakdown_test_wellness_bonus_reflected_in_breakdown", + "label": ".test_wellness_bonus_reflected_in_breakdown()", + "file_type": "code", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L235", + "_origin": "ast" + }, + { + "id": "tests_test_pipeline_orchestrator_testpipelinebreakdown_test_accessibility_bonus_for_accessible_party", + "label": ".test_accessibility_bonus_for_accessible_party()", + "file_type": "code", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L246", + "_origin": "ast" + }, + { + "id": "tests_test_pipeline_orchestrator_testpipelinebreakdown_test_pet_friendly_bonus_when_enabled", + "label": ".test_pet_friendly_bonus_when_enabled()", + "file_type": "code", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L257", + "_origin": "ast" + }, + { + "id": "tests_test_pipeline_orchestrator_testpipelinebreakdown_test_pet_friendly_bonus_absent_when_disabled", + "label": ".test_pet_friendly_bonus_absent_when_disabled()", + "file_type": "code", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L266", + "_origin": "ast" + }, + { + "id": "tests_test_pipeline_orchestrator_testpipelinebreakdown_test_wellness_matched_exposed_on_result", + "label": ".test_wellness_matched_exposed_on_result()", + "file_type": "code", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L274", + "_origin": "ast" + }, + { + "id": "tests_test_pipeline_orchestrator_testpipelinemultiday", + "label": "TestPipelineMultiDay", + "file_type": "code", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L289", + "_origin": "ast" + }, + { + "id": "tests_test_pipeline_orchestrator_testpipelinemultiday_test_multi_day_runs_without_error", + "label": ".test_multi_day_runs_without_error()", + "file_type": "code", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L290", + "_origin": "ast" + }, + { + "id": "tests_test_pipeline_orchestrator_testpipelinemultiday_test_sigungu_codes_accepted", + "label": ".test_sigungu_codes_accepted()", + "file_type": "code", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L301", + "_origin": "ast" + }, + { + "id": "tests_test_pipeline_orchestrator_testpipelinevrptw", + "label": "TestPipelineVRPTW", + "file_type": "code", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L318", + "_origin": "ast" + }, + { + "id": "tests_test_pipeline_orchestrator_testpipelinevrptw_test_vrptw_fields_present", + "label": ".test_vrptw_fields_present()", + "file_type": "code", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L319", + "_origin": "ast" + }, + { + "id": "tests_test_pipeline_orchestrator_testpipelinevrptw_test_vrptw_efficiency_gap_is_float_or_none", + "label": ".test_vrptw_efficiency_gap_is_float_or_none()", + "file_type": "code", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L329", + "_origin": "ast" + }, + { + "id": "tests_test_pipeline_orchestrator_testpipelinevrptw_test_vrptw_efficiency_gap_non_negative", + "label": ".test_vrptw_efficiency_gap_non_negative()", + "file_type": "code", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L337", + "_origin": "ast" + }, + { + "id": "tests_test_pipeline_orchestrator_testpipelinevrptw_test_vrptw_optimal_route_per_day_count", + "label": ".test_vrptw_optimal_route_per_day_count()", + "file_type": "code", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L346", + "_origin": "ast" + }, + { + "id": "tests_test_pipeline_orchestrator_testpipelinevrptw_test_vrptw_penalty_in_breakdown_when_gap_exceeds_threshold", + "label": ".test_vrptw_penalty_in_breakdown_when_gap_exceeds_threshold()", + "file_type": "code", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L359", + "_origin": "ast" + }, + { + "id": "tests_test_pipeline_orchestrator_testpipelinevrptw_test_vrptw_penalty_does_not_double_count_with_single_poi", + "label": ".test_vrptw_penalty_does_not_double_count_with_single_poi()", + "file_type": "code", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L373", + "_origin": "ast" + }, + { + "id": "tests_test_pipeline_orchestrator_testpipelinerepairgainestimation", + "label": "TestPipelineRepairGainEstimation", + "file_type": "code", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L385", + "_origin": "ast" + }, + { + "id": "tests_test_pipeline_orchestrator_testpipelinerepairgainestimation_test_deletion_suggestion_carries_gain_and_resolves_flag", + "label": ".test_deletion_suggestion_carries_gain_and_resolves_flag()", + "file_type": "code", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L386", + "_origin": "ast" + }, + { + "id": "tests_test_pipeline_orchestrator_testpipelinerepairgainestimation_test_no_repair_no_gain_fields_needed", + "label": ".test_no_repair_no_gain_fields_needed()", + "file_type": "code", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L406", + "_origin": "ast" + }, + { + "id": "tests_test_pipeline_orchestrator_rationale_1", + "label": "Tests for ValidatorPipeline (TDD).", + "file_type": "rationale", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "tests_test_pipeline_orchestrator_rationale_387", + "label": "\uc9c0\ub9ac\uc801 \uc774\uc0c1\uce58\uc774\uc790 Hard Fail \uc720\ubc1c POI\ub97c \uc0ad\uc81c\ud558\uba74 \uc810\uc218\uac00 \uc624\ub974\uace0 \ubb38\uc81c\uac00 \ud574\uc18c\ub3fc\uc57c \ud55c\ub2e4.", + "file_type": "rationale", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L387", + "_origin": "ast" + }, + { + "id": "tests_test_pipeline_orchestrator_rationale_407", + "label": "Hard Fail\uc774 \uc5c6\uc73c\uba74 repair \uc790\uccb4\uac00 \ube44\uc5b4 \uc788\uc5b4\uc57c \ud55c\ub2e4 (\uae30\uc874 \ub3d9\uc791 \uc720\uc9c0).", + "file_type": "rationale", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L407", + "_origin": "ast" + }, + { + "id": "tests_test_plan_extractor", + "label": "test_plan_extractor.py", + "file_type": "code", + "source_file": "tests/test_plan_extractor.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "tests_test_plan_extractor_client_returning", + "label": "_client_returning()", + "file_type": "code", + "source_file": "tests/test_plan_extractor.py", + "source_location": "L11", + "_origin": "ast" + }, + { + "id": "tests_test_plan_extractor_test_extract_from_text_parses_llm_response", + "label": "test_extract_from_text_parses_llm_response()", + "file_type": "code", + "source_file": "tests/test_plan_extractor.py", + "source_location": "L19", + "_origin": "ast" + }, + { + "id": "tests_test_plan_extractor_test_extract_from_text_strips_code_fence", + "label": "test_extract_from_text_strips_code_fence()", + "file_type": "code", + "source_file": "tests/test_plan_extractor.py", + "source_location": "L32", + "_origin": "ast" + }, + { + "id": "tests_test_plan_extractor_test_extract_from_text_empty_raises", + "label": "test_extract_from_text_empty_raises()", + "file_type": "code", + "source_file": "tests/test_plan_extractor.py", + "source_location": "L41", + "_origin": "ast" + }, + { + "id": "tests_test_plan_extractor_test_extract_from_text_without_client_falls_back_to_heuristic", + "label": "test_extract_from_text_without_client_falls_back_to_heuristic()", + "file_type": "code", + "source_file": "tests/test_plan_extractor.py", + "source_location": "L47", + "_origin": "ast" + }, + { + "id": "tests_test_plan_extractor_test_extract_from_document_without_client_raises", + "label": "test_extract_from_document_without_client_raises()", + "file_type": "code", + "source_file": "tests/test_plan_extractor.py", + "source_location": "L58", + "_origin": "ast" + }, + { + "id": "tests_test_plan_extractor_test_extract_from_document_empty_bytes_raises", + "label": "test_extract_from_document_empty_bytes_raises()", + "file_type": "code", + "source_file": "tests/test_plan_extractor.py", + "source_location": "L64", + "_origin": "ast" + }, + { + "id": "tests_test_plan_extractor_test_extract_from_document_sends_document_block_for_pdf", + "label": "test_extract_from_document_sends_document_block_for_pdf()", + "file_type": "code", + "source_file": "tests/test_plan_extractor.py", + "source_location": "L70", + "_origin": "ast" + }, + { + "id": "tests_test_plan_extractor_test_extract_from_document_sends_image_block_for_png", + "label": "test_extract_from_document_sends_image_block_for_png()", + "file_type": "code", + "source_file": "tests/test_plan_extractor.py", + "source_location": "L81", + "_origin": "ast" + }, + { + "id": "tests_test_plan_extractor_test_invalid_json_response_raises", + "label": "test_invalid_json_response_raises()", + "file_type": "code", + "source_file": "tests/test_plan_extractor.py", + "source_location": "L91", + "_origin": "ast" + }, + { + "id": "tests_test_plan_extractor_test_api_call_failure_raises_extraction_error", + "label": "test_api_call_failure_raises_extraction_error()", + "file_type": "code", + "source_file": "tests/test_plan_extractor.py", + "source_location": "L97", + "_origin": "ast" + }, + { + "id": "tests_test_plan_extractor_test_system_prompt_uses_prompt_caching", + "label": "test_system_prompt_uses_prompt_caching()", + "file_type": "code", + "source_file": "tests/test_plan_extractor.py", + "source_location": "L106", + "_origin": "ast" + }, + { + "id": "tests_test_plan_extractor_rationale_1", + "label": "PlanExtractor \ud14c\uc2a4\ud2b8 (\uc2e4\uc81c Claude API \ud638\ucd9c X \u2014 \ubaa8\ub450 mock).", + "file_type": "rationale", + "source_file": "tests/test_plan_extractor.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "tests_test_plan_extractor_rationale_107", + "label": "system \ud504\ub86c\ud504\ud2b8\ub294 \ub9e4 \ud638\ucd9c \ub3d9\uc77c\ud558\ubbc0\ub85c ephemeral \uce90\uc2f1 \ub300\uc0c1\uc774\uc5b4\uc57c \ud568(\uc9c0\uc5f0/\ud1a0\ud070 \uc808\uac10).", + "file_type": "rationale", + "source_file": "tests/test_plan_extractor.py", + "source_location": "L107", + "_origin": "ast" + }, + { + "id": "tests_test_region_config", + "label": "test_region_config.py", + "file_type": "code", + "source_file": "tests/test_region_config.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "tests_test_region_config_testgetthresholds", + "label": "TestGetThresholds", + "file_type": "code", + "source_file": "tests/test_region_config.py", + "source_location": "L12", + "_origin": "ast" + }, + { + "id": "tests_test_region_config_testgetthresholds_test_seoul_code_returns_high", + "label": ".test_seoul_code_returns_high()", + "file_type": "code", + "source_file": "tests/test_region_config.py", + "source_location": "L13", + "_origin": "ast" + }, + { + "id": "tests_test_region_config_testgetthresholds_test_busan_code_returns_high", + "label": ".test_busan_code_returns_high()", + "file_type": "code", + "source_file": "tests/test_region_config.py", + "source_location": "L16", + "_origin": "ast" + }, + { + "id": "tests_test_region_config_testgetthresholds_test_daegu_code_returns_medium", + "label": ".test_daegu_code_returns_medium()", + "file_type": "code", + "source_file": "tests/test_region_config.py", + "source_location": "L19", + "_origin": "ast" + }, + { + "id": "tests_test_region_config_testgetthresholds_test_rural_code_returns_low", + "label": ".test_rural_code_returns_low()", + "file_type": "code", + "source_file": "tests/test_region_config.py", + "source_location": "L22", + "_origin": "ast" + }, + { + "id": "tests_test_region_config_testgetthresholds_test_none_returns_medium", + "label": ".test_none_returns_medium()", + "file_type": "code", + "source_file": "tests/test_region_config.py", + "source_location": "L25", + "_origin": "ast" + }, + { + "id": "tests_test_region_config_testgetthresholds_test_unknown_code_returns_low", + "label": ".test_unknown_code_returns_low()", + "file_type": "code", + "source_file": "tests/test_region_config.py", + "source_location": "L28", + "_origin": "ast" + }, + { + "id": "tests_test_region_config_testgetthresholds_test_high_dist_warn_smaller_than_low", + "label": ".test_high_dist_warn_smaller_than_low()", + "file_type": "code", + "source_file": "tests/test_region_config.py", + "source_location": "L31", + "_origin": "ast" + }, + { + "id": "tests_test_region_config_testgetthresholds_test_high_physical_strain_smaller_than_low", + "label": ".test_high_physical_strain_smaller_than_low()", + "file_type": "code", + "source_file": "tests/test_region_config.py", + "source_location": "L34", + "_origin": "ast" + }, + { + "id": "tests_test_region_config_testgetthresholds_test_tier_fields_ordered", + "label": ".test_tier_fields_ordered()", + "file_type": "code", + "source_file": "tests/test_region_config.py", + "source_location": "L37", + "_origin": "ast" + }, + { + "id": "tests_test_region_config_rationale_1", + "label": "RegionThresholds \uc720\ub2db \ud14c\uc2a4\ud2b8.", + "file_type": "rationale", + "source_file": "tests/test_region_config.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "tests_test_repair", + "label": "test_repair.py", + "file_type": "code", + "source_file": "tests/test_repair.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "tests_test_repair_repairengine", + "label": "RepairEngine()", + "file_type": "code", + "source_file": "tests/test_repair.py", + "source_location": "L10", + "_origin": "ast" + }, + { + "id": "repairengineclass", + "label": "_RepairEngineClass", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast" + }, + { + "id": "tests_test_repair_poi", + "label": "_poi()", + "file_type": "code", + "source_file": "tests/test_repair.py", + "source_location": "L15", + "_origin": "ast" + }, + { + "id": "tests_test_repair_plan", + "label": "_plan()", + "file_type": "code", + "source_file": "tests/test_repair.py", + "source_location": "L31", + "_origin": "ast" + }, + { + "id": "tests_test_repair_fail", + "label": "_fail()", + "file_type": "code", + "source_file": "tests/test_repair.py", + "source_location": "L42", + "_origin": "ast" + }, + { + "id": "tests_test_repair_testrepairenginenoop", + "label": "TestRepairEngineNoop", + "file_type": "code", + "source_file": "tests/test_repair.py", + "source_location": "L53", + "_origin": "ast" + }, + { + "id": "tests_test_repair_testrepairenginenoop_test_empty_when_no_hard_fails", + "label": ".test_empty_when_no_hard_fails()", + "file_type": "code", + "source_file": "tests/test_repair.py", + "source_location": "L54", + "_origin": "ast" + }, + { + "id": "tests_test_repair_testrepairenginenoop_test_empty_when_pois_list_is_empty", + "label": ".test_empty_when_pois_list_is_empty()", + "file_type": "code", + "source_file": "tests/test_repair.py", + "source_location": "L60", + "_origin": "ast" + }, + { + "id": "tests_test_repair_outlier_pois", + "label": "_outlier_pois()", + "file_type": "code", + "source_file": "tests/test_repair.py", + "source_location": "L74", + "_origin": "ast" + }, + { + "id": "tests_test_repair_testdeletionsuggestion", + "label": "TestDeletionSuggestion", + "file_type": "code", + "source_file": "tests/test_repair.py", + "source_location": "L88", + "_origin": "ast" + }, + { + "id": "tests_test_repair_testdeletionsuggestion_test_identifies_geometric_outlier", + "label": ".test_identifies_geometric_outlier()", + "file_type": "code", + "source_file": "tests/test_repair.py", + "source_location": "L89", + "_origin": "ast" + }, + { + "id": "tests_test_repair_testdeletionsuggestion_test_outlier_deletion_has_positive_savings", + "label": ".test_outlier_deletion_has_positive_savings()", + "file_type": "code", + "source_file": "tests/test_repair.py", + "source_location": "L97", + "_origin": "ast" + }, + { + "id": "tests_test_repair_testdeletionsuggestion_test_no_deletion_for_two_pois", + "label": ".test_no_deletion_for_two_pois()", + "file_type": "code", + "source_file": "tests/test_repair.py", + "source_location": "L104", + "_origin": "ast" + }, + { + "id": "tests_test_repair_testdeletionsuggestion_test_deletion_reason_mentions_candidate", + "label": ".test_deletion_reason_mentions_candidate()", + "file_type": "code", + "source_file": "tests/test_repair.py", + "source_location": "L110", + "_origin": "ast" + }, + { + "id": "tests_test_repair_testdeletionsuggestion_test_deletion_recommends_nearby_restaurant_when_available", + "label": ".test_deletion_recommends_nearby_restaurant_when_available()", + "file_type": "code", + "source_file": "tests/test_repair.py", + "source_location": "L117", + "_origin": "ast" + }, + { + "id": "tests_test_repair_testdeletionsuggestion_test_deletion_explains_when_no_restaurant_nearby", + "label": ".test_deletion_explains_when_no_restaurant_nearby()", + "file_type": "code", + "source_file": "tests/test_repair.py", + "source_location": "L127", + "_origin": "ast" + }, + { + "id": "tests_test_repair_testtimetunesuggestion", + "label": "TestTimeTuneSuggestion", + "file_type": "code", + "source_file": "tests/test_repair.py", + "source_location": "L140", + "_origin": "ast" + }, + { + "id": "tests_test_repair_testtimetunesuggestion_test_no_tune_when_within_limit", + "label": ".test_no_tune_when_within_limit()", + "file_type": "code", + "source_file": "tests/test_repair.py", + "source_location": "L141", + "_origin": "ast" + }, + { + "id": "tests_test_repair_testtimetunesuggestion_test_tune_suggested_when_over_limit", + "label": ".test_tune_suggested_when_over_limit()", + "file_type": "code", + "source_file": "tests/test_repair.py", + "source_location": "L149", + "_origin": "ast" + }, + { + "id": "tests_test_repair_testtimetunesuggestion_test_adjusted_durations_above_minimum", + "label": ".test_adjusted_durations_above_minimum()", + "file_type": "code", + "source_file": "tests/test_repair.py", + "source_location": "L158", + "_origin": "ast" + }, + { + "id": "tests_test_repair_testresultmodel", + "label": "TestResultModel", + "file_type": "code", + "source_file": "tests/test_repair.py", + "source_location": "L173", + "_origin": "ast" + }, + { + "id": "tests_test_repair_testresultmodel_test_to_dict_is_serializable", + "label": ".test_to_dict_is_serializable()", + "file_type": "code", + "source_file": "tests/test_repair.py", + "source_location": "L174", + "_origin": "ast" + }, + { + "id": "tests_test_repair_testresultmodel_test_is_empty_true_when_no_suggestions", + "label": ".test_is_empty_true_when_no_suggestions()", + "file_type": "code", + "source_file": "tests/test_repair.py", + "source_location": "L182", + "_origin": "ast" + }, + { + "id": "tests_test_repair_testresultmodel_test_is_empty_false_when_has_deletion", + "label": ".test_is_empty_false_when_has_deletion()", + "file_type": "code", + "source_file": "tests/test_repair.py", + "source_location": "L188", + "_origin": "ast" + }, + { + "id": "tests_test_repair_testtotalestimatedgain", + "label": "TestTotalEstimatedGain", + "file_type": "code", + "source_file": "tests/test_repair.py", + "source_location": "L199", + "_origin": "ast" + }, + { + "id": "tests_test_repair_testtotalestimatedgain_test_sums_across_different_days", + "label": ".test_sums_across_different_days()", + "file_type": "code", + "source_file": "tests/test_repair.py", + "source_location": "L200", + "_origin": "ast" + }, + { + "id": "tests_test_repair_testtotalestimatedgain_test_takes_max_of_alternatives_on_same_day", + "label": ".test_takes_max_of_alternatives_on_same_day()", + "file_type": "code", + "source_file": "tests/test_repair.py", + "source_location": "L207", + "_origin": "ast" + }, + { + "id": "tests_test_repair_testtotalestimatedgain_test_zero_when_empty", + "label": ".test_zero_when_empty()", + "file_type": "code", + "source_file": "tests/test_repair.py", + "source_location": "L214", + "_origin": "ast" + }, + { + "id": "tests_test_repair_testtotalestimatedgain_test_included_in_to_dict", + "label": ".test_included_in_to_dict()", + "file_type": "code", + "source_file": "tests/test_repair.py", + "source_location": "L217", + "_origin": "ast" + }, + { + "id": "tests_test_repair_rationale_11", + "label": "\ud14c\uc2a4\ud2b8 \uc804\uc6a9 \ud329\ud1a0\ub9ac \u2014 \ube48 \uce74\ud0c8\ub85c\uadf8\ub97c \uae30\ubcf8\uac12\uc73c\ub85c \uc368\uc11c \uc2e4\uc81c CSV I/O\ub97c \ud53c\ud55c\ub2e4.", + "file_type": "rationale", + "source_file": "tests/test_repair.py", + "source_location": "L11", + "_origin": "ast" + }, + { + "id": "tests_test_repair_rationale_75", + "label": "8\uac1c POI \u2014 D(lat=38.5)\uac00 A-C, E-H(lat=37.5) \uc0ac\uc774\uc758 \uc9c0\ub9ac\uc801 \uc774\uc0c1\uce58.", + "file_type": "rationale", + "source_file": "tests/test_repair.py", + "source_location": "L75", + "_origin": "ast" + }, + { + "id": "tests_test_repair_rationale_142", + "label": "\uce5c\uad6c(720min) \uae30\uc900, \ucd1d 120min \u2192 \uc870\uc815 \ubd88\ud544\uc694.", + "file_type": "rationale", + "source_file": "tests/test_repair.py", + "source_location": "L142", + "_origin": "ast" + }, + { + "id": "tests_test_repair_rationale_150", + "label": "5 \u00d7 200min = 1000min > 720min \u2192 \ud29c\ub2dd \ud544\uc694.", + "file_type": "rationale", + "source_file": "tests/test_repair.py", + "source_location": "L150", + "_origin": "ast" + }, + { + "id": "tests_test_repair_rationale_159", + "label": "\uc870\uc815 \ud6c4 duration\uc774 \uc808\ub300 \ucd5c\uc19f\uac12(20\ubd84) \uc774\uc0c1 \ubcf4\uc7a5.", + "file_type": "rationale", + "source_file": "tests/test_repair.py", + "source_location": "L159", + "_origin": "ast" + }, + { + "id": "tests_test_resolve_poi", + "label": "test_resolve_poi.py", + "file_type": "code", + "source_file": "tests/test_resolve_poi.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "tests_test_resolve_poi_write_jeju_xlsx", + "label": "_write_jeju_xlsx()", + "file_type": "code", + "source_file": "tests/test_resolve_poi.py", + "source_location": "L19", + "_origin": "ast" + }, + { + "id": "tests_test_resolve_poi_py_fixture", + "label": "fixture", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast" + }, + { + "id": "tests_test_resolve_poi_jeju_xlsx_index", + "label": "jeju_xlsx_index()", + "file_type": "code", + "source_file": "tests/test_resolve_poi.py", + "source_location": "L29", + "_origin": "ast" + }, + { + "id": "tests_test_resolve_poi_test_jeju_index_prefers_tourapi_hours_over_legacy_text", + "label": "test_jeju_index_prefers_tourapi_hours_over_legacy_text()", + "file_type": "code", + "source_file": "tests/test_resolve_poi.py", + "source_location": "L51", + "_origin": "ast" + }, + { + "id": "tests_test_resolve_poi_test_jeju_index_sets_contentid_when_tourapi_matched", + "label": "test_jeju_index_sets_contentid_when_tourapi_matched()", + "file_type": "code", + "source_file": "tests/test_resolve_poi.py", + "source_location": "L56", + "_origin": "ast" + }, + { + "id": "tests_test_resolve_poi_test_jeju_index_falls_back_to_legacy_hours_when_unmatched", + "label": "test_jeju_index_falls_back_to_legacy_hours_when_unmatched()", + "file_type": "code", + "source_file": "tests/test_resolve_poi.py", + "source_location": "L61", + "_origin": "ast" + }, + { + "id": "tests_test_resolve_poi_test_jeju_index_sets_pet_friendly_flag_when_y", + "label": "test_jeju_index_sets_pet_friendly_flag_when_y()", + "file_type": "code", + "source_file": "tests/test_resolve_poi.py", + "source_location": "L67", + "_origin": "ast" + }, + { + "id": "tests_test_resolve_poi_test_jeju_index_defaults_pet_friendly_false_when_blank", + "label": "test_jeju_index_defaults_pet_friendly_false_when_blank()", + "file_type": "code", + "source_file": "tests/test_resolve_poi.py", + "source_location": "L72", + "_origin": "ast" + }, + { + "id": "tests_test_resolve_poi_test_resolve_poi_propagates_pet_friendly_flag", + "label": "test_resolve_poi_propagates_pet_friendly_flag()", + "file_type": "code", + "source_file": "tests/test_resolve_poi.py", + "source_location": "L77", + "_origin": "ast" + }, + { + "id": "tests_test_resolve_poi_test_geocode_fallback_used_when_keyword_search_fails", + "label": "test_geocode_fallback_used_when_keyword_search_fails()", + "file_type": "code", + "source_file": "tests/test_resolve_poi.py", + "source_location": "L94", + "_origin": "ast" + }, + { + "id": "tests_test_resolve_poi_test_seoul_fallback_when_geocode_also_fails", + "label": "test_seoul_fallback_when_geocode_also_fails()", + "file_type": "code", + "source_file": "tests/test_resolve_poi.py", + "source_location": "L110", + "_origin": "ast" + }, + { + "id": "tests_test_resolve_poi_test_resolve_coords_endpoint_returns_poi_per_place", + "label": "test_resolve_coords_endpoint_returns_poi_per_place()", + "file_type": "code", + "source_file": "tests/test_resolve_poi.py", + "source_location": "L123", + "_origin": "ast" + }, + { + "id": "tests_test_resolve_poi_rationale_1", + "label": "_resolve_poi() \uc88c\ud45c \ud574\uc11d \ud3f4\ubc31 \uc21c\uc11c \ud14c\uc2a4\ud2b8 (\uce74\ud0c8\ub85c\uadf8 \u2192 csv \u2192 kakao \ud0a4\uc6cc\ub4dc \u2192 \uc9c0\uc624\ucf54\ub529 \u2192 \uc11c\uc6b8 \ud3f4\ubc31).", + "file_type": "rationale", + "source_file": "tests/test_resolve_poi.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "tests_test_resolve_poi_rationale_30", + "label": "data/\uc81c\uc8fc\ud2b9\ubcc4\uc790\uce58\ub3c4_\ud1b5\ud569_TourAPI\ubcd1\ud569.xlsx \ub97c \uc784\uc2dc \ud30c\uc77c\ub85c \ub300\uccb4\ud574 _build_jeju_place_index()\ub97c \uaca9\ub9ac \uc2e4\ud589.", + "file_type": "rationale", + "source_file": "tests/test_resolve_poi.py", + "source_location": "L30", + "_origin": "ast" + }, + { + "id": "tests_test_resolve_poi_rationale_78", + "label": "_resolve_poi()\uac00 place dict\uc758 pet_friendly \uc18d\uc131\uc744 POI\u00b7POIInfo\ub85c \uc804\ub2ec\ud55c\ub2e4.", + "file_type": "rationale", + "source_file": "tests/test_resolve_poi.py", + "source_location": "L78", + "_origin": "ast" + }, + { + "id": "tests_test_resolve_poi_rationale_95", + "label": "\uce74\uce74\uc624 \ud0a4\uc6cc\ub4dc \uac80\uc0c9\uc774 \uc2e4\ud328\ud574\ub3c4 \uc8fc\uc18c\uac00 \uc788\uc73c\uba74 \uc9c0\uc624\ucf54\ub529\uc73c\ub85c \uc88c\ud45c\ub97c \ubcf4\uac15\ud55c\ub2e4.", + "file_type": "rationale", + "source_file": "tests/test_resolve_poi.py", + "source_location": "L95", + "_origin": "ast" + }, + { + "id": "tests_test_resolve_poi_rationale_111", + "label": "\uc9c0\uc624\ucf54\ub529\uae4c\uc9c0 \uc2e4\ud328\ud558\uba74 \uae30\uc874\uacfc \ub3d9\uc77c\ud558\uac8c \uc11c\uc6b8 \ud3f4\ubc31\uc73c\ub85c \ub5a8\uc5b4\uc9c4\ub2e4.", + "file_type": "rationale", + "source_file": "tests/test_resolve_poi.py", + "source_location": "L111", + "_origin": "ast" + }, + { + "id": "tests_test_resolve_poi_rationale_124", + "label": "POST /api/resolve-coords \u2014 Step2 \ube4c\ub354 \uc9c0\ub3c4\uc6a9 \uc88c\ud45c \uc870\ud68c (\uac80\uc99d \ud30c\uc774\ud504\ub77c\uc778 \uc5c6\uc774 \uc88c\ud45c\ub9cc).", + "file_type": "rationale", + "source_file": "tests/test_resolve_poi.py", + "source_location": "L124", + "_origin": "ast" + }, + { + "id": "tests_test_restaurant_catalog", + "label": "test_restaurant_catalog.py", + "file_type": "code", + "source_file": "tests/test_restaurant_catalog.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "tests_test_restaurant_catalog_catalog", + "label": "_catalog()", + "file_type": "code", + "source_file": "tests/test_restaurant_catalog.py", + "source_location": "L7", + "_origin": "ast" + }, + { + "id": "tests_test_restaurant_catalog_test_nearby_returns_within_radius_sorted_by_distance", + "label": "test_nearby_returns_within_radius_sorted_by_distance()", + "file_type": "code", + "source_file": "tests/test_restaurant_catalog.py", + "source_location": "L15", + "_origin": "ast" + }, + { + "id": "tests_test_restaurant_catalog_test_nearby_excludes_self", + "label": "test_nearby_excludes_self()", + "file_type": "code", + "source_file": "tests/test_restaurant_catalog.py", + "source_location": "L22", + "_origin": "ast" + }, + { + "id": "tests_test_restaurant_catalog_test_nearby_empty_when_no_restaurants_in_radius", + "label": "test_nearby_empty_when_no_restaurants_in_radius()", + "file_type": "code", + "source_file": "tests/test_restaurant_catalog.py", + "source_location": "L27", + "_origin": "ast" + }, + { + "id": "tests_test_restaurant_catalog_rationale_1", + "label": "RestaurantCatalog \uc720\ub2db \ud14c\uc2a4\ud2b8 (\uc2e4\uc81c CSV I/O \uc5c6\uc74c \u2014 \uc778\uba54\ubaa8\ub9ac \ub370\uc774\ud130 \uc0ac\uc6a9).", + "file_type": "rationale", + "source_file": "tests/test_restaurant_catalog.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "tests_test_reward_engine", + "label": "test_reward_engine.py", + "file_type": "code", + "source_file": "tests/test_reward_engine.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "tests_test_reward_engine_scores", + "label": "_scores()", + "file_type": "code", + "source_file": "tests/test_reward_engine.py", + "source_location": "L10", + "_origin": "ast" + }, + { + "id": "tests_test_reward_engine_testgeneraterewards", + "label": "TestGenerateRewards", + "file_type": "code", + "source_file": "tests/test_reward_engine.py", + "source_location": "L16", + "_origin": "ast" + }, + { + "id": "tests_test_reward_engine_testgeneraterewards_test_hard_fail_returns_empty", + "label": ".test_hard_fail_returns_empty()", + "file_type": "code", + "source_file": "tests/test_reward_engine.py", + "source_location": "L17", + "_origin": "ast" + }, + { + "id": "tests_test_reward_engine_testgeneraterewards_test_excellent_flow_generates_message", + "label": ".test_excellent_flow_generates_message()", + "file_type": "code", + "source_file": "tests/test_reward_engine.py", + "source_location": "L27", + "_origin": "ast" + }, + { + "id": "tests_test_reward_engine_testgeneraterewards_test_excellent_efficiency_generates_message", + "label": ".test_excellent_efficiency_generates_message()", + "file_type": "code", + "source_file": "tests/test_reward_engine.py", + "source_location": "L37", + "_origin": "ast" + }, + { + "id": "tests_test_reward_engine_testgeneraterewards_test_low_travel_ratio_generates_message", + "label": ".test_low_travel_ratio_generates_message()", + "file_type": "code", + "source_file": "tests/test_reward_engine.py", + "source_location": "L47", + "_origin": "ast" + }, + { + "id": "tests_test_reward_engine_testgeneraterewards_test_excellent_purpose_fit_generates_message", + "label": ".test_excellent_purpose_fit_generates_message()", + "file_type": "code", + "source_file": "tests/test_reward_engine.py", + "source_location": "L57", + "_origin": "ast" + }, + { + "id": "tests_test_reward_engine_testgeneraterewards_test_no_warnings_generates_message", + "label": ".test_no_warnings_generates_message()", + "file_type": "code", + "source_file": "tests/test_reward_engine.py", + "source_location": "L67", + "_origin": "ast" + }, + { + "id": "tests_test_reward_engine_testgeneraterewards_test_zero_cluster_penalty_generates_message", + "label": ".test_zero_cluster_penalty_generates_message()", + "file_type": "code", + "source_file": "tests/test_reward_engine.py", + "source_location": "L77", + "_origin": "ast" + }, + { + "id": "tests_test_reward_engine_testgeneraterewards_test_perfect_plan_all_messages", + "label": ".test_perfect_plan_all_messages()", + "file_type": "code", + "source_file": "tests/test_reward_engine.py", + "source_location": "L87", + "_origin": "ast" + }, + { + "id": "tests_test_reward_engine_testgeneraterewards_test_mediocre_plan_few_messages", + "label": ".test_mediocre_plan_few_messages()", + "file_type": "code", + "source_file": "tests/test_reward_engine.py", + "source_location": "L97", + "_origin": "ast" + }, + { + "id": "tests_test_scoring", + "label": "test_scoring.py", + "file_type": "code", + "source_file": "tests/test_scoring.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "tests_test_scoring_make_poi", + "label": "make_poi()", + "file_type": "code", + "source_file": "tests/test_scoring.py", + "source_location": "L14", + "_origin": "ast" + }, + { + "id": "tests_test_scoring_make_plan", + "label": "make_plan()", + "file_type": "code", + "source_file": "tests/test_scoring.py", + "source_location": "L29", + "_origin": "ast" + }, + { + "id": "tests_test_scoring_make_matrix", + "label": "make_matrix()", + "file_type": "code", + "source_file": "tests/test_scoring.py", + "source_location": "L42", + "_origin": "ast" + }, + { + "id": "tests_test_scoring_make_hard_fail", + "label": "make_hard_fail()", + "file_type": "code", + "source_file": "tests/test_scoring.py", + "source_location": "L52", + "_origin": "ast" + }, + { + "id": "tests_test_scoring_py_fixture", + "label": "fixture", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast" + }, + { + "id": "tests_test_scoring_calc", + "label": "calc()", + "file_type": "code", + "source_file": "tests/test_scoring.py", + "source_location": "L66", + "_origin": "ast" + }, + { + "id": "tests_test_scoring_sample_pois", + "label": "sample_pois()", + "file_type": "code", + "source_file": "tests/test_scoring.py", + "source_location": "L71", + "_origin": "ast" + }, + { + "id": "tests_test_scoring_sample_matrix", + "label": "sample_matrix()", + "file_type": "code", + "source_file": "tests/test_scoring.py", + "source_location": "L81", + "_origin": "ast" + }, + { + "id": "tests_test_scoring_sample_plan", + "label": "sample_plan()", + "file_type": "code", + "source_file": "tests/test_scoring.py", + "source_location": "L87", + "_origin": "ast" + }, + { + "id": "tests_test_scoring_testweights", + "label": "TestWeights", + "file_type": "code", + "source_file": "tests/test_scoring.py", + "source_location": "L95", + "_origin": "ast" + }, + { + "id": "tests_test_scoring_testweights_test_weights_sum_to_one", + "label": ".test_weights_sum_to_one()", + "file_type": "code", + "source_file": "tests/test_scoring.py", + "source_location": "L96", + "_origin": "ast" + }, + { + "id": "tests_test_scoring_testweights_test_weights_keys", + "label": ".test_weights_keys()", + "file_type": "code", + "source_file": "tests/test_scoring.py", + "source_location": "L100", + "_origin": "ast" + }, + { + "id": "tests_test_scoring_testcompute", + "label": "TestCompute", + "file_type": "code", + "source_file": "tests/test_scoring.py", + "source_location": "L110", + "_origin": "ast" + }, + { + "id": "tests_test_scoring_testcompute_test_final_score_in_range", + "label": ".test_final_score_in_range()", + "file_type": "code", + "source_file": "tests/test_scoring.py", + "source_location": "L111", + "_origin": "ast" + }, + { + "id": "tests_test_scoring_testcompute_test_hard_fail_caps_score_at_59", + "label": ".test_hard_fail_caps_score_at_59()", + "file_type": "code", + "source_file": "tests/test_scoring.py", + "source_location": "L115", + "_origin": "ast" + }, + { + "id": "tests_test_scoring_testcompute_test_no_hard_fail_can_exceed_59", + "label": ".test_no_hard_fail_can_exceed_59()", + "file_type": "code", + "source_file": "tests/test_scoring.py", + "source_location": "L121", + "_origin": "ast" + }, + { + "id": "tests_test_scoring_testcompute_test_scores_object_fields", + "label": ".test_scores_object_fields()", + "file_type": "code", + "source_file": "tests/test_scoring.py", + "source_location": "L127", + "_origin": "ast" + }, + { + "id": "tests_test_scoring_testefficiency", + "label": "TestEfficiency", + "file_type": "code", + "source_file": "tests/test_scoring.py", + "source_location": "L140", + "_origin": "ast" + }, + { + "id": "tests_test_scoring_testefficiency_test_optimal_order_is_one", + "label": ".test_optimal_order_is_one()", + "file_type": "code", + "source_file": "tests/test_scoring.py", + "source_location": "L141", + "_origin": "ast" + }, + { + "id": "tests_test_scoring_testefficiency_test_suboptimal_order_below_one", + "label": ".test_suboptimal_order_below_one()", + "file_type": "code", + "source_file": "tests/test_scoring.py", + "source_location": "L150", + "_origin": "ast" + }, + { + "id": "tests_test_scoring_testefficiency_test_single_poi_returns_one", + "label": ".test_single_poi_returns_one()", + "file_type": "code", + "source_file": "tests/test_scoring.py", + "source_location": "L161", + "_origin": "ast" + }, + { + "id": "tests_test_scoring_testfeasibility", + "label": "TestFeasibility", + "file_type": "code", + "source_file": "tests/test_scoring.py", + "source_location": "L170", + "_origin": "ast" + }, + { + "id": "tests_test_scoring_testfeasibility_test_no_hard_fails_hard_is_one", + "label": ".test_no_hard_fails_hard_is_one()", + "file_type": "code", + "source_file": "tests/test_scoring.py", + "source_location": "L171", + "_origin": "ast" + }, + { + "id": "tests_test_scoring_testfeasibility_test_hard_fail_reduces_feasibility", + "label": ".test_hard_fail_reduces_feasibility()", + "file_type": "code", + "source_file": "tests/test_scoring.py", + "source_location": "L176", + "_origin": "ast" + }, + { + "id": "tests_test_scoring_testfeasibility_test_feasibility_in_range", + "label": ".test_feasibility_in_range()", + "file_type": "code", + "source_file": "tests/test_scoring.py", + "source_location": "L181", + "_origin": "ast" + }, + { + "id": "tests_test_scoring_testpurposefit", + "label": "TestPurposeFit", + "file_type": "code", + "source_file": "tests/test_scoring.py", + "source_location": "L190", + "_origin": "ast" + }, + { + "id": "tests_test_scoring_testpurposefit_test_cultural_all_cultural_high", + "label": ".test_cultural_all_cultural_high()", + "file_type": "code", + "source_file": "tests/test_scoring.py", + "source_location": "L191", + "_origin": "ast" + }, + { + "id": "tests_test_scoring_testpurposefit_test_cultural_all_sports_low", + "label": ".test_cultural_all_sports_low()", + "file_type": "code", + "source_file": "tests/test_scoring.py", + "source_location": "L197", + "_origin": "ast" + }, + { + "id": "tests_test_scoring_testpurposefit_test_no_travel_type_returns_half", + "label": ".test_no_travel_type_returns_half()", + "file_type": "code", + "source_file": "tests/test_scoring.py", + "source_location": "L203", + "_origin": "ast" + }, + { + "id": "tests_test_scoring_testcosinedistance", + "label": "TestCosineDistance", + "file_type": "code", + "source_file": "tests/test_scoring.py", + "source_location": "L213", + "_origin": "ast" + }, + { + "id": "tests_test_scoring_testcosinedistance_test_identical_vectors", + "label": ".test_identical_vectors()", + "file_type": "code", + "source_file": "tests/test_scoring.py", + "source_location": "L214", + "_origin": "ast" + }, + { + "id": "tests_test_scoring_testcosinedistance_test_orthogonal_vectors", + "label": ".test_orthogonal_vectors()", + "file_type": "code", + "source_file": "tests/test_scoring.py", + "source_location": "L218", + "_origin": "ast" + }, + { + "id": "tests_test_scoring_testcosinedistance_test_zero_vector", + "label": ".test_zero_vector()", + "file_type": "code", + "source_file": "tests/test_scoring.py", + "source_location": "L223", + "_origin": "ast" + }, + { + "id": "tests_test_scoring_rationale_1", + "label": "Tests for ScoreCalculator (TDD).", + "file_type": "rationale", + "source_file": "tests/test_scoring.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "tests_test_theme_alignment", + "label": "test_theme_alignment.py", + "file_type": "code", + "source_file": "tests/test_theme_alignment.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "tests_test_theme_alignment_py_fixture", + "label": "fixture", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast" + }, + { + "id": "tests_test_theme_alignment_clear_cache", + "label": "_clear_cache()", + "file_type": "code", + "source_file": "tests/test_theme_alignment.py", + "source_location": "L22", + "_origin": "ast" + }, + { + "id": "tests_test_theme_alignment_testnoapikey", + "label": "TestNoApiKey", + "file_type": "code", + "source_file": "tests/test_theme_alignment.py", + "source_location": "L29", + "_origin": "ast" + }, + { + "id": "tests_test_theme_alignment_testnoapikey_test_skip_returns_informational_only", + "label": ".test_skip_returns_informational_only()", + "file_type": "code", + "source_file": "tests/test_theme_alignment.py", + "source_location": "L30", + "_origin": "ast" + }, + { + "id": "tests_test_theme_alignment_testclassifyscore", + "label": "TestClassifyScore", + "file_type": "code", + "source_file": "tests/test_theme_alignment.py", + "source_location": "L41", + "_origin": "ast" + }, + { + "id": "tests_test_theme_alignment_testclassifyscore_test_high_score_no_penalty", + "label": ".test_high_score_no_penalty()", + "file_type": "code", + "source_file": "tests/test_theme_alignment.py", + "source_location": "L42", + "_origin": "ast" + }, + { + "id": "tests_test_theme_alignment_testclassifyscore_test_low_score_critical", + "label": ".test_low_score_critical()", + "file_type": "code", + "source_file": "tests/test_theme_alignment.py", + "source_location": "L47", + "_origin": "ast" + }, + { + "id": "tests_test_theme_alignment_testparsellmresponse", + "label": "TestParseLlmResponse", + "file_type": "code", + "source_file": "tests/test_theme_alignment.py", + "source_location": "L53", + "_origin": "ast" + }, + { + "id": "tests_test_theme_alignment_testparsellmresponse_test_clean_json", + "label": ".test_clean_json()", + "file_type": "code", + "source_file": "tests/test_theme_alignment.py", + "source_location": "L54", + "_origin": "ast" + }, + { + "id": "tests_test_theme_alignment_testparsellmresponse_test_score_clamped_to_1", + "label": ".test_score_clamped_to_1()", + "file_type": "code", + "source_file": "tests/test_theme_alignment.py", + "source_location": "L61", + "_origin": "ast" + }, + { + "id": "tests_test_theme_alignment_testparsellmresponse_test_code_block_stripped", + "label": ".test_code_block_stripped()", + "file_type": "code", + "source_file": "tests/test_theme_alignment.py", + "source_location": "L66", + "_origin": "ast" + }, + { + "id": "tests_test_theme_alignment_testevaluatewithmockclient", + "label": "TestEvaluateWithMockClient", + "file_type": "code", + "source_file": "tests/test_theme_alignment.py", + "source_location": "L72", + "_origin": "ast" + }, + { + "id": "tests_test_theme_alignment_testevaluatewithmockclient_test_high_alignment_no_penalty", + "label": ".test_high_alignment_no_penalty()", + "file_type": "code", + "source_file": "tests/test_theme_alignment.py", + "source_location": "L73", + "_origin": "ast" + }, + { + "id": "tests_test_theme_alignment_testevaluatewithmockclient_test_low_alignment_critical", + "label": ".test_low_alignment_critical()", + "file_type": "code", + "source_file": "tests/test_theme_alignment.py", + "source_location": "L90", + "_origin": "ast" + }, + { + "id": "tests_test_theme_alignment_testevaluatewithmockclient_test_cache_hit_skips_second_call", + "label": ".test_cache_hit_skips_second_call()", + "file_type": "code", + "source_file": "tests/test_theme_alignment.py", + "source_location": "L106", + "_origin": "ast" + }, + { + "id": "tests_test_theme_alignment_testevaluatewithmockclient_test_llm_failure_returns_informational", + "label": ".test_llm_failure_returns_informational()", + "file_type": "code", + "source_file": "tests/test_theme_alignment.py", + "source_location": "L121", + "_origin": "ast" + }, + { + "id": "tests_test_theme_alignment_rationale_1", + "label": "Tests for src/scoring/theme_alignment.py \u2014 LLM mocking \ud544\uc218.", + "file_type": "rationale", + "source_file": "tests/test_theme_alignment.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "tests_test_theme_alignment_rationale_31", + "label": "API \ud0a4 \uc5c6\uc73c\uba74 LLM \ud638\ucd9c \uc2a4\ud0b5 + \uc815\ubcf4\uc131 DeepDive.", + "file_type": "rationale", + "source_file": "tests/test_theme_alignment.py", + "source_location": "L31", + "_origin": "ast" + }, + { + "id": "tests_test_theme_alignment_rationale_91", + "label": "LLM\uc774 0.3 \uc751\ub2f5 \u2192 CRITICAL \ud328\ub110\ud2f0.", + "file_type": "rationale", + "source_file": "tests/test_theme_alignment.py", + "source_location": "L91", + "_origin": "ast" + }, + { + "id": "tests_test_theme_alignment_rationale_107", + "label": "\ub3d9\uc77c \uc785\ub825\uc73c\ub85c \ub450 \ubc88 \ud638\ucd9c \uc2dc LLM\uc740 1\ud68c\ub9cc \ud638\ucd9c.", + "file_type": "rationale", + "source_file": "tests/test_theme_alignment.py", + "source_location": "L107", + "_origin": "ast" + }, + { + "id": "tests_test_theme_alignment_rationale_122", + "label": "LLM \ud638\ucd9c\uc774 \uc608\uc678 \ub358\uc9c0\uba74 \uc815\ubcf4\uc131 DeepDive\ub85c \ud3f4\ubc31.", + "file_type": "rationale", + "source_file": "tests/test_theme_alignment.py", + "source_location": "L122", + "_origin": "ast" + }, + { + "id": "tests_test_theme_taxonomy", + "label": "test_theme_taxonomy.py", + "file_type": "code", + "source_file": "tests/test_theme_taxonomy.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "tests_test_theme_taxonomy_testplacetypecount", + "label": "TestPlaceTypeCount", + "file_type": "code", + "source_file": "tests/test_theme_taxonomy.py", + "source_location": "L15", + "_origin": "ast" + }, + { + "id": "tests_test_theme_taxonomy_testplacetypecount_test_9_place_types", + "label": ".test_9_place_types()", + "file_type": "code", + "source_file": "tests/test_theme_taxonomy.py", + "source_location": "L16", + "_origin": "ast" + }, + { + "id": "tests_test_theme_taxonomy_testplacetypecount_test_9_travel_styles", + "label": ".test_9_travel_styles()", + "file_type": "code", + "source_file": "tests/test_theme_taxonomy.py", + "source_location": "L21", + "_origin": "ast" + }, + { + "id": "tests_test_theme_taxonomy_testuserpreferences", + "label": "TestUserPreferences", + "file_type": "code", + "source_file": "tests/test_theme_taxonomy.py", + "source_location": "L27", + "_origin": "ast" + }, + { + "id": "tests_test_theme_taxonomy_testuserpreferences_test_valid_input", + "label": ".test_valid_input()", + "file_type": "code", + "source_file": "tests/test_theme_taxonomy.py", + "source_location": "L28", + "_origin": "ast" + }, + { + "id": "tests_test_theme_taxonomy_testuserpreferences_test_invalid_place_type_raises", + "label": ".test_invalid_place_type_raises()", + "file_type": "code", + "source_file": "tests/test_theme_taxonomy.py", + "source_location": "L33", + "_origin": "ast" + }, + { + "id": "tests_test_theme_taxonomy_testuserpreferences_test_invalid_style_raises", + "label": ".test_invalid_style_raises()", + "file_type": "code", + "source_file": "tests/test_theme_taxonomy.py", + "source_location": "L37", + "_origin": "ast" + }, + { + "id": "tests_test_theme_taxonomy_testuserpreferences_test_empty_both_axes_raises", + "label": ".test_empty_both_axes_raises()", + "file_type": "code", + "source_file": "tests/test_theme_taxonomy.py", + "source_location": "L41", + "_origin": "ast" + }, + { + "id": "tests_test_theme_taxonomy_testmatchesplacetype", + "label": "TestMatchesPlaceType", + "file_type": "code", + "source_file": "tests/test_theme_taxonomy.py", + "source_location": "L46", + "_origin": "ast" + }, + { + "id": "tests_test_theme_taxonomy_testmatchesplacetype_test_mountain_matches_na04", + "label": ".test_mountain_matches_NA04()", + "file_type": "code", + "source_file": "tests/test_theme_taxonomy.py", + "source_location": "L47", + "_origin": "ast" + }, + { + "id": "tests_test_theme_taxonomy_testmatchesplacetype_test_beach_matches_na12", + "label": ".test_beach_matches_NA12()", + "file_type": "code", + "source_file": "tests/test_theme_taxonomy.py", + "source_location": "L51", + "_origin": "ast" + }, + { + "id": "tests_test_theme_taxonomy_testmatchesplacetype_test_festival_matches_content_type_15", + "label": ".test_festival_matches_content_type_15()", + "file_type": "code", + "source_file": "tests/test_theme_taxonomy.py", + "source_location": "L54", + "_origin": "ast" + }, + { + "id": "tests_test_theme_taxonomy_testmatchesplacetype_test_no_match", + "label": ".test_no_match()", + "file_type": "code", + "source_file": "tests/test_theme_taxonomy.py", + "source_location": "L57", + "_origin": "ast" + }, + { + "id": "tests_test_theme_taxonomy_testgetplacetypesfor", + "label": "TestGetPlaceTypesFor", + "file_type": "code", + "source_file": "tests/test_theme_taxonomy.py", + "source_location": "L62", + "_origin": "ast" + }, + { + "id": "tests_test_theme_taxonomy_testgetplacetypesfor_test_mountain_code_returns_list", + "label": ".test_mountain_code_returns_list()", + "file_type": "code", + "source_file": "tests/test_theme_taxonomy.py", + "source_location": "L63", + "_origin": "ast" + }, + { + "id": "tests_test_theme_taxonomy_testgetplacetypesfor_test_no_code_returns_empty", + "label": ".test_no_code_returns_empty()", + "file_type": "code", + "source_file": "tests/test_theme_taxonomy.py", + "source_location": "L67", + "_origin": "ast" + }, + { + "id": "tests_test_theme_taxonomy_rationale_1", + "label": "Tests for src/data/theme_taxonomy.py \u2014 2\ucd95 \ud14c\ub9c8 + \ub9e4\ud551.", + "file_type": "rationale", + "source_file": "tests/test_theme_taxonomy.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "tests_test_travel_ratio", + "label": "test_travel_ratio.py", + "file_type": "code", + "source_file": "tests/test_travel_ratio.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "tests_test_travel_ratio_make_place", + "label": "_make_place()", + "file_type": "code", + "source_file": "tests/test_travel_ratio.py", + "source_location": "L15", + "_origin": "ast" + }, + { + "id": "tests_test_travel_ratio_test_no_penalty_when_ratio_low", + "label": "test_no_penalty_when_ratio_low()", + "file_type": "code", + "source_file": "tests/test_travel_ratio.py", + "source_location": "L22", + "_origin": "ast" + }, + { + "id": "tests_test_travel_ratio_test_penalty_when_ratio_high", + "label": "test_penalty_when_ratio_high()", + "file_type": "code", + "source_file": "tests/test_travel_ratio.py", + "source_location": "L35", + "_origin": "ast" + }, + { + "id": "tests_test_travel_ratio_test_overall_ratio_aggregates_across_days", + "label": "test_overall_ratio_aggregates_across_days()", + "file_type": "code", + "source_file": "tests/test_travel_ratio.py", + "source_location": "L48", + "_origin": "ast" + }, + { + "id": "tests_test_travel_ratio_rationale_1", + "label": "Tests for src/scoring/travel_ratio.py.", + "file_type": "rationale", + "source_file": "tests/test_travel_ratio.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "tests_test_travel_ratio_rationale_23", + "label": "4\uac1c \uc7a5\uc18c\uac00 \ubaa8\ub450 \uac00\uae4c\uc774 \uc788\uc73c\uba74 travel_ratio\uac00 \ub0ae\uc74c \u2192 \ud328\ub110\ud2f0 0.", + "file_type": "rationale", + "source_file": "tests/test_travel_ratio.py", + "source_location": "L23", + "_origin": "ast" + }, + { + "id": "tests_test_travel_ratio_rationale_36", + "label": "\uc7a5\uc18c\uac00 \uba40\ub9ac \ub5a8\uc5b4\uc838 \uc774\ub3d9 \uc2dc\uac04\uc774 \uad00\uad11 \uc2dc\uac04\uc744 \uc555\ub3c4\ud558\uba74 \ud328\ub110\ud2f0 \ubc1c\uc0dd.", + "file_type": "rationale", + "source_file": "tests/test_travel_ratio.py", + "source_location": "L36", + "_origin": "ast" + }, + { + "id": "tests_test_vrptw_engine", + "label": "test_vrptw_engine.py", + "file_type": "code", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "tests_test_vrptw_engine_make_place", + "label": "make_place()", + "file_type": "code", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L24", + "_origin": "ast" + }, + { + "id": "tests_test_vrptw_engine_testhaversinematrix", + "label": "TestHaversineMatrix", + "file_type": "code", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L54", + "_origin": "ast" + }, + { + "id": "tests_test_vrptw_engine_testhaversinematrix_test_same_point_is_zero", + "label": ".test_same_point_is_zero()", + "file_type": "code", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L55", + "_origin": "ast" + }, + { + "id": "tests_test_vrptw_engine_testhaversinematrix_test_known_distance", + "label": ".test_known_distance()", + "file_type": "code", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L59", + "_origin": "ast" + }, + { + "id": "tests_test_vrptw_engine_testhaversinematrix_test_symmetry", + "label": ".test_symmetry()", + "file_type": "code", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L66", + "_origin": "ast" + }, + { + "id": "tests_test_vrptw_engine_testcachedroutematrix", + "label": "TestCachedRouteMatrix", + "file_type": "code", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L75", + "_origin": "ast" + }, + { + "id": "tests_test_vrptw_engine_testcachedroutematrix_test_cache_hit", + "label": ".test_cache_hit()", + "file_type": "code", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L76", + "_origin": "ast" + }, + { + "id": "tests_test_vrptw_engine_testcachedroutematrix_test_cache_miss_falls_back_to_haversine", + "label": ".test_cache_miss_falls_back_to_haversine()", + "file_type": "code", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L81", + "_origin": "ast" + }, + { + "id": "tests_test_vrptw_engine_testcachedroutematrix_test_reverse_key_fallback", + "label": ".test_reverse_key_fallback()", + "file_type": "code", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L87", + "_origin": "ast" + }, + { + "id": "tests_test_vrptw_engine_testcachedroutematrix_test_load_from_dict", + "label": ".test_load_from_dict()", + "file_type": "code", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L93", + "_origin": "ast" + }, + { + "id": "tests_test_vrptw_engine_testdepotconstraint", + "label": "TestDepotConstraint", + "file_type": "code", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L105", + "_origin": "ast" + }, + { + "id": "tests_test_vrptw_engine_testdepotconstraint_engine_with_haversine", + "label": "._engine_with_haversine()", + "file_type": "code", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L106", + "_origin": "ast" + }, + { + "id": "tests_test_vrptw_engine_testdepotconstraint_test_2n3d_day1_must_end_at_depot", + "label": ".test_2n3d_day1_must_end_at_depot()", + "file_type": "code", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L109", + "_origin": "ast" + }, + { + "id": "tests_test_vrptw_engine_testdepotconstraint_test_2n3d_middle_day_must_start_and_end_at_depot", + "label": ".test_2n3d_middle_day_must_start_and_end_at_depot()", + "file_type": "code", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L126", + "_origin": "ast" + }, + { + "id": "tests_test_vrptw_engine_testdepotconstraint_test_1n2d_no_depot_constraint_applied", + "label": ".test_1n2d_no_depot_constraint_applied()", + "file_type": "code", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L139", + "_origin": "ast" + }, + { + "id": "tests_test_vrptw_engine_testtimewindowfeasibility", + "label": "TestTimeWindowFeasibility", + "file_type": "code", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L161", + "_origin": "ast" + }, + { + "id": "tests_test_vrptw_engine_testtimewindowfeasibility_engine", + "label": "._engine()", + "file_type": "code", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L162", + "_origin": "ast" + }, + { + "id": "tests_test_vrptw_engine_testtimewindowfeasibility_test_feasible_schedule_passes", + "label": ".test_feasible_schedule_passes()", + "file_type": "code", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L165", + "_origin": "ast" + }, + { + "id": "tests_test_vrptw_engine_testtimewindowfeasibility_test_infeasible_close_time_triggers_critical", + "label": ".test_infeasible_close_time_triggers_critical()", + "file_type": "code", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L174", + "_origin": "ast" + }, + { + "id": "tests_test_vrptw_engine_testtimewindowfeasibility_test_safety_margin_warning", + "label": ".test_safety_margin_warning()", + "file_type": "code", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L185", + "_origin": "ast" + }, + { + "id": "tests_test_vrptw_engine_testefficiencygap", + "label": "TestEfficiencyGap", + "file_type": "code", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L203", + "_origin": "ast" + }, + { + "id": "tests_test_vrptw_engine_testefficiencygap_test_optimal_order_same_as_user_gives_zero_gap", + "label": ".test_optimal_order_same_as_user_gives_zero_gap()", + "file_type": "code", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L204", + "_origin": "ast" + }, + { + "id": "tests_test_vrptw_engine_testefficiencygap_test_reversed_inefficient_route_shows_gap", + "label": ".test_reversed_inefficient_route_shows_gap()", + "file_type": "code", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L212", + "_origin": "ast" + }, + { + "id": "tests_test_vrptw_engine_testfatiguescore", + "label": "TestFatigueScore", + "file_type": "code", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L225", + "_origin": "ast" + }, + { + "id": "tests_test_vrptw_engine_testfatiguescore_test_12h_schedule_no_fatigue_penalty", + "label": ".test_12h_schedule_no_fatigue_penalty()", + "file_type": "code", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L226", + "_origin": "ast" + }, + { + "id": "tests_test_vrptw_engine_testfatiguescore_test_long_schedule_triggers_fatigue", + "label": ".test_long_schedule_triggers_fatigue()", + "file_type": "code", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L239", + "_origin": "ast" + }, + { + "id": "tests_test_vrptw_engine_testortoolsdegradation", + "label": "TestORToolsDegradation", + "file_type": "code", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L256", + "_origin": "ast" + }, + { + "id": "tests_test_vrptw_engine_testortoolsdegradation_test_missing_ortools_still_returns_result", + "label": ".test_missing_ortools_still_returns_result()", + "file_type": "code", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L257", + "_origin": "ast" + }, + { + "id": "tests_test_vrptw_engine_testriskscore", + "label": "TestRiskScore", + "file_type": "code", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L277", + "_origin": "ast" + }, + { + "id": "tests_test_vrptw_engine_testriskscore_test_risk_score_in_0_100", + "label": ".test_risk_score_in_0_100()", + "file_type": "code", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L278", + "_origin": "ast" + }, + { + "id": "tests_test_vrptw_engine_testriskscore_test_pass_fail_threshold", + "label": ".test_pass_fail_threshold()", + "file_type": "code", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L284", + "_origin": "ast" + }, + { + "id": "tests_test_vrptw_engine_test_constants_accessible", + "label": "test_constants_accessible()", + "file_type": "code", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L298", + "_origin": "ast" + }, + { + "id": "tests_test_vrptw_engine_testmodelvalidation", + "label": "TestModelValidation", + "file_type": "code", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L308", + "_origin": "ast" + }, + { + "id": "tests_test_vrptw_engine_testmodelvalidation_test_invalid_lat_raises", + "label": ".test_invalid_lat_raises()", + "file_type": "code", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L309", + "_origin": "ast" + }, + { + "id": "tests_test_vrptw_engine_testmodelvalidation_test_invalid_lng_raises", + "label": ".test_invalid_lng_raises()", + "file_type": "code", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L313", + "_origin": "ast" + }, + { + "id": "tests_test_vrptw_engine_testmodelvalidation_test_invalid_time_format_raises", + "label": ".test_invalid_time_format_raises()", + "file_type": "code", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L317", + "_origin": "ast" + }, + { + "id": "tests_test_vrptw_engine_testmodelvalidation_test_invalid_time_value_raises", + "label": ".test_invalid_time_value_raises()", + "file_type": "code", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L321", + "_origin": "ast" + }, + { + "id": "tests_test_vrptw_engine_testmodelvalidation_test_negative_stay_raises", + "label": ".test_negative_stay_raises()", + "file_type": "code", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L325", + "_origin": "ast" + }, + { + "id": "tests_test_vrptw_engine_testmodelvalidation_test_zero_stay_allowed_for_depot", + "label": ".test_zero_stay_allowed_for_depot()", + "file_type": "code", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L329", + "_origin": "ast" + }, + { + "id": "tests_test_vrptw_engine_testmodelvalidation_test_empty_day_raises", + "label": ".test_empty_day_raises()", + "file_type": "code", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L334", + "_origin": "ast" + }, + { + "id": "tests_test_vrptw_engine_testmodelvalidation_test_empty_days_raises", + "label": ".test_empty_days_raises()", + "file_type": "code", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L338", + "_origin": "ast" + }, + { + "id": "tests_test_vrptw_engine_testmodelvalidation_test_open_minutes_property", + "label": ".test_open_minutes_property()", + "file_type": "code", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L342", + "_origin": "ast" + }, + { + "id": "tests_test_vrptw_engine_testmodelvalidation_test_close_minutes_property", + "label": ".test_close_minutes_property()", + "file_type": "code", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L346", + "_origin": "ast" + }, + { + "id": "tests_test_vrptw_engine_testefficiencygapthreshold", + "label": "TestEfficiencyGapThreshold", + "file_type": "code", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L355", + "_origin": "ast" + }, + { + "id": "tests_test_vrptw_engine_testefficiencygapthreshold_test_gap_over_threshold_adds_warning", + "label": ".test_gap_over_threshold_adds_warning()", + "file_type": "code", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L356", + "_origin": "ast" + }, + { + "id": "tests_test_vrptw_engine_testmultidayresult", + "label": "TestMultiDayResult", + "file_type": "code", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L376", + "_origin": "ast" + }, + { + "id": "tests_test_vrptw_engine_testmultidayresult_test_multi_day_returns_per_day_comparison", + "label": ".test_multi_day_returns_per_day_comparison()", + "file_type": "code", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L377", + "_origin": "ast" + }, + { + "id": "tests_test_vrptw_engine_testmultidayresult_test_multi_day_user_total_travel_is_sum", + "label": ".test_multi_day_user_total_travel_is_sum()", + "file_type": "code", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L391", + "_origin": "ast" + }, + { + "id": "tests_test_vrptw_engine_testmultidayresult_test_single_place_day_no_travel", + "label": ".test_single_place_day_no_travel()", + "file_type": "code", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L404", + "_origin": "ast" + }, + { + "id": "tests_test_vrptw_engine_test_summary_contains_score", + "label": "test_summary_contains_score()", + "file_type": "code", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L415", + "_origin": "ast" + }, + { + "id": "tests_test_vrptw_engine_test_deep_dive_items_have_all_fields", + "label": "test_deep_dive_items_have_all_fields()", + "file_type": "code", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L427", + "_origin": "ast" + }, + { + "id": "tests_test_vrptw_engine_test_cached_matrix_from_actual_file", + "label": "test_cached_matrix_from_actual_file()", + "file_type": "code", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L444", + "_origin": "ast" + }, + { + "id": "tests_test_vrptw_engine_rationale_1", + "label": "Tests for VRPTW validation engine (TDD).", + "file_type": "rationale", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "tests_test_vrptw_engine_rationale_88", + "label": "If only the reverse direction is cached, use it.", + "file_type": "rationale", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L88", + "_origin": "ast" + }, + { + "id": "tests_test_vrptw_engine_rationale_110", + "label": "2\ubc153\uc77c: day1 last place must be depot.", + "file_type": "rationale", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L110", + "_origin": "ast" + }, + { + "id": "tests_test_vrptw_engine_rationale_140", + "label": "1\ubc152\uc77c: depot constraint NOT enforced.", + "file_type": "rationale", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L140", + "_origin": "ast" + }, + { + "id": "tests_test_vrptw_engine_rationale_175", + "label": "A place that closes at 09:05 \u2014 impossible to visit after travel from A.", + "file_type": "rationale", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L175", + "_origin": "ast" + }, + { + "id": "tests_test_vrptw_engine_rationale_186", + "label": "Arrival within 60 min of close triggers safety margin warning.", + "file_type": "rationale", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L186", + "_origin": "ast" + }, + { + "id": "tests_test_vrptw_engine_rationale_205", + "label": "With 2 POIs the optimal is always the same, gap should be 0 or minimal.", + "file_type": "rationale", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L205", + "_origin": "ast" + }, + { + "id": "tests_test_vrptw_engine_rationale_213", + "label": "A\u2192C\u2192B is longer than A\u2192B\u2192C when laid out linearly.", + "file_type": "rationale", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L213", + "_origin": "ast" + }, + { + "id": "tests_test_vrptw_engine_rationale_258", + "label": "When ortools is not available, engine still returns a VRPTWResult.", + "file_type": "rationale", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L258", + "_origin": "ast" + }, + { + "id": "tests_test_vrptw_engine_rationale_357", + "label": "If efficiency gap > 20%, a deep_dive WARNING should appear.", + "file_type": "rationale", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L357", + "_origin": "ast" + }, + { + "id": "tests_test_vrptw_engine_rationale_428", + "label": "Every DeepDiveItem must have non-empty fact, rule, risk, suggestion.", + "file_type": "rationale", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L428", + "_origin": "ast" + }, + { + "id": "tests_test_vrptw_engine_rationale_445", + "label": "Smoke test: load real cache_route.json and verify at least one hit.", + "file_type": "rationale", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L445", + "_origin": "ast" + }, + { + "id": "tests_test_warning", + "label": "test_warning.py", + "file_type": "code", + "source_file": "tests/test_warning.py", + "source_location": "L1", + "_origin": "ast" + }, + { + "id": "tests_test_warning_make_poi", + "label": "make_poi()", + "file_type": "code", + "source_file": "tests/test_warning.py", + "source_location": "L14", + "_origin": "ast" + }, + { + "id": "tests_test_warning_make_plan", + "label": "make_plan()", + "file_type": "code", + "source_file": "tests/test_warning.py", + "source_location": "L29", + "_origin": "ast" + }, + { + "id": "tests_test_warning_make_matrix", + "label": "make_matrix()", + "file_type": "code", + "source_file": "tests/test_warning.py", + "source_location": "L44", + "_origin": "ast" + }, + { + "id": "tests_test_warning_py_fixture", + "label": "fixture", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast" + }, + { + "id": "tests_test_warning_detector", + "label": "detector()", + "file_type": "code", + "source_file": "tests/test_warning.py", + "source_location": "L59", + "_origin": "ast" + }, + { + "id": "tests_test_warning_testdenseschedule", + "label": "TestDenseSchedule", + "file_type": "code", + "source_file": "tests/test_warning.py", + "source_location": "L67", + "_origin": "ast" + }, + { + "id": "tests_test_warning_testdenseschedule_test_dense_trigger_baby", + "label": ".test_dense_trigger_baby()", + "file_type": "code", + "source_file": "tests/test_warning.py", + "source_location": "L68", + "_origin": "ast" + }, + { + "id": "tests_test_warning_testdenseschedule_test_dense_trigger_friends_heavy", + "label": ".test_dense_trigger_friends_heavy()", + "file_type": "code", + "source_file": "tests/test_warning.py", + "source_location": "L77", + "_origin": "ast" + }, + { + "id": "tests_test_warning_testdenseschedule_test_no_dense_within_threshold", + "label": ".test_no_dense_within_threshold()", + "file_type": "code", + "source_file": "tests/test_warning.py", + "source_location": "L86", + "_origin": "ast" + }, + { + "id": "tests_test_warning_testdenseschedule_test_dense_message_includes_party_type", + "label": ".test_dense_message_includes_party_type()", + "file_type": "code", + "source_file": "tests/test_warning.py", + "source_location": "L95", + "_origin": "ast" + }, + { + "id": "tests_test_warning_testphysicalstrain", + "label": "TestPhysicalStrain", + "file_type": "code", + "source_file": "tests/test_warning.py", + "source_location": "L109", + "_origin": "ast" + }, + { + "id": "tests_test_warning_testphysicalstrain_test_strain_trigger", + "label": ".test_strain_trigger()", + "file_type": "code", + "source_file": "tests/test_warning.py", + "source_location": "L110", + "_origin": "ast" + }, + { + "id": "tests_test_warning_testphysicalstrain_test_no_strain_short_distance", + "label": ".test_no_strain_short_distance()", + "file_type": "code", + "source_file": "tests/test_warning.py", + "source_location": "L123", + "_origin": "ast" + }, + { + "id": "tests_test_warning_testpurposemismatch", + "label": "TestPurposeMismatch", + "file_type": "code", + "source_file": "tests/test_warning.py", + "source_location": "L138", + "_origin": "ast" + }, + { + "id": "tests_test_warning_testpurposemismatch_test_mismatch_cultural_all_sports", + "label": ".test_mismatch_cultural_all_sports()", + "file_type": "code", + "source_file": "tests/test_warning.py", + "source_location": "L139", + "_origin": "ast" + }, + { + "id": "tests_test_warning_testpurposemismatch_test_no_mismatch_cultural_all_cultural", + "label": ".test_no_mismatch_cultural_all_cultural()", + "file_type": "code", + "source_file": "tests/test_warning.py", + "source_location": "L150", + "_origin": "ast" + }, + { + "id": "tests_test_warning_testpurposemismatch_test_no_mismatch_when_no_travel_type", + "label": ".test_no_mismatch_when_no_travel_type()", + "file_type": "code", + "source_file": "tests/test_warning.py", + "source_location": "L161", + "_origin": "ast" + }, + { + "id": "tests_test_warning_testarearevisit", + "label": "TestAreaRevisit", + "file_type": "code", + "source_file": "tests/test_warning.py", + "source_location": "L173", + "_origin": "ast" + }, + { + "id": "tests_test_warning_testarearevisit_test_consecutive_same_category_triggers", + "label": ".test_consecutive_same_category_triggers()", + "file_type": "code", + "source_file": "tests/test_warning.py", + "source_location": "L174", + "_origin": "ast" + }, + { + "id": "tests_test_warning_testarearevisit_test_all_different_no_revisit", + "label": ".test_all_different_no_revisit()", + "file_type": "code", + "source_file": "tests/test_warning.py", + "source_location": "L187", + "_origin": "ast" + }, + { + "id": "tests_test_warning_testarearevisit_test_three_consecutive_triggers", + "label": ".test_three_consecutive_triggers()", + "file_type": "code", + "source_file": "tests/test_warning.py", + "source_location": "L199", + "_origin": "ast" + }, + { + "id": "tests_test_warning_testarearevisit_test_two_consecutive_no_trigger", + "label": ".test_two_consecutive_no_trigger()", + "file_type": "code", + "source_file": "tests/test_warning.py", + "source_location": "L212", + "_origin": "ast" + }, + { + "id": "tests_test_warning_testwarningfields", + "label": "TestWarningFields", + "file_type": "code", + "source_file": "tests/test_warning.py", + "source_location": "L230", + "_origin": "ast" + }, + { + "id": "tests_test_warning_testwarningfields_test_warning_has_confidence_from_types", + "label": ".test_warning_has_confidence_from_types()", + "file_type": "code", + "source_file": "tests/test_warning.py", + "source_location": "L231", + "_origin": "ast" + }, + { + "id": "tests_test_warning_testwarningfields_test_warning_message_not_empty", + "label": ".test_warning_message_not_empty()", + "file_type": "code", + "source_file": "tests/test_warning.py", + "source_location": "L242", + "_origin": "ast" + }, + { + "id": "tests_test_warning_testdayindex", + "label": "TestDayIndex", + "file_type": "code", + "source_file": "tests/test_warning.py", + "source_location": "L255", + "_origin": "ast" + }, + { + "id": "tests_test_warning_testdayindex_test_day_index_defaults_to_none", + "label": ".test_day_index_defaults_to_none()", + "file_type": "code", + "source_file": "tests/test_warning.py", + "source_location": "L256", + "_origin": "ast" + }, + { + "id": "tests_test_warning_testdayindex_test_day_index_and_poi_names_set_when_passed", + "label": ".test_day_index_and_poi_names_set_when_passed()", + "file_type": "code", + "source_file": "tests/test_warning.py", + "source_location": "L266", + "_origin": "ast" + }, + { + "id": "tests_test_warning_rationale_1", + "label": "Tests for WarningDetector (TDD).", + "file_type": "rationale", + "source_file": "tests/test_warning.py", + "source_location": "L1", + "_origin": "ast" + } + ], + "edges": [ + { + "source": "gun_scripts_build_hours_db", + "target": "re", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_hours_db.py", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_hours_db", + "target": "pathlib", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_hours_db.py", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_hours_db", + "target": "collections", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_hours_db.py", + "source_location": "L19", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_hours_db", + "target": "openpyxl", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_hours_db.py", + "source_location": "L21", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_hours_db", + "target": "openpyxl_styles", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_hours_db.py", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_hours_db", + "target": "openpyxl_utils", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_hours_db.py", + "source_location": "L23", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_hours_db", + "target": "gun_scripts_build_hours_db_match_sub_category", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_hours_db.py", + "source_location": "L403", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_hours_db", + "target": "gun_scripts_build_hours_db_confidence", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_hours_db.py", + "source_location": "L428", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_hours_db", + "target": "gun_scripts_build_hours_db_build_place_hours_xlsx", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_hours_db.py", + "source_location": "L442", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_hours_db_build_place_hours_xlsx", + "target": "counter", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_hours_db.py", + "source_location": "L442", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_hours_db", + "target": "gun_scripts_build_hours_db_build_category_std_xlsx", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_hours_db.py", + "source_location": "L543", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_hours_db_build_category_std_xlsx", + "target": "counter", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_hours_db.py", + "source_location": "L543", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_hours_db", + "target": "gun_scripts_build_hours_db_build_hours_db_py", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_hours_db.py", + "source_location": "L605", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_hours_db", + "target": "gun_scripts_build_hours_db_main", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_hours_db.py", + "source_location": "L700", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_hours_db_build_place_hours_xlsx", + "target": "counter", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_hours_db.py", + "source_location": "L456", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_hours_db_build_place_hours_xlsx", + "target": "gun_scripts_build_hours_db_match_sub_category", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_hours_db.py", + "source_location": "L459", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_hours_db_build_place_hours_xlsx", + "target": "gun_scripts_build_hours_db_confidence", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_hours_db.py", + "source_location": "L474", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_hours_db_main", + "target": "gun_scripts_build_hours_db_build_place_hours_xlsx", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_hours_db.py", + "source_location": "L701", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_hours_db_main", + "target": "gun_scripts_build_hours_db_build_category_std_xlsx", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_hours_db.py", + "source_location": "L702", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_hours_db_main", + "target": "gun_scripts_build_hours_db_build_hours_db_py", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_hours_db.py", + "source_location": "L703", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_hours_db_rationale_1", + "target": "gun_scripts_build_hours_db", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_hours_db.py", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_hours_db_rationale_404", + "target": "gun_scripts_build_hours_db_match_sub_category", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_hours_db.py", + "source_location": "L404", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_hours_db_rationale_429", + "target": "gun_scripts_build_hours_db_confidence", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_hours_db.py", + "source_location": "L429", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_itinerary_excel", + "target": "argparse", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L25", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_itinerary_excel", + "target": "csv", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L26", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_itinerary_excel", + "target": "json", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L27", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_itinerary_excel", + "target": "sys", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L28", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_itinerary_excel", + "target": "collections", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L29", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_itinerary_excel", + "target": "datetime", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L30", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_itinerary_excel", + "target": "pathlib", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L31", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_itinerary_excel", + "target": "typing", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L32", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_itinerary_excel", + "target": "pandas", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L34", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_itinerary_excel", + "target": "src_data_dwell_db", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L41", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_itinerary_excel", + "target": "src_data_hours_db", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L42", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_itinerary_excel", + "target": "src_data_models", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L43", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_itinerary_excel", + "target": "src_scoring_cluster_dispersion", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L44", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_itinerary_excel", + "target": "src_scoring_travel_ratio", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L45", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_itinerary_excel", + "target": "src_validation_kakao_matrix", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L46", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_itinerary_excel", + "target": "src_validation_vrptw_engine", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L47", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_itinerary_excel", + "target": "gun_scripts_build_itinerary_excel_parse_weekday", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L99", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_itinerary_excel", + "target": "gun_scripts_build_itinerary_excel_minutes_to_hhmm", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L109", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_itinerary_excel", + "target": "gun_scripts_build_itinerary_excel_check_hours_violations", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L115", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_itinerary_excel_check_hours_violations", + "target": "src_data_hours_db_hoursspec", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L115", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_itinerary_excel", + "target": "gun_scripts_build_itinerary_excel_poimatcher", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L161", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_itinerary_excel_poimatcher", + "target": "gun_scripts_build_itinerary_excel_poimatcher_init", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L164", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_itinerary_excel_poimatcher_init", + "target": "gun_scripts_build_itinerary_excel_py_path", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L164", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_itinerary_excel_poimatcher", + "target": "gun_scripts_build_itinerary_excel_poimatcher_match", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L179", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_itinerary_excel_poimatcher", + "target": "gun_scripts_build_itinerary_excel_poimatcher_row_to_dict", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L203", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_itinerary_excel_poimatcher_row_to_dict", + "target": "gun_scripts_build_itinerary_excel_py_any", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L203", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_itinerary_excel", + "target": "gun_scripts_build_itinerary_excel_to_vrptw_place", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L219", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_itinerary_excel_to_vrptw_place", + "target": "src_data_models_vrptwplace", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L219", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_itinerary_excel", + "target": "gun_scripts_build_itinerary_excel_process_one_day", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L237", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_itinerary_excel", + "target": "gun_scripts_build_itinerary_excel_main", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L356", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_itinerary_excel_check_hours_violations", + "target": "gun_scripts_build_itinerary_excel_minutes_to_hhmm", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L135", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_itinerary_excel_poimatcher_match", + "target": "gun_scripts_build_itinerary_excel_poimatcher_row_to_dict", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L188", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_itinerary_excel_to_vrptw_place", + "target": "src_data_models_vrptwplace", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L226", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_itinerary_excel_process_one_day", + "target": "gun_scripts_build_itinerary_excel_to_vrptw_place", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L246", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_itinerary_excel_process_one_day", + "target": "gun_scripts_build_itinerary_excel_parse_weekday", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L273", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_itinerary_excel_process_one_day", + "target": "gun_scripts_build_itinerary_excel_check_hours_violations", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L280", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_itinerary_excel_process_one_day", + "target": "gun_scripts_build_itinerary_excel_minutes_to_hhmm", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L285", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_itinerary_excel_main", + "target": "gun_scripts_build_itinerary_excel_py_path", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L364", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_itinerary_excel_main", + "target": "gun_scripts_build_itinerary_excel_poimatcher", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L384", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_itinerary_excel_main", + "target": "gun_scripts_build_itinerary_excel_poimatcher_match", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L389", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_itinerary_excel_main", + "target": "gun_scripts_build_itinerary_excel_parse_weekday", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L427", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_itinerary_excel_main", + "target": "gun_scripts_build_itinerary_excel_process_one_day", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L466", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_itinerary_excel_rationale_1", + "target": "gun_scripts_build_itinerary_excel", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_itinerary_excel_rationale_100", + "target": "gun_scripts_build_itinerary_excel_parse_weekday", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L100", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_itinerary_excel_rationale_110", + "target": "gun_scripts_build_itinerary_excel_minutes_to_hhmm", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L110", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_itinerary_excel_rationale_121", + "target": "gun_scripts_build_itinerary_excel_check_hours_violations", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L121", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_itinerary_excel_rationale_162", + "target": "gun_scripts_build_itinerary_excel_poimatcher", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L162", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_itinerary_excel_rationale_180", + "target": "gun_scripts_build_itinerary_excel_poimatcher_match", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L180", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_itinerary_excel_rationale_220", + "target": "gun_scripts_build_itinerary_excel_to_vrptw_place", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L220", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_itinerary_excel_rationale_241", + "target": "gun_scripts_build_itinerary_excel_process_one_day", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L241", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_ppt", + "target": "ref_pptxgenjs", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_ppt.js", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_ppt", + "target": "gun_scripts_build_ppt_pptxgen", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_ppt.js", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_ppt", + "target": "ref_path", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_ppt.js", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_ppt", + "target": "gun_scripts_build_ppt_path", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_ppt.js", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_ppt", + "target": "gun_scripts_build_ppt_pres", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_ppt.js", + "source_location": "L43", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_ppt", + "target": "gun_scripts_build_ppt_addpageheader", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_ppt.js", + "source_location": "L54", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_ppt", + "target": "gun_scripts_build_ppt_addtitle", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_ppt.js", + "source_location": "L69", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_ppt", + "target": "gun_scripts_build_ppt_addfooter", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_ppt.js", + "source_location": "L82", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_ppt", + "target": "gun_scripts_build_ppt_addcard", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_ppt.js", + "source_location": "L94", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_ppt", + "target": "gun_scripts_build_ppt_addstat", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_ppt.js", + "source_location": "L112", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_ppt", + "target": "gun_scripts_build_ppt_addnumberchip", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_ppt.js", + "source_location": "L126", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_ppt", + "target": "gun_scripts_build_ppt_output", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_ppt.js", + "source_location": "L1656", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_travel_matrix", + "target": "argparse", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_travel_matrix.py", + "source_location": "L27", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_travel_matrix", + "target": "csv", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_travel_matrix.py", + "source_location": "L28", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_travel_matrix", + "target": "sys", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_travel_matrix.py", + "source_location": "L29", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_travel_matrix", + "target": "time", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_travel_matrix.py", + "source_location": "L30", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_travel_matrix", + "target": "pathlib", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_travel_matrix.py", + "source_location": "L31", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_travel_matrix", + "target": "src_data_models", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_travel_matrix.py", + "source_location": "L39", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_travel_matrix", + "target": "src_validation_kakao_matrix", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_travel_matrix.py", + "source_location": "L40", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_travel_matrix", + "target": "gun_scripts_build_travel_matrix_resolve_base_dir", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_travel_matrix.py", + "source_location": "L43", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_travel_matrix_resolve_base_dir", + "target": "gun_scripts_build_travel_matrix_py_path", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_travel_matrix.py", + "source_location": "L43", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_travel_matrix", + "target": "gun_scripts_build_travel_matrix_load_pois", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_travel_matrix.py", + "source_location": "L55", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_travel_matrix_load_pois", + "target": "gun_scripts_build_travel_matrix_py_path", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_travel_matrix.py", + "source_location": "L55", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_travel_matrix_load_pois", + "target": "src_data_models_vrptwplace", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_travel_matrix.py", + "source_location": "L55", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_travel_matrix", + "target": "gun_scripts_build_travel_matrix_build_matrix", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_travel_matrix.py", + "source_location": "L83", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_travel_matrix_build_matrix", + "target": "src_data_models_vrptwplace", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_travel_matrix.py", + "source_location": "L83", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_travel_matrix_build_matrix", + "target": "src_validation_kakao_matrix_kakaomobilitymatrix", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_travel_matrix.py", + "source_location": "L83", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_travel_matrix", + "target": "gun_scripts_build_travel_matrix_main", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_travel_matrix.py", + "source_location": "L122", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_travel_matrix_resolve_base_dir", + "target": "gun_scripts_build_travel_matrix_py_path", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_travel_matrix.py", + "source_location": "L45", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_travel_matrix_load_pois", + "target": "src_data_models_vrptwplace", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_travel_matrix.py", + "source_location": "L74", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_travel_matrix_main", + "target": "gun_scripts_build_travel_matrix_py_path", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_travel_matrix.py", + "source_location": "L157", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_travel_matrix_main", + "target": "gun_scripts_build_travel_matrix_load_pois", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_travel_matrix.py", + "source_location": "L164", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_travel_matrix_main", + "target": "gun_scripts_build_travel_matrix_build_matrix", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_travel_matrix.py", + "source_location": "L184", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_travel_matrix_rationale_1", + "target": "gun_scripts_build_travel_matrix", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_travel_matrix.py", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_travel_matrix_rationale_62", + "target": "gun_scripts_build_travel_matrix_load_pois", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_travel_matrix.py", + "source_location": "L62", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_travel_matrix_rationale_88", + "target": "gun_scripts_build_travel_matrix_build_matrix", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_travel_matrix.py", + "source_location": "L88", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_create_input_template", + "target": "pathlib", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/create_input_template.py", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_create_input_template", + "target": "openpyxl", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/create_input_template.py", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_create_input_template", + "target": "openpyxl_styles", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/create_input_template.py", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_create_input_template", + "target": "openpyxl_utils", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/create_input_template.py", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_create_input_template", + "target": "openpyxl_worksheet_datavalidation", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/create_input_template.py", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_create_input_template", + "target": "gun_scripts_create_input_template_make_workbook", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/create_input_template.py", + "source_location": "L57", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_create_input_template_make_workbook", + "target": "gun_scripts_create_input_template_py_workbook", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/create_input_template.py", + "source_location": "L57", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_create_input_template", + "target": "gun_scripts_create_input_template_main", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/create_input_template.py", + "source_location": "L157", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_create_input_template_make_workbook", + "target": "gun_scripts_create_input_template_py_workbook", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/create_input_template.py", + "source_location": "L58", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_create_input_template_main", + "target": "gun_scripts_create_input_template_make_workbook", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/create_input_template.py", + "source_location": "L158", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_create_input_template_rationale_1", + "target": "gun_scripts_create_input_template", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/create_input_template.py", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_curated_itineraries", + "target": "pathlib", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/curated_itineraries.py", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_curated_itineraries", + "target": "openpyxl", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/curated_itineraries.py", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_curated_itineraries", + "target": "openpyxl_styles", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/curated_itineraries.py", + "source_location": "L23", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_curated_itineraries", + "target": "openpyxl_utils", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/curated_itineraries.py", + "source_location": "L24", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_curated_itineraries", + "target": "openpyxl_worksheet_datavalidation", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/curated_itineraries.py", + "source_location": "L25", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_curated_itineraries", + "target": "gun_scripts_curated_itineraries_make_workbook", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/curated_itineraries.py", + "source_location": "L572", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_curated_itineraries_make_workbook", + "target": "gun_scripts_curated_itineraries_py_workbook", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/curated_itineraries.py", + "source_location": "L572", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_curated_itineraries", + "target": "gun_scripts_curated_itineraries_main", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/curated_itineraries.py", + "source_location": "L658", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_curated_itineraries_make_workbook", + "target": "gun_scripts_curated_itineraries_py_workbook", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/curated_itineraries.py", + "source_location": "L573", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_curated_itineraries_main", + "target": "gun_scripts_curated_itineraries_make_workbook", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/curated_itineraries.py", + "source_location": "L659", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_curated_itineraries_rationale_1", + "target": "gun_scripts_curated_itineraries", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/curated_itineraries.py", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_google_hours", + "target": "argparse", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_google_hours.py", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_google_hours", + "target": "csv", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_google_hours.py", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_google_hours", + "target": "json", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_google_hours.py", + "source_location": "L19", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_google_hours", + "target": "os", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_google_hours.py", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_google_hours", + "target": "sys", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_google_hours.py", + "source_location": "L21", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_google_hours", + "target": "time", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_google_hours.py", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_google_hours", + "target": "pathlib", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_google_hours.py", + "source_location": "L23", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_google_hours", + "target": "typing", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_google_hours.py", + "source_location": "L24", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_google_hours", + "target": "httpx", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_google_hours.py", + "source_location": "L26", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_google_hours", + "target": "openpyxl", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_google_hours.py", + "source_location": "L27", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_google_hours", + "target": "gun_scripts_fetch_google_hours_load_env", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_google_hours.py", + "source_location": "L41", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_google_hours_load_env", + "target": "gun_scripts_fetch_google_hours_py_path", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_google_hours.py", + "source_location": "L41", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_google_hours", + "target": "gun_scripts_fetch_google_hours_text_search", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_google_hours.py", + "source_location": "L58", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_google_hours", + "target": "gun_scripts_fetch_google_hours_place_details", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_google_hours.py", + "source_location": "L83", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_google_hours_place_details", + "target": "gun_scripts_fetch_google_hours_py_any", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_google_hours.py", + "source_location": "L83", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_google_hours", + "target": "gun_scripts_fetch_google_hours_parse_periods", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_google_hours.py", + "source_location": "L102", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_google_hours", + "target": "gun_scripts_fetch_google_hours_load_targets", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_google_hours.py", + "source_location": "L124", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_google_hours_load_targets", + "target": "gun_scripts_fetch_google_hours_py_path", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_google_hours.py", + "source_location": "L124", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_google_hours", + "target": "gun_scripts_fetch_google_hours_main", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_google_hours.py", + "source_location": "L148", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_google_hours_main", + "target": "gun_scripts_fetch_google_hours_load_targets", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_google_hours.py", + "source_location": "L156", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_google_hours_main", + "target": "gun_scripts_fetch_google_hours_py_path", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_google_hours.py", + "source_location": "L156", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_google_hours_main", + "target": "gun_scripts_fetch_google_hours_text_search", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_google_hours.py", + "source_location": "L176", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_google_hours_main", + "target": "gun_scripts_fetch_google_hours_place_details", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_google_hours.py", + "source_location": "L185", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_google_hours_main", + "target": "gun_scripts_fetch_google_hours_parse_periods", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_google_hours.py", + "source_location": "L197", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_google_hours_rationale_1", + "target": "gun_scripts_fetch_google_hours", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_google_hours.py", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_google_hours_rationale_59", + "target": "gun_scripts_fetch_google_hours_text_search", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_google_hours.py", + "source_location": "L59", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_google_hours_rationale_103", + "target": "gun_scripts_fetch_google_hours_parse_periods", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_google_hours.py", + "source_location": "L103", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv", + "target": "argparse", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L51", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv", + "target": "csv", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L52", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv", + "target": "json", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L53", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv", + "target": "os", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L54", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv", + "target": "sys", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L55", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv", + "target": "time", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L56", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv", + "target": "dataclasses", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L57", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv", + "target": "datetime", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L58", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv", + "target": "pathlib", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L59", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv", + "target": "typing", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L60", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv", + "target": "requests", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L62", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv", + "target": "gun_scripts_fetch_tourapi_to_csv_resolve_base_dir", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L132", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv_resolve_base_dir", + "target": "gun_scripts_fetch_tourapi_to_csv_py_path", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L132", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv", + "target": "gun_scripts_fetch_tourapi_to_csv_load_env", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L156", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv", + "target": "gun_scripts_fetch_tourapi_to_csv_checkpoint", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L177", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv_checkpoint", + "target": "gun_scripts_fetch_tourapi_to_csv_checkpoint_load", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L188", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv_checkpoint", + "target": "gun_scripts_fetch_tourapi_to_csv_checkpoint_save", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L200", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv_checkpoint", + "target": "gun_scripts_fetch_tourapi_to_csv_checkpoint_increment_daily", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L213", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv_checkpoint", + "target": "gun_scripts_fetch_tourapi_to_csv_checkpoint_remaining_today", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L222", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv_checkpoint", + "target": "gun_scripts_fetch_tourapi_to_csv_checkpoint_key", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L229", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv_checkpoint", + "target": "gun_scripts_fetch_tourapi_to_csv_checkpoint_is_done", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L232", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv_checkpoint", + "target": "gun_scripts_fetch_tourapi_to_csv_checkpoint_mark_done", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L235", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv", + "target": "gun_scripts_fetch_tourapi_to_csv_dailylimitreached", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L240", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv_dailylimitreached", + "target": "gun_scripts_fetch_tourapi_to_csv_py_exception", + "relation": "inherits", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L240", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv", + "target": "gun_scripts_fetch_tourapi_to_csv_call_api", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L244", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv_call_api", + "target": "gun_scripts_fetch_tourapi_to_csv_py_any", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L244", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv_call_api", + "target": "gun_scripts_fetch_tourapi_to_csv_checkpoint", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L244", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv", + "target": "gun_scripts_fetch_tourapi_to_csv_parse_items", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L333", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv", + "target": "gun_scripts_fetch_tourapi_to_csv_get_total_count", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L345", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv", + "target": "gun_scripts_fetch_tourapi_to_csv_csvappender", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L351", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv_csvappender", + "target": "gun_scripts_fetch_tourapi_to_csv_csvappender_init", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L352", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv_csvappender_init", + "target": "gun_scripts_fetch_tourapi_to_csv_py_path", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L352", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv_csvappender", + "target": "gun_scripts_fetch_tourapi_to_csv_csvappender_enter", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L358", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv_csvappender", + "target": "gun_scripts_fetch_tourapi_to_csv_csvappender_exit", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L367", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv_csvappender", + "target": "gun_scripts_fetch_tourapi_to_csv_csvappender_write", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L371", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv_csvappender", + "target": "gun_scripts_fetch_tourapi_to_csv_csvappender_write_many", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L374", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv", + "target": "gun_scripts_fetch_tourapi_to_csv_is_valid_kr_coord", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L379", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv", + "target": "gun_scripts_fetch_tourapi_to_csv_fetch_ldong_codes", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L391", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv_fetch_ldong_codes", + "target": "gun_scripts_fetch_tourapi_to_csv_checkpoint", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L391", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv", + "target": "gun_scripts_fetch_tourapi_to_csv_fetch_classification_codes", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L503", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv_fetch_classification_codes", + "target": "gun_scripts_fetch_tourapi_to_csv_checkpoint", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L503", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv", + "target": "gun_scripts_fetch_tourapi_to_csv_fetch_pois", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L565", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv_fetch_pois", + "target": "gun_scripts_fetch_tourapi_to_csv_checkpoint", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L565", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv", + "target": "gun_scripts_fetch_tourapi_to_csv_process_items", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L648", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv_process_items", + "target": "gun_scripts_fetch_tourapi_to_csv_csvappender", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L648", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv_process_items", + "target": "gun_scripts_fetch_tourapi_to_csv_checkpoint", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L648", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv", + "target": "gun_scripts_fetch_tourapi_to_csv_fetch_festivals", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L673", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv_fetch_festivals", + "target": "gun_scripts_fetch_tourapi_to_csv_checkpoint", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L673", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv", + "target": "gun_scripts_fetch_tourapi_to_csv_enrich_operating_hours", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L756", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv_enrich_operating_hours", + "target": "gun_scripts_fetch_tourapi_to_csv_checkpoint", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L756", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv", + "target": "gun_scripts_fetch_tourapi_to_csv_test_connection", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L815", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv", + "target": "gun_scripts_fetch_tourapi_to_csv_main", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L839", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv_resolve_base_dir", + "target": "gun_scripts_fetch_tourapi_to_csv_py_path", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L134", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv_checkpoint_is_done", + "target": "gun_scripts_fetch_tourapi_to_csv_checkpoint_key", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L233", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv_checkpoint_mark_done", + "target": "gun_scripts_fetch_tourapi_to_csv_checkpoint_key", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L236", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv_call_api", + "target": "gun_scripts_fetch_tourapi_to_csv_checkpoint_remaining_today", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L254", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv_call_api", + "target": "gun_scripts_fetch_tourapi_to_csv_dailylimitreached", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L256", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv_call_api", + "target": "gun_scripts_fetch_tourapi_to_csv_checkpoint_increment_daily", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L273", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv_fetch_ldong_codes", + "target": "gun_scripts_fetch_tourapi_to_csv_call_api", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L400", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv_fetch_ldong_codes", + "target": "gun_scripts_fetch_tourapi_to_csv_parse_items", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L410", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv_fetch_ldong_codes", + "target": "gun_scripts_fetch_tourapi_to_csv_get_total_count", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L482", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv_fetch_classification_codes", + "target": "gun_scripts_fetch_tourapi_to_csv_call_api", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L510", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv_fetch_classification_codes", + "target": "gun_scripts_fetch_tourapi_to_csv_parse_items", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L520", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv_fetch_pois", + "target": "gun_scripts_fetch_tourapi_to_csv_csvappender", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L579", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv_fetch_pois", + "target": "gun_scripts_fetch_tourapi_to_csv_call_api", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L601", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv_fetch_pois", + "target": "gun_scripts_fetch_tourapi_to_csv_get_total_count", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L607", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv_fetch_pois", + "target": "gun_scripts_fetch_tourapi_to_csv_checkpoint_remaining_today", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L609", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv_fetch_pois", + "target": "gun_scripts_fetch_tourapi_to_csv_checkpoint_is_done", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L614", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv_fetch_pois", + "target": "gun_scripts_fetch_tourapi_to_csv_process_items", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L615", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv_fetch_pois", + "target": "gun_scripts_fetch_tourapi_to_csv_parse_items", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L615", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv_fetch_pois", + "target": "gun_scripts_fetch_tourapi_to_csv_checkpoint_mark_done", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L617", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv_fetch_pois", + "target": "gun_scripts_fetch_tourapi_to_csv_checkpoint_save", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L628", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv_process_items", + "target": "gun_scripts_fetch_tourapi_to_csv_is_valid_kr_coord", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L662", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv_process_items", + "target": "gun_scripts_fetch_tourapi_to_csv_csvappender_write", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L666", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv_fetch_festivals", + "target": "gun_scripts_fetch_tourapi_to_csv_call_api", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L700", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv_fetch_festivals", + "target": "gun_scripts_fetch_tourapi_to_csv_get_total_count", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L706", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv_fetch_festivals", + "target": "gun_scripts_fetch_tourapi_to_csv_checkpoint_remaining_today", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L708", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv_fetch_festivals", + "target": "gun_scripts_fetch_tourapi_to_csv_csvappender", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L732", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv_fetch_festivals", + "target": "gun_scripts_fetch_tourapi_to_csv_parse_items", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L734", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv_enrich_operating_hours", + "target": "gun_scripts_fetch_tourapi_to_csv_checkpoint_remaining_today", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L773", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv_enrich_operating_hours", + "target": "gun_scripts_fetch_tourapi_to_csv_csvappender", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L777", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv_enrich_operating_hours", + "target": "gun_scripts_fetch_tourapi_to_csv_call_api", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L780", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv_enrich_operating_hours", + "target": "gun_scripts_fetch_tourapi_to_csv_parse_items", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L794", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv_enrich_operating_hours", + "target": "gun_scripts_fetch_tourapi_to_csv_csvappender_write", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L802", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv_enrich_operating_hours", + "target": "gun_scripts_fetch_tourapi_to_csv_checkpoint_save", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L807", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv_test_connection", + "target": "gun_scripts_fetch_tourapi_to_csv_call_api", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L818", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv_test_connection", + "target": "gun_scripts_fetch_tourapi_to_csv_parse_items", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L828", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv_main", + "target": "gun_scripts_fetch_tourapi_to_csv_load_env", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L883", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv_main", + "target": "gun_scripts_fetch_tourapi_to_csv_test_connection", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L887", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv_main", + "target": "gun_scripts_fetch_tourapi_to_csv_fetch_festivals", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L908", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv_main", + "target": "gun_scripts_fetch_tourapi_to_csv_enrich_operating_hours", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L917", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv_main", + "target": "gun_scripts_fetch_tourapi_to_csv_fetch_ldong_codes", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L922", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv_main", + "target": "gun_scripts_fetch_tourapi_to_csv_fetch_classification_codes", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L923", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv_main", + "target": "gun_scripts_fetch_tourapi_to_csv_fetch_pois", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L961", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv_main", + "target": "gun_scripts_fetch_tourapi_to_csv_checkpoint_save", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L969", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv_rationale_2", + "target": "gun_scripts_fetch_tourapi_to_csv", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv_rationale_178", + "target": "gun_scripts_fetch_tourapi_to_csv_checkpoint", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L178", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv_rationale_241", + "target": "gun_scripts_fetch_tourapi_to_csv_dailylimitreached", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L241", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv_rationale_250", + "target": "gun_scripts_fetch_tourapi_to_csv_call_api", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L250", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv_rationale_334", + "target": "gun_scripts_fetch_tourapi_to_csv_parse_items", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L334", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv_rationale_392", + "target": "gun_scripts_fetch_tourapi_to_csv_fetch_ldong_codes", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L392", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv_rationale_504", + "target": "gun_scripts_fetch_tourapi_to_csv_fetch_classification_codes", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L504", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv_rationale_572", + "target": "gun_scripts_fetch_tourapi_to_csv_fetch_pois", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L572", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv_rationale_653", + "target": "gun_scripts_fetch_tourapi_to_csv_process_items", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L653", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv_rationale_679", + "target": "gun_scripts_fetch_tourapi_to_csv_fetch_festivals", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L679", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv_rationale_757", + "target": "gun_scripts_fetch_tourapi_to_csv_enrich_operating_hours", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L757", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_inspect_json", + "target": "argparse", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/inspect_json.py", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_inspect_json", + "target": "json", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/inspect_json.py", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_inspect_json", + "target": "sys", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/inspect_json.py", + "source_location": "L19", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_inspect_json", + "target": "pathlib", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/inspect_json.py", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_inspect_json", + "target": "typing", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/inspect_json.py", + "source_location": "L21", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_inspect_json", + "target": "gun_scripts_inspect_json_get_path", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/inspect_json.py", + "source_location": "L24", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_inspect_json_get_path", + "target": "gun_scripts_inspect_json_py_any", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/inspect_json.py", + "source_location": "L24", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_inspect_json", + "target": "gun_scripts_inspect_json_describe", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/inspect_json.py", + "source_location": "L44", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_inspect_json_describe", + "target": "gun_scripts_inspect_json_py_any", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/inspect_json.py", + "source_location": "L44", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_inspect_json", + "target": "gun_scripts_inspect_json_print_tree", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/inspect_json.py", + "source_location": "L59", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_inspect_json_print_tree", + "target": "gun_scripts_inspect_json_py_any", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/inspect_json.py", + "source_location": "L59", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_inspect_json", + "target": "gun_scripts_inspect_json_search_in", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/inspect_json.py", + "source_location": "L86", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_inspect_json_search_in", + "target": "gun_scripts_inspect_json_py_any", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/inspect_json.py", + "source_location": "L86", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_inspect_json", + "target": "gun_scripts_inspect_json_main", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/inspect_json.py", + "source_location": "L105", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_inspect_json_print_tree", + "target": "gun_scripts_inspect_json_describe", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/inspect_json.py", + "source_location": "L70", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_inspect_json_main", + "target": "gun_scripts_inspect_json_get_path", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/inspect_json.py", + "source_location": "L126", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_inspect_json_main", + "target": "gun_scripts_inspect_json_search_in", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/inspect_json.py", + "source_location": "L132", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_inspect_json_main", + "target": "gun_scripts_inspect_json_describe", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/inspect_json.py", + "source_location": "L135", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_inspect_json_main", + "target": "gun_scripts_inspect_json_print_tree", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/inspect_json.py", + "source_location": "L143", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_inspect_json_rationale_1", + "target": "gun_scripts_inspect_json", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/inspect_json.py", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_inspect_json_rationale_25", + "target": "gun_scripts_inspect_json_get_path", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/inspect_json.py", + "source_location": "L25", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_inspect_json_rationale_60", + "target": "gun_scripts_inspect_json_print_tree", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/inspect_json.py", + "source_location": "L60", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_inspect_json_rationale_87", + "target": "gun_scripts_inspect_json_search_in", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/inspect_json.py", + "source_location": "L87", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_preprocess_pois", + "target": "argparse", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/preprocess_pois.py", + "source_location": "L25", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_preprocess_pois", + "target": "sys", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/preprocess_pois.py", + "source_location": "L26", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_preprocess_pois", + "target": "pathlib", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/preprocess_pois.py", + "source_location": "L27", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_preprocess_pois", + "target": "pandas", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/preprocess_pois.py", + "source_location": "L29", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_preprocess_pois", + "target": "gun_scripts_preprocess_pois_parse_korean_address", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/preprocess_pois.py", + "source_location": "L37", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_preprocess_pois", + "target": "gun_scripts_preprocess_pois_split_address_columns", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/preprocess_pois.py", + "source_location": "L92", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_preprocess_pois_split_address_columns", + "target": "gun_scripts_preprocess_pois_py_dataframe", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/preprocess_pois.py", + "source_location": "L92", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_preprocess_pois", + "target": "gun_scripts_preprocess_pois_parse_eup_myeon_ri", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/preprocess_pois.py", + "source_location": "L120", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_preprocess_pois", + "target": "gun_scripts_preprocess_pois_split_eup_myeon_ri_columns", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/preprocess_pois.py", + "source_location": "L150", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_preprocess_pois_split_eup_myeon_ri_columns", + "target": "gun_scripts_preprocess_pois_py_dataframe", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/preprocess_pois.py", + "source_location": "L150", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_preprocess_pois", + "target": "gun_scripts_preprocess_pois_split_date_columns", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/preprocess_pois.py", + "source_location": "L175", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_preprocess_pois_split_date_columns", + "target": "gun_scripts_preprocess_pois_py_dataframe", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/preprocess_pois.py", + "source_location": "L175", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_preprocess_pois", + "target": "gun_scripts_preprocess_pois_preprocess", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/preprocess_pois.py", + "source_location": "L202", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_preprocess_pois_preprocess", + "target": "gun_scripts_preprocess_pois_py_path", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/preprocess_pois.py", + "source_location": "L202", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_preprocess_pois", + "target": "gun_scripts_preprocess_pois_main", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/preprocess_pois.py", + "source_location": "L273", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_preprocess_pois_split_address_columns", + "target": "gun_scripts_preprocess_pois_parse_korean_address", + "relation": "indirect_call", + "context": "argument", + "confidence": "INFERRED", + "source_file": "gun/scripts/preprocess_pois.py", + "source_location": "L101", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_preprocess_pois_split_eup_myeon_ri_columns", + "target": "gun_scripts_preprocess_pois_parse_eup_myeon_ri", + "relation": "indirect_call", + "context": "argument", + "confidence": "INFERRED", + "source_file": "gun/scripts/preprocess_pois.py", + "source_location": "L159", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_preprocess_pois_preprocess", + "target": "gun_scripts_preprocess_pois_split_address_columns", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/preprocess_pois.py", + "source_location": "L223", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_preprocess_pois_preprocess", + "target": "gun_scripts_preprocess_pois_split_eup_myeon_ri_columns", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/preprocess_pois.py", + "source_location": "L226", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_preprocess_pois_preprocess", + "target": "gun_scripts_preprocess_pois_split_date_columns", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/preprocess_pois.py", + "source_location": "L232", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_preprocess_pois_main", + "target": "gun_scripts_preprocess_pois_py_path", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/preprocess_pois.py", + "source_location": "L285", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_preprocess_pois_main", + "target": "gun_scripts_preprocess_pois_preprocess", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/preprocess_pois.py", + "source_location": "L295", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_preprocess_pois_rationale_1", + "target": "gun_scripts_preprocess_pois", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/preprocess_pois.py", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_preprocess_pois_rationale_38", + "target": "gun_scripts_preprocess_pois_parse_korean_address", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/preprocess_pois.py", + "source_location": "L38", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_preprocess_pois_rationale_121", + "target": "gun_scripts_preprocess_pois_parse_eup_myeon_ri", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/preprocess_pois.py", + "source_location": "L121", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_preprocess_pois_rationale_181", + "target": "gun_scripts_preprocess_pois_split_date_columns", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/preprocess_pois.py", + "source_location": "L181", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_setup_and_test", + "target": "os", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/setup_and_test.py", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_setup_and_test", + "target": "sys", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/setup_and_test.py", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_setup_and_test", + "target": "pathlib", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/setup_and_test.py", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_setup_and_test", + "target": "dotenv", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/setup_and_test.py", + "source_location": "L28", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_setup_and_test", + "target": "src_validation_kakao_matrix", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/setup_and_test.py", + "source_location": "L47", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_setup_and_test", + "target": "src_data_models", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/setup_and_test.py", + "source_location": "L48", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_setup_and_test_rationale_1", + "target": "gun_scripts_setup_and_test", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/setup_and_test.py", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "package", + "target": "package_dependencies", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "package_dependencies", + "target": "package_dependencies_pptxgenjs", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L3", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "package_dependencies_pptxgenjs", + "target": "pptxgenjs", + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L3", + "weight": 1.0, + "context": "import", + "_origin": "ast" + }, + { + "source": "phases_0_setup_analyze", + "target": "json", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/analyze.py", + "source_location": "L5", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_analyze", + "target": "os", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/analyze.py", + "source_location": "L5", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_analyze", + "target": "re", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/analyze.py", + "source_location": "L5", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_analyze", + "target": "time", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/analyze.py", + "source_location": "L5", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_analyze", + "target": "requests", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/analyze.py", + "source_location": "L5", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_analyze", + "target": "statistics", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/analyze.py", + "source_location": "L5", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_analyze", + "target": "math", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/analyze.py", + "source_location": "L5", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_analyze", + "target": "threading", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/analyze.py", + "source_location": "L5", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_analyze", + "target": "concurrent_futures", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/analyze.py", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_analyze", + "target": "pathlib", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/analyze.py", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_analyze", + "target": "collections", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/analyze.py", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_analyze", + "target": "phases_0_setup_analyze_load_env", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/analyze.py", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_analyze", + "target": "phases_0_setup_analyze_parse_cell", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/analyze.py", + "source_location": "L43", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_analyze", + "target": "phases_0_setup_analyze_geocode_tourapi", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/analyze.py", + "source_location": "L106", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_analyze", + "target": "phases_0_setup_analyze_geocode_kakao_local", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/analyze.py", + "source_location": "L129", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_analyze", + "target": "phases_0_setup_analyze_geocode_nominatim", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/analyze.py", + "source_location": "L153", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_analyze", + "target": "phases_0_setup_analyze_geocode_single", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/analyze.py", + "source_location": "L170", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_analyze", + "target": "phases_0_setup_analyze_haversine_travel_sec", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/analyze.py", + "source_location": "L218", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_analyze", + "target": "phases_0_setup_analyze_get_travel_time", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/analyze.py", + "source_location": "L225", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_analyze", + "target": "phases_0_setup_analyze_haversine", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/analyze.py", + "source_location": "L258", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_analyze", + "target": "phases_0_setup_analyze_cluster_label", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/analyze.py", + "source_location": "L266", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_analyze", + "target": "phases_0_setup_analyze_percentile", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/analyze.py", + "source_location": "L351", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_analyze", + "target": "phases_0_setup_analyze_stats_block", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/analyze.py", + "source_location": "L372", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_analyze_geocode_single", + "target": "phases_0_setup_analyze_geocode_tourapi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/analyze.py", + "source_location": "L173", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_analyze_geocode_single", + "target": "phases_0_setup_analyze_geocode_kakao_local", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/analyze.py", + "source_location": "L175", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_analyze_geocode_single", + "target": "phases_0_setup_analyze_geocode_nominatim", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/analyze.py", + "source_location": "L179", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_analyze_haversine_travel_sec", + "target": "phases_0_setup_analyze_haversine", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/analyze.py", + "source_location": "L220", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_analyze_get_travel_time", + "target": "phases_0_setup_analyze_haversine_travel_sec", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/analyze.py", + "source_location": "L255", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_analyze_stats_block", + "target": "phases_0_setup_analyze_percentile", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/analyze.py", + "source_location": "L380", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_analyze_rationale_1", + "target": "phases_0_setup_analyze", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/analyze.py", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_analyze_rationale_44", + "target": "phases_0_setup_analyze_parse_cell", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/analyze.py", + "source_location": "L44", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_analyze_rationale_130", + "target": "phases_0_setup_analyze_geocode_kakao_local", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/analyze.py", + "source_location": "L130", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_analyze_rationale_171", + "target": "phases_0_setup_analyze_geocode_single", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/analyze.py", + "source_location": "L171", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_analyze_rationale_219", + "target": "phases_0_setup_analyze_haversine_travel_sec", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/analyze.py", + "source_location": "L219", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_analyze_rationale_267", + "target": "phases_0_setup_analyze_cluster_label", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/analyze.py", + "source_location": "L267", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_analyze_triple", + "target": "json", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/analyze_triple.py", + "source_location": "L5", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_analyze_triple", + "target": "os", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/analyze_triple.py", + "source_location": "L5", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_analyze_triple", + "target": "re", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/analyze_triple.py", + "source_location": "L5", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_analyze_triple", + "target": "time", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/analyze_triple.py", + "source_location": "L5", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_analyze_triple", + "target": "requests", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/analyze_triple.py", + "source_location": "L5", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_analyze_triple", + "target": "statistics", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/analyze_triple.py", + "source_location": "L5", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_analyze_triple", + "target": "math", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/analyze_triple.py", + "source_location": "L5", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_analyze_triple", + "target": "threading", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/analyze_triple.py", + "source_location": "L5", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_analyze_triple", + "target": "concurrent_futures", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/analyze_triple.py", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_analyze_triple", + "target": "pathlib", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/analyze_triple.py", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_analyze_triple", + "target": "phases_0_setup_analyze_triple_load_env", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/analyze_triple.py", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_analyze_triple", + "target": "openpyxl", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/analyze_triple.py", + "source_location": "L59", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_analyze_triple", + "target": "phases_0_setup_analyze_triple_parse_numbered", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/analyze_triple.py", + "source_location": "L68", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_analyze_triple", + "target": "phases_0_setup_analyze_triple_geocode_tourapi", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/analyze_triple.py", + "source_location": "L159", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_analyze_triple", + "target": "phases_0_setup_analyze_triple_geocode_kakao_local", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/analyze_triple.py", + "source_location": "L182", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_analyze_triple", + "target": "phases_0_setup_analyze_triple_geocode_nominatim", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/analyze_triple.py", + "source_location": "L206", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_analyze_triple", + "target": "phases_0_setup_analyze_triple_geocode_single", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/analyze_triple.py", + "source_location": "L223", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_analyze_triple", + "target": "phases_0_setup_analyze_triple_haversine", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/analyze_triple.py", + "source_location": "L265", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_analyze_triple", + "target": "phases_0_setup_analyze_triple_haversine_travel_sec", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/analyze_triple.py", + "source_location": "L273", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_analyze_triple", + "target": "phases_0_setup_analyze_triple_get_travel_time", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/analyze_triple.py", + "source_location": "L279", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_analyze_triple", + "target": "phases_0_setup_analyze_triple_cluster_label", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/analyze_triple.py", + "source_location": "L308", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_analyze_triple", + "target": "phases_0_setup_analyze_triple_percentile", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/analyze_triple.py", + "source_location": "L388", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_analyze_triple", + "target": "phases_0_setup_analyze_triple_stats_block", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/analyze_triple.py", + "source_location": "L394", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_analyze_triple_geocode_single", + "target": "phases_0_setup_analyze_triple_geocode_tourapi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/analyze_triple.py", + "source_location": "L226", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_analyze_triple_geocode_single", + "target": "phases_0_setup_analyze_triple_geocode_kakao_local", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/analyze_triple.py", + "source_location": "L228", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_analyze_triple_geocode_single", + "target": "phases_0_setup_analyze_triple_geocode_nominatim", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/analyze_triple.py", + "source_location": "L232", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_analyze_triple_haversine_travel_sec", + "target": "phases_0_setup_analyze_triple_haversine", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/analyze_triple.py", + "source_location": "L274", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_analyze_triple_get_travel_time", + "target": "phases_0_setup_analyze_triple_haversine_travel_sec", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/analyze_triple.py", + "source_location": "L305", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_analyze_triple_stats_block", + "target": "phases_0_setup_analyze_triple_percentile", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/analyze_triple.py", + "source_location": "L402", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_analyze_triple_rationale_1", + "target": "phases_0_setup_analyze_triple", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/analyze_triple.py", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_analyze_triple_rationale_69", + "target": "phases_0_setup_analyze_triple_parse_numbered", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/analyze_triple.py", + "source_location": "L69", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_analyze_triple_rationale_183", + "target": "phases_0_setup_analyze_triple_geocode_kakao_local", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/analyze_triple.py", + "source_location": "L183", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_analyze_triple_rationale_224", + "target": "phases_0_setup_analyze_triple_geocode_single", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/analyze_triple.py", + "source_location": "L224", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_statistical_report", + "target": "json", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/statistical_report.py", + "source_location": "L5", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_statistical_report", + "target": "math", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/statistical_report.py", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_statistical_report", + "target": "statistics", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/statistical_report.py", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_statistical_report", + "target": "sys", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/statistical_report.py", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_statistical_report", + "target": "pathlib", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/statistical_report.py", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_statistical_report", + "target": "collections", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/statistical_report.py", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_statistical_report", + "target": "phases_0_setup_statistical_report_pct", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/statistical_report.py", + "source_location": "L37", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_statistical_report", + "target": "phases_0_setup_statistical_report_pctile", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/statistical_report.py", + "source_location": "L40", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_statistical_report", + "target": "phases_0_setup_statistical_report_header", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/statistical_report.py", + "source_location": "L87", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_statistical_report_rationale_1", + "target": "phases_0_setup_statistical_report", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/statistical_report.py", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_visualize", + "target": "json", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/visualize.py", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_visualize", + "target": "sys", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/visualize.py", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_visualize", + "target": "matplotlib", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/visualize.py", + "source_location": "L5", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_visualize", + "target": "matplotlib_pyplot", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/visualize.py", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_visualize", + "target": "matplotlib_patches", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/visualize.py", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_visualize", + "target": "numpy", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/visualize.py", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_visualize", + "target": "pathlib", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/visualize.py", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_visualize", + "target": "collections", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/visualize.py", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_visualize_rationale_1", + "target": "phases_0_setup_visualize", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/visualize.py", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_visualize_combined", + "target": "json", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/visualize_combined.py", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_visualize_combined", + "target": "matplotlib", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/visualize_combined.py", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_visualize_combined", + "target": "matplotlib_pyplot", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/visualize_combined.py", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_visualize_combined", + "target": "matplotlib_patches", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/visualize_combined.py", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_visualize_combined", + "target": "numpy", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/visualize_combined.py", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_visualize_combined", + "target": "pathlib", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/visualize_combined.py", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_visualize_combined", + "target": "collections", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/visualize_combined.py", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "phases_0_setup_visualize_combined_rationale_1", + "target": "phases_0_setup_visualize_combined", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "phases/0-setup/visualize_combined.py", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "pkg_travel_plan_validator", + "target": "pkg_fastapi", + "relation": "depends_on", + "context": "dependency", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "pyproject.toml", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "pkg_travel_plan_validator", + "target": "pkg_uvicorn", + "relation": "depends_on", + "context": "dependency", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "pyproject.toml", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "pkg_travel_plan_validator", + "target": "pkg_httpx", + "relation": "depends_on", + "context": "dependency", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "pyproject.toml", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "pkg_travel_plan_validator", + "target": "pkg_pydantic", + "relation": "depends_on", + "context": "dependency", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "pyproject.toml", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "pkg_travel_plan_validator", + "target": "pkg_pydantic_settings", + "relation": "depends_on", + "context": "dependency", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "pyproject.toml", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "pkg_travel_plan_validator", + "target": "pkg_python_dotenv", + "relation": "depends_on", + "context": "dependency", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "pyproject.toml", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "pkg_travel_plan_validator", + "target": "pkg_anthropic", + "relation": "depends_on", + "context": "dependency", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "pyproject.toml", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "pkg_travel_plan_validator", + "target": "pkg_pandas", + "relation": "depends_on", + "context": "dependency", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "pyproject.toml", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "pkg_travel_plan_validator", + "target": "pkg_pdfplumber", + "relation": "depends_on", + "context": "dependency", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "pyproject.toml", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "pkg_travel_plan_validator", + "target": "pkg_tqdm", + "relation": "depends_on", + "context": "dependency", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "pyproject.toml", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "pkg_travel_plan_validator", + "target": "pkg_openpyxl", + "relation": "depends_on", + "context": "dependency", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "pyproject.toml", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "pkg_travel_plan_validator", + "target": "pkg_scipy", + "relation": "depends_on", + "context": "dependency", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "pyproject.toml", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "pkg_travel_plan_validator", + "target": "pkg_neo4j", + "relation": "depends_on", + "context": "dependency", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "pyproject.toml", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "pkg_travel_plan_validator", + "target": "pkg_python_multipart", + "relation": "depends_on", + "context": "dependency", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "pyproject.toml", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_build_knowledge_graph", + "target": "math", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/build_knowledge_graph.py", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_build_knowledge_graph", + "target": "re", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/build_knowledge_graph.py", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_build_knowledge_graph", + "target": "sys", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/build_knowledge_graph.py", + "source_location": "L19", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_build_knowledge_graph", + "target": "pathlib", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/build_knowledge_graph.py", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_build_knowledge_graph", + "target": "numpy", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/build_knowledge_graph.py", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_build_knowledge_graph", + "target": "pandas", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/build_knowledge_graph.py", + "source_location": "L23", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_build_knowledge_graph", + "target": "scipy_spatial", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/build_knowledge_graph.py", + "source_location": "L24", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_build_knowledge_graph", + "target": "scripts_build_knowledge_graph_place_type", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/build_knowledge_graph.py", + "source_location": "L61", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_build_knowledge_graph", + "target": "scripts_build_knowledge_graph_parse_region_chain", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/build_knowledge_graph.py", + "source_location": "L67", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_build_knowledge_graph", + "target": "scripts_build_knowledge_graph_load_category_group_map", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/build_knowledge_graph.py", + "source_location": "L100", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_build_knowledge_graph", + "target": "scripts_build_knowledge_graph_project_meters", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/build_knowledge_graph.py", + "source_location": "L113", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_build_knowledge_graph_project_meters", + "target": "ndarray", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "scripts/build_knowledge_graph.py", + "source_location": "L113", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_build_knowledge_graph", + "target": "scripts_build_knowledge_graph_build_near_by", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/build_knowledge_graph.py", + "source_location": "L121", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_build_knowledge_graph_build_near_by", + "target": "scripts_build_knowledge_graph_py_dataframe", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "scripts/build_knowledge_graph.py", + "source_location": "L121", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_build_knowledge_graph", + "target": "scripts_build_knowledge_graph_selfcheck", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/build_knowledge_graph.py", + "source_location": "L154", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_build_knowledge_graph", + "target": "scripts_build_knowledge_graph_main", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/build_knowledge_graph.py", + "source_location": "L170", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_build_knowledge_graph_build_near_by", + "target": "scripts_build_knowledge_graph_project_meters", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/build_knowledge_graph.py", + "source_location": "L123", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_build_knowledge_graph_build_near_by", + "target": "scripts_build_knowledge_graph_py_dataframe", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/build_knowledge_graph.py", + "source_location": "L135", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_build_knowledge_graph_selfcheck", + "target": "scripts_build_knowledge_graph_place_type", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/build_knowledge_graph.py", + "source_location": "L155", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_build_knowledge_graph_selfcheck", + "target": "scripts_build_knowledge_graph_parse_region_chain", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/build_knowledge_graph.py", + "source_location": "L159", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_build_knowledge_graph_main", + "target": "scripts_build_knowledge_graph_selfcheck", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/build_knowledge_graph.py", + "source_location": "L172", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_build_knowledge_graph_main", + "target": "scripts_build_knowledge_graph_load_category_group_map", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/build_knowledge_graph.py", + "source_location": "L176", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_build_knowledge_graph_main", + "target": "scripts_build_knowledge_graph_place_type", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/build_knowledge_graph.py", + "source_location": "L181", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_build_knowledge_graph_main", + "target": "scripts_build_knowledge_graph_py_dataframe", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/build_knowledge_graph.py", + "source_location": "L188", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_build_knowledge_graph_main", + "target": "scripts_build_knowledge_graph_parse_region_chain", + "relation": "indirect_call", + "context": "argument", + "confidence": "INFERRED", + "source_file": "scripts/build_knowledge_graph.py", + "source_location": "L218", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_build_knowledge_graph_main", + "target": "scripts_build_knowledge_graph_build_near_by", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/build_knowledge_graph.py", + "source_location": "L245", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_build_knowledge_graph_rationale_68", + "target": "scripts_build_knowledge_graph_parse_region_chain", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "scripts/build_knowledge_graph.py", + "source_location": "L68", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_build_knowledge_graph_rationale_114", + "target": "scripts_build_knowledge_graph_project_meters", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "scripts/build_knowledge_graph.py", + "source_location": "L114", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_build_poi_dataset", + "target": "asyncio", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/build_poi_dataset.py", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_build_poi_dataset", + "target": "json", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/build_poi_dataset.py", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_build_poi_dataset", + "target": "sys", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/build_poi_dataset.py", + "source_location": "L19", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_build_poi_dataset", + "target": "dataclasses", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/build_poi_dataset.py", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_build_poi_dataset", + "target": "pathlib", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/build_poi_dataset.py", + "source_location": "L21", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_build_poi_dataset", + "target": "src_data_barrier_free_api", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/build_poi_dataset.py", + "source_location": "L25", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_build_poi_dataset", + "target": "src_data_models", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/build_poi_dataset.py", + "source_location": "L26", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_build_poi_dataset", + "target": "src_data_wellness_api", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/build_poi_dataset.py", + "source_location": "L27", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_build_poi_dataset", + "target": "scripts_build_poi_dataset_build_wellness", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/build_poi_dataset.py", + "source_location": "L34", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_build_poi_dataset_build_wellness", + "target": "src_data_wellness_api_wellnessapiclient", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "scripts/build_poi_dataset.py", + "source_location": "L34", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_build_poi_dataset", + "target": "scripts_build_poi_dataset_build_barrier_free", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/build_poi_dataset.py", + "source_location": "L49", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_build_poi_dataset_build_barrier_free", + "target": "src_data_barrier_free_api_barrierfreeapiclient", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "scripts/build_poi_dataset.py", + "source_location": "L49", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_build_poi_dataset", + "target": "scripts_build_poi_dataset_main", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/build_poi_dataset.py", + "source_location": "L64", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_build_poi_dataset_main", + "target": "scripts_build_poi_dataset_build_wellness", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/build_poi_dataset.py", + "source_location": "L81", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_build_poi_dataset_main", + "target": "scripts_build_poi_dataset_build_barrier_free", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/build_poi_dataset.py", + "source_location": "L86", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_build_poi_dataset_rationale_1", + "target": "scripts_build_poi_dataset", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "scripts/build_poi_dataset.py", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_full", + "target": "argparse", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_full.py", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_full", + "target": "csv", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_full.py", + "source_location": "L23", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_full", + "target": "json", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_full.py", + "source_location": "L24", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_full", + "target": "os", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_full.py", + "source_location": "L25", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_full", + "target": "re", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_full.py", + "source_location": "L26", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_full", + "target": "sys", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_full.py", + "source_location": "L27", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_full", + "target": "threading", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_full.py", + "source_location": "L28", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_full", + "target": "time", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_full.py", + "source_location": "L29", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_full", + "target": "concurrent_futures", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_full.py", + "source_location": "L30", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_full", + "target": "datetime", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_full.py", + "source_location": "L31", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_full", + "target": "pathlib", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_full.py", + "source_location": "L32", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_full", + "target": "httpx", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_full.py", + "source_location": "L34", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_full", + "target": "dotenv", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_full.py", + "source_location": "L35", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_full", + "target": "tqdm", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_full.py", + "source_location": "L36", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_full", + "target": "scripts_collect_naver_full_rate_get", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_full.py", + "source_location": "L93", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_full_rate_get", + "target": "scripts_collect_naver_full_py_client", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_full.py", + "source_location": "L93", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_full_rate_get", + "target": "scripts_collect_naver_full_py_response", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_full.py", + "source_location": "L93", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_full", + "target": "scripts_collect_naver_full_load_quota", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_full.py", + "source_location": "L110", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_full", + "target": "scripts_collect_naver_full_save_quota", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_full.py", + "source_location": "L123", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_full", + "target": "scripts_collect_naver_full_increment_quota", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_full.py", + "source_location": "L127", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_full", + "target": "scripts_collect_naver_full_strip", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_full.py", + "source_location": "L138", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_full", + "target": "scripts_collect_naver_full_count_hits", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_full.py", + "source_location": "L214", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_full", + "target": "scripts_collect_naver_full_parse_price", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_full.py", + "source_location": "L232", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_full", + "target": "scripts_collect_naver_full_extract_fields", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_full.py", + "source_location": "L255", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_full", + "target": "scripts_collect_naver_full_build_summary_text", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_full.py", + "source_location": "L315", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_full", + "target": "scripts_collect_naver_full_fetch_blog_texts", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_full.py", + "source_location": "L328", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_full_fetch_blog_texts", + "target": "scripts_collect_naver_full_py_client", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_full.py", + "source_location": "L328", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_full", + "target": "scripts_collect_naver_full_fetch_and_extract", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_full.py", + "source_location": "L354", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_full_fetch_and_extract", + "target": "scripts_collect_naver_full_py_client", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_full.py", + "source_location": "L354", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_full", + "target": "scripts_collect_naver_full_load_all_pois", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_full.py", + "source_location": "L396", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_full", + "target": "scripts_collect_naver_full_load_progress", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_full.py", + "source_location": "L406", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_full", + "target": "scripts_collect_naver_full_save_progress", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_full.py", + "source_location": "L417", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_full", + "target": "scripts_collect_naver_full_save_output", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_full.py", + "source_location": "L422", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_full", + "target": "scripts_collect_naver_full_print_stats", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_full.py", + "source_location": "L431", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_full", + "target": "scripts_collect_naver_full_main", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_full.py", + "source_location": "L464", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_full_increment_quota", + "target": "scripts_collect_naver_full_save_quota", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_full.py", + "source_location": "L133", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_full_extract_fields", + "target": "scripts_collect_naver_full_count_hits", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_full.py", + "source_location": "L270", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_full_extract_fields", + "target": "scripts_collect_naver_full_parse_price", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_full.py", + "source_location": "L285", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_full_fetch_blog_texts", + "target": "scripts_collect_naver_full_rate_get", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_full.py", + "source_location": "L331", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_full_fetch_blog_texts", + "target": "scripts_collect_naver_full_strip", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_full.py", + "source_location": "L345", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_full_fetch_and_extract", + "target": "scripts_collect_naver_full_increment_quota", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_full.py", + "source_location": "L361", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_full_fetch_and_extract", + "target": "scripts_collect_naver_full_fetch_blog_texts", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_full.py", + "source_location": "L367", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_full_fetch_and_extract", + "target": "scripts_collect_naver_full_extract_fields", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_full.py", + "source_location": "L378", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_full_fetch_and_extract", + "target": "scripts_collect_naver_full_build_summary_text", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_full.py", + "source_location": "L391", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_full_main", + "target": "scripts_collect_naver_full_load_progress", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_full.py", + "source_location": "L477", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_full_main", + "target": "scripts_collect_naver_full_load_all_pois", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_full.py", + "source_location": "L478", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_full_main", + "target": "scripts_collect_naver_full_load_quota", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_full.py", + "source_location": "L481", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_full_main", + "target": "scripts_collect_naver_full_print_stats", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_full.py", + "source_location": "L494", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_full_main", + "target": "scripts_collect_naver_full_save_output", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_full.py", + "source_location": "L504", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_full_main", + "target": "scripts_collect_naver_full_py_client", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_full.py", + "source_location": "L512", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_full_main", + "target": "scripts_collect_naver_full_fetch_and_extract", + "relation": "indirect_call", + "context": "argument", + "confidence": "INFERRED", + "source_file": "scripts/collect_naver_full.py", + "source_location": "L514", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_full_main", + "target": "scripts_collect_naver_full_save_progress", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_full.py", + "source_location": "L530", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_full_main", + "target": "scripts_collect_naver_full_save_quota", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_full.py", + "source_location": "L536", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_full_rationale_111", + "target": "scripts_collect_naver_full_load_quota", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_full.py", + "source_location": "L111", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_full_rationale_128", + "target": "scripts_collect_naver_full_increment_quota", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_full.py", + "source_location": "L128", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_full_rationale_407", + "target": "scripts_collect_naver_full_load_progress", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_full.py", + "source_location": "L407", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_metadata", + "target": "csv", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_metadata.py", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_metadata", + "target": "json", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_metadata.py", + "source_location": "L5", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_metadata", + "target": "os", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_metadata.py", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_metadata", + "target": "random", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_metadata.py", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_metadata", + "target": "sys", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_metadata.py", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_metadata", + "target": "threading", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_metadata.py", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_metadata", + "target": "time", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_metadata.py", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_metadata", + "target": "concurrent_futures", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_metadata.py", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_metadata", + "target": "pathlib", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_metadata.py", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_metadata", + "target": "httpx", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_metadata.py", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_metadata", + "target": "anthropic", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_metadata.py", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_metadata", + "target": "dotenv", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_metadata.py", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_metadata", + "target": "tqdm", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_metadata.py", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_metadata", + "target": "scripts_collect_naver_metadata_rate_limited_get", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_metadata.py", + "source_location": "L50", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_metadata_rate_limited_get", + "target": "scripts_collect_naver_metadata_py_client", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_metadata.py", + "source_location": "L50", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_metadata_rate_limited_get", + "target": "scripts_collect_naver_metadata_py_response", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_metadata.py", + "source_location": "L50", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_metadata", + "target": "scripts_collect_naver_metadata_load_csv_sample", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_metadata.py", + "source_location": "L94", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_metadata", + "target": "scripts_collect_naver_metadata_fetch_blog", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_metadata.py", + "source_location": "L117", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_metadata_fetch_blog", + "target": "scripts_collect_naver_metadata_py_client", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_metadata.py", + "source_location": "L117", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_metadata", + "target": "scripts_collect_naver_metadata_build_place_block", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_metadata.py", + "source_location": "L143", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_metadata", + "target": "scripts_collect_naver_metadata_extract_metadata_batch", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_metadata.py", + "source_location": "L164", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_metadata", + "target": "scripts_collect_naver_metadata_load_progress", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_metadata.py", + "source_location": "L188", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_metadata", + "target": "scripts_collect_naver_metadata_save_progress", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_metadata.py", + "source_location": "L195", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_metadata", + "target": "scripts_collect_naver_metadata_merge_meta", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_metadata.py", + "source_location": "L201", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_metadata", + "target": "scripts_collect_naver_metadata_main", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_metadata.py", + "source_location": "L215", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_metadata_fetch_blog", + "target": "scripts_collect_naver_metadata_rate_limited_get", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_metadata.py", + "source_location": "L125", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_metadata_extract_metadata_batch", + "target": "scripts_collect_naver_metadata_build_place_block", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_metadata.py", + "source_location": "L166", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_metadata_main", + "target": "scripts_collect_naver_metadata_load_csv_sample", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_metadata.py", + "source_location": "L221", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_metadata_main", + "target": "scripts_collect_naver_metadata_load_progress", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_metadata.py", + "source_location": "L224", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_metadata_main", + "target": "scripts_collect_naver_metadata_py_client", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_metadata.py", + "source_location": "L234", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_metadata_main", + "target": "scripts_collect_naver_metadata_fetch_blog", + "relation": "indirect_call", + "context": "argument", + "confidence": "INFERRED", + "source_file": "scripts/collect_naver_metadata.py", + "source_location": "L236", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_metadata_main", + "target": "scripts_collect_naver_metadata_extract_metadata_batch", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_metadata.py", + "source_location": "L251", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_metadata_main", + "target": "scripts_collect_naver_metadata_merge_meta", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_metadata.py", + "source_location": "L256", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_metadata_main", + "target": "scripts_collect_naver_metadata_save_progress", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_metadata.py", + "source_location": "L257", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_metadata_rationale_51", + "target": "scripts_collect_naver_metadata_rate_limited_get", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_metadata.py", + "source_location": "L51", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_metadata_rationale_95", + "target": "scripts_collect_naver_metadata_load_csv_sample", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_metadata.py", + "source_location": "L95", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_metadata_rationale_118", + "target": "scripts_collect_naver_metadata_fetch_blog", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_metadata.py", + "source_location": "L118", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_only", + "target": "csv", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_only.py", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_only", + "target": "json", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_only.py", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_only", + "target": "os", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_only.py", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_only", + "target": "random", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_only.py", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_only", + "target": "re", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_only.py", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_only", + "target": "sys", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_only.py", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_only", + "target": "threading", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_only.py", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_only", + "target": "time", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_only.py", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_only", + "target": "concurrent_futures", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_only.py", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_only", + "target": "pathlib", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_only.py", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_only", + "target": "httpx", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_only.py", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_only", + "target": "dotenv", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_only.py", + "source_location": "L21", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_only", + "target": "tqdm", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_only.py", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_only", + "target": "scripts_collect_naver_only_rate_get", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_only.py", + "source_location": "L66", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_only_rate_get", + "target": "scripts_collect_naver_only_py_client", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_only.py", + "source_location": "L66", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_only_rate_get", + "target": "scripts_collect_naver_only_py_response", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_only.py", + "source_location": "L66", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_only", + "target": "scripts_collect_naver_only_strip", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_only.py", + "source_location": "L80", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_only", + "target": "scripts_collect_naver_only_count_hits", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_only.py", + "source_location": "L181", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_only", + "target": "scripts_collect_naver_only_parse_price", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_only.py", + "source_location": "L204", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_only", + "target": "scripts_collect_naver_only_extract_fields", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_only.py", + "source_location": "L228", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_only", + "target": "scripts_collect_naver_only_build_summary_text", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_only.py", + "source_location": "L297", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_only", + "target": "scripts_collect_naver_only_fetch_blog_texts", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_only.py", + "source_location": "L311", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_only_fetch_blog_texts", + "target": "scripts_collect_naver_only_py_client", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_only.py", + "source_location": "L311", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_only", + "target": "scripts_collect_naver_only_fetch_and_extract", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_only.py", + "source_location": "L334", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_only_fetch_and_extract", + "target": "scripts_collect_naver_only_py_client", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_only.py", + "source_location": "L334", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_only", + "target": "scripts_collect_naver_only_load_csv_sample", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_only.py", + "source_location": "L372", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_only", + "target": "scripts_collect_naver_only_load_progress", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_only.py", + "source_location": "L391", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_only", + "target": "scripts_collect_naver_only_save_progress", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_only.py", + "source_location": "L397", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_only", + "target": "scripts_collect_naver_only_main", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_only.py", + "source_location": "L404", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_only_extract_fields", + "target": "scripts_collect_naver_only_count_hits", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_only.py", + "source_location": "L243", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_only_extract_fields", + "target": "scripts_collect_naver_only_parse_price", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_only.py", + "source_location": "L265", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_only_fetch_blog_texts", + "target": "scripts_collect_naver_only_rate_get", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_only.py", + "source_location": "L314", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_only_fetch_blog_texts", + "target": "scripts_collect_naver_only_strip", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_only.py", + "source_location": "L325", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_only_fetch_and_extract", + "target": "scripts_collect_naver_only_fetch_blog_texts", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_only.py", + "source_location": "L343", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_only_fetch_and_extract", + "target": "scripts_collect_naver_only_extract_fields", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_only.py", + "source_location": "L354", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_only_fetch_and_extract", + "target": "scripts_collect_naver_only_build_summary_text", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_only.py", + "source_location": "L367", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_only_main", + "target": "scripts_collect_naver_only_load_csv_sample", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_only.py", + "source_location": "L410", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_only_main", + "target": "scripts_collect_naver_only_load_progress", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_only.py", + "source_location": "L412", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_only_main", + "target": "scripts_collect_naver_only_py_client", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_only.py", + "source_location": "L418", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_only_main", + "target": "scripts_collect_naver_only_fetch_and_extract", + "relation": "indirect_call", + "context": "argument", + "confidence": "INFERRED", + "source_file": "scripts/collect_naver_only.py", + "source_location": "L420", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_only_main", + "target": "scripts_collect_naver_only_save_progress", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_only.py", + "source_location": "L430", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_only_rationale_298", + "target": "scripts_collect_naver_only_build_summary_text", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "scripts/collect_naver_only.py", + "source_location": "L298", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_demo_live_e2e", + "target": "sys", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/demo_live_e2e.py", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_demo_live_e2e", + "target": "pathlib", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/demo_live_e2e.py", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_demo_live_e2e", + "target": "dotenv", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/demo_live_e2e.py", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_demo_live_e2e", + "target": "src_data_graph_retriever", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/demo_live_e2e.py", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_demo_live_e2e", + "target": "src_data_models", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/demo_live_e2e.py", + "source_location": "L21", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_demo_live_e2e", + "target": "src_explain_explain_engine", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/demo_live_e2e.py", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_demo_live_e2e", + "target": "scripts_demo_live_e2e_main", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/demo_live_e2e.py", + "source_location": "L27", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_demo_live_e2e_rationale_1", + "target": "scripts_demo_live_e2e", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "scripts/demo_live_e2e.py", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_execute", + "target": "argparse", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/execute.py", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_execute", + "target": "contextlib", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/execute.py", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_execute", + "target": "json", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/execute.py", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_execute", + "target": "os", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/execute.py", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_execute", + "target": "subprocess", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/execute.py", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_execute", + "target": "sys", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/execute.py", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_execute", + "target": "threading", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/execute.py", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_execute", + "target": "time", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/execute.py", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_execute", + "target": "types", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/execute.py", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_execute", + "target": "datetime", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/execute.py", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_execute", + "target": "pathlib", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/execute.py", + "source_location": "L19", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_execute", + "target": "typing", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/execute.py", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_execute", + "target": "scripts_execute_progress_indicator", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/execute.py", + "source_location": "L26", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_execute", + "target": "scripts_execute_stepexecutor", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/execute.py", + "source_location": "L53", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_execute_stepexecutor", + "target": "scripts_execute_stepexecutor_init", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "scripts/execute.py", + "source_location": "L61", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_execute_stepexecutor", + "target": "scripts_execute_stepexecutor_run", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "scripts/execute.py", + "source_location": "L83", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_execute_stepexecutor", + "target": "scripts_execute_stepexecutor_stamp", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "scripts/execute.py", + "source_location": "L94", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_execute_stepexecutor", + "target": "scripts_execute_stepexecutor_read_json", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "scripts/execute.py", + "source_location": "L100", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_execute_stepexecutor_read_json", + "target": "scripts_execute_py_path", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "scripts/execute.py", + "source_location": "L100", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_execute_stepexecutor", + "target": "scripts_execute_stepexecutor_write_json", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "scripts/execute.py", + "source_location": "L104", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_execute_stepexecutor_write_json", + "target": "scripts_execute_py_path", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "scripts/execute.py", + "source_location": "L104", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_execute_stepexecutor", + "target": "scripts_execute_stepexecutor_run_git", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "scripts/execute.py", + "source_location": "L109", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_execute_stepexecutor_run_git", + "target": "completedprocess", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "scripts/execute.py", + "source_location": "L109", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_execute_stepexecutor", + "target": "scripts_execute_stepexecutor_checkout_branch", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "scripts/execute.py", + "source_location": "L113", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_execute_stepexecutor", + "target": "scripts_execute_stepexecutor_commit_step", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "scripts/execute.py", + "source_location": "L136", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_execute_stepexecutor", + "target": "scripts_execute_stepexecutor_update_top_index", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "scripts/execute.py", + "source_location": "L161", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_execute_stepexecutor", + "target": "scripts_execute_stepexecutor_load_guardrails", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "scripts/execute.py", + "source_location": "L177", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_execute_stepexecutor", + "target": "scripts_execute_stepexecutor_build_step_context", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "scripts/execute.py", + "source_location": "L189", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_execute_stepexecutor", + "target": "scripts_execute_stepexecutor_build_preamble", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "scripts/execute.py", + "source_location": "L199", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_execute_stepexecutor", + "target": "scripts_execute_stepexecutor_invoke_claude", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "scripts/execute.py", + "source_location": "L229", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_execute_stepexecutor", + "target": "scripts_execute_stepexecutor_print_header", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "scripts/execute.py", + "source_location": "L261", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_execute_stepexecutor", + "target": "scripts_execute_stepexecutor_check_blockers", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "scripts/execute.py", + "source_location": "L269", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_execute_stepexecutor", + "target": "scripts_execute_stepexecutor_ensure_created_at", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "scripts/execute.py", + "source_location": "L285", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_execute_stepexecutor", + "target": "scripts_execute_stepexecutor_execute_single_step", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "scripts/execute.py", + "source_location": "L293", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_execute_stepexecutor", + "target": "scripts_execute_stepexecutor_execute_all_steps", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "scripts/execute.py", + "source_location": "L364", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_execute_stepexecutor", + "target": "scripts_execute_stepexecutor_finalize", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "scripts/execute.py", + "source_location": "L381", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_execute", + "target": "scripts_execute_main", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/execute.py", + "source_location": "L407", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_execute_stepexecutor_init", + "target": "scripts_execute_stepexecutor_read_json", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/execute.py", + "source_location": "L78", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_execute_stepexecutor_run", + "target": "scripts_execute_stepexecutor_print_header", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/execute.py", + "source_location": "L84", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_execute_stepexecutor_run", + "target": "scripts_execute_stepexecutor_check_blockers", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/execute.py", + "source_location": "L85", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_execute_stepexecutor_run", + "target": "scripts_execute_stepexecutor_checkout_branch", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/execute.py", + "source_location": "L86", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_execute_stepexecutor_run", + "target": "scripts_execute_stepexecutor_load_guardrails", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/execute.py", + "source_location": "L87", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_execute_stepexecutor_run", + "target": "scripts_execute_stepexecutor_ensure_created_at", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/execute.py", + "source_location": "L88", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_execute_stepexecutor_run", + "target": "scripts_execute_stepexecutor_execute_all_steps", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/execute.py", + "source_location": "L89", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_execute_stepexecutor_run", + "target": "scripts_execute_stepexecutor_finalize", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/execute.py", + "source_location": "L90", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_execute_stepexecutor_run_git", + "target": "scripts_execute_stepexecutor_run", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/execute.py", + "source_location": "L111", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_execute_stepexecutor_checkout_branch", + "target": "scripts_execute_stepexecutor_run_git", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/execute.py", + "source_location": "L116", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_execute_stepexecutor_commit_step", + "target": "scripts_execute_stepexecutor_run_git", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/execute.py", + "source_location": "L140", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_execute_stepexecutor_update_top_index", + "target": "scripts_execute_stepexecutor_read_json", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/execute.py", + "source_location": "L164", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_execute_stepexecutor_update_top_index", + "target": "scripts_execute_stepexecutor_stamp", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/execute.py", + "source_location": "L165", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_execute_stepexecutor_update_top_index", + "target": "scripts_execute_stepexecutor_write_json", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/execute.py", + "source_location": "L173", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_execute_stepexecutor_invoke_claude", + "target": "scripts_execute_stepexecutor_run", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/execute.py", + "source_location": "L238", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_execute_stepexecutor_check_blockers", + "target": "scripts_execute_stepexecutor_read_json", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/execute.py", + "source_location": "L270", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_execute_stepexecutor_ensure_created_at", + "target": "scripts_execute_stepexecutor_read_json", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/execute.py", + "source_location": "L286", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_execute_stepexecutor_ensure_created_at", + "target": "scripts_execute_stepexecutor_stamp", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/execute.py", + "source_location": "L288", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_execute_stepexecutor_ensure_created_at", + "target": "scripts_execute_stepexecutor_write_json", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/execute.py", + "source_location": "L289", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_execute_stepexecutor_execute_single_step", + "target": "scripts_execute_stepexecutor_read_json", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/execute.py", + "source_location": "L296", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_execute_stepexecutor_execute_single_step", + "target": "scripts_execute_stepexecutor_build_step_context", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/execute.py", + "source_location": "L301", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_execute_stepexecutor_execute_single_step", + "target": "scripts_execute_stepexecutor_build_preamble", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/execute.py", + "source_location": "L302", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_execute_stepexecutor_execute_single_step", + "target": "scripts_execute_progress_indicator", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/execute.py", + "source_location": "L308", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_execute_stepexecutor_execute_single_step", + "target": "scripts_execute_stepexecutor_invoke_claude", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/execute.py", + "source_location": "L309", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_execute_stepexecutor_execute_single_step", + "target": "scripts_execute_stepexecutor_stamp", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/execute.py", + "source_location": "L314", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_execute_stepexecutor_execute_single_step", + "target": "scripts_execute_stepexecutor_write_json", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/execute.py", + "source_location": "L320", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_execute_stepexecutor_execute_single_step", + "target": "scripts_execute_stepexecutor_commit_step", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/execute.py", + "source_location": "L321", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_execute_stepexecutor_execute_single_step", + "target": "scripts_execute_stepexecutor_update_top_index", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/execute.py", + "source_location": "L333", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_execute_stepexecutor_execute_all_steps", + "target": "scripts_execute_stepexecutor_read_json", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/execute.py", + "source_location": "L366", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_execute_stepexecutor_execute_all_steps", + "target": "scripts_execute_stepexecutor_stamp", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/execute.py", + "source_location": "L375", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_execute_stepexecutor_execute_all_steps", + "target": "scripts_execute_stepexecutor_write_json", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/execute.py", + "source_location": "L376", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_execute_stepexecutor_execute_all_steps", + "target": "scripts_execute_stepexecutor_execute_single_step", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/execute.py", + "source_location": "L379", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_execute_stepexecutor_finalize", + "target": "scripts_execute_stepexecutor_read_json", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/execute.py", + "source_location": "L382", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_execute_stepexecutor_finalize", + "target": "scripts_execute_stepexecutor_stamp", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/execute.py", + "source_location": "L383", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_execute_stepexecutor_finalize", + "target": "scripts_execute_stepexecutor_write_json", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/execute.py", + "source_location": "L384", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_execute_stepexecutor_finalize", + "target": "scripts_execute_stepexecutor_update_top_index", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/execute.py", + "source_location": "L385", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_execute_stepexecutor_finalize", + "target": "scripts_execute_stepexecutor_run_git", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/execute.py", + "source_location": "L387", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_execute_main", + "target": "scripts_execute_stepexecutor_run", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/execute.py", + "source_location": "L413", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_execute_main", + "target": "scripts_execute_stepexecutor", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/execute.py", + "source_location": "L413", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_execute_rationale_27", + "target": "scripts_execute_progress_indicator", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "scripts/execute.py", + "source_location": "L27", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_execute_rationale_54", + "target": "scripts_execute_stepexecutor", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "scripts/execute.py", + "source_location": "L54", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_execute_rationale_294", + "target": "scripts_execute_stepexecutor_execute_single_step", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "scripts/execute.py", + "source_location": "L294", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_extract_visitor_stats", + "target": "argparse", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/extract_visitor_stats.py", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_extract_visitor_stats", + "target": "re", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/extract_visitor_stats.py", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_extract_visitor_stats", + "target": "pathlib", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/extract_visitor_stats.py", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_extract_visitor_stats", + "target": "pandas", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/extract_visitor_stats.py", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_extract_visitor_stats", + "target": "pdfplumber", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/extract_visitor_stats.py", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_extract_visitor_stats", + "target": "scripts_extract_visitor_stats_parse_int", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/extract_visitor_stats.py", + "source_location": "L31", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_extract_visitor_stats", + "target": "scripts_extract_visitor_stats_is_header_row", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/extract_visitor_stats.py", + "source_location": "L44", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_extract_visitor_stats", + "target": "scripts_extract_visitor_stats_extract_year", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/extract_visitor_stats.py", + "source_location": "L49", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_extract_visitor_stats_extract_year", + "target": "scripts_extract_visitor_stats_py_path", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "scripts/extract_visitor_stats.py", + "source_location": "L49", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_extract_visitor_stats_extract_year", + "target": "scripts_extract_visitor_stats_py_dataframe", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "scripts/extract_visitor_stats.py", + "source_location": "L49", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_extract_visitor_stats", + "target": "scripts_extract_visitor_stats_compute_congestion", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/extract_visitor_stats.py", + "source_location": "L87", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_extract_visitor_stats_compute_congestion", + "target": "scripts_extract_visitor_stats_py_dataframe", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "scripts/extract_visitor_stats.py", + "source_location": "L87", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_extract_visitor_stats", + "target": "scripts_extract_visitor_stats_main", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/extract_visitor_stats.py", + "source_location": "L134", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_extract_visitor_stats_main", + "target": "scripts_extract_visitor_stats_py_path", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "scripts/extract_visitor_stats.py", + "source_location": "L134", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_extract_visitor_stats_extract_year", + "target": "scripts_extract_visitor_stats_is_header_row", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/extract_visitor_stats.py", + "source_location": "L60", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_extract_visitor_stats_extract_year", + "target": "scripts_extract_visitor_stats_parse_int", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/extract_visitor_stats.py", + "source_location": "L76", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_extract_visitor_stats_extract_year", + "target": "scripts_extract_visitor_stats_py_dataframe", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/extract_visitor_stats.py", + "source_location": "L79", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_extract_visitor_stats_main", + "target": "scripts_extract_visitor_stats_extract_year", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/extract_visitor_stats.py", + "source_location": "L143", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_extract_visitor_stats_main", + "target": "scripts_extract_visitor_stats_compute_congestion", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/extract_visitor_stats.py", + "source_location": "L152", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_extract_visitor_stats_rationale_1", + "target": "scripts_extract_visitor_stats", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "scripts/extract_visitor_stats.py", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_extract_visitor_stats_rationale_32", + "target": "scripts_extract_visitor_stats_parse_int", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "scripts/extract_visitor_stats.py", + "source_location": "L32", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_extract_visitor_stats_rationale_50", + "target": "scripts_extract_visitor_stats_extract_year", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "scripts/extract_visitor_stats.py", + "source_location": "L50", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_extract_visitor_stats_rationale_88", + "target": "scripts_extract_visitor_stats_compute_congestion", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "scripts/extract_visitor_stats.py", + "source_location": "L88", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_fetch_jeju_hours", + "target": "asyncio", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/fetch_jeju_hours.py", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_fetch_jeju_hours", + "target": "json", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/fetch_jeju_hours.py", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_fetch_jeju_hours", + "target": "sys", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/fetch_jeju_hours.py", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_fetch_jeju_hours", + "target": "pathlib", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/fetch_jeju_hours.py", + "source_location": "L19", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_fetch_jeju_hours", + "target": "pandas", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/fetch_jeju_hours.py", + "source_location": "L21", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_fetch_jeju_hours", + "target": "dotenv", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/fetch_jeju_hours.py", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_fetch_jeju_hours", + "target": "src_data_models", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/fetch_jeju_hours.py", + "source_location": "L28", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_fetch_jeju_hours", + "target": "src_data_tour_api", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/fetch_jeju_hours.py", + "source_location": "L29", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_fetch_jeju_hours", + "target": "scripts_fetch_jeju_hours_fetch_one", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/fetch_jeju_hours.py", + "source_location": "L35", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_fetch_jeju_hours_fetch_one", + "target": "src_data_tour_api_tourapiclient", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "scripts/fetch_jeju_hours.py", + "source_location": "L35", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_fetch_jeju_hours_fetch_one", + "target": "semaphore", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "scripts/fetch_jeju_hours.py", + "source_location": "L35", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_fetch_jeju_hours", + "target": "scripts_fetch_jeju_hours_main", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/fetch_jeju_hours.py", + "source_location": "L43", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_fetch_jeju_hours_main", + "target": "semaphore", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/fetch_jeju_hours.py", + "source_location": "L53", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_fetch_jeju_hours_main", + "target": "scripts_fetch_jeju_hours_fetch_one", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/fetch_jeju_hours.py", + "source_location": "L55", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_fetch_jeju_hours_rationale_1", + "target": "scripts_fetch_jeju_hours", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "scripts/fetch_jeju_hours.py", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_fetch_missing_pois", + "target": "asyncio", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/fetch_missing_pois.py", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_fetch_missing_pois", + "target": "csv", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/fetch_missing_pois.py", + "source_location": "L5", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_fetch_missing_pois", + "target": "time", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/fetch_missing_pois.py", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_fetch_missing_pois", + "target": "pathlib", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/fetch_missing_pois.py", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_fetch_missing_pois", + "target": "httpx", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/fetch_missing_pois.py", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_fetch_missing_pois", + "target": "scripts_fetch_missing_pois_load_existing_ids", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/fetch_missing_pois.py", + "source_location": "L26", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_fetch_missing_pois", + "target": "scripts_fetch_missing_pois_load_api_key", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/fetch_missing_pois.py", + "source_location": "L38", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_fetch_missing_pois", + "target": "scripts_fetch_missing_pois_fetch_page", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/fetch_missing_pois.py", + "source_location": "L48", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_fetch_missing_pois_fetch_page", + "target": "asyncclient", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "scripts/fetch_missing_pois.py", + "source_location": "L48", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_fetch_missing_pois", + "target": "scripts_fetch_missing_pois_fetch_region_type", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/fetch_missing_pois.py", + "source_location": "L87", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_fetch_missing_pois_fetch_region_type", + "target": "asyncclient", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "scripts/fetch_missing_pois.py", + "source_location": "L87", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_fetch_missing_pois", + "target": "scripts_fetch_missing_pois_main", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/fetch_missing_pois.py", + "source_location": "L150", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_fetch_missing_pois_fetch_region_type", + "target": "scripts_fetch_missing_pois_fetch_page", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/fetch_missing_pois.py", + "source_location": "L100", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_fetch_missing_pois_main", + "target": "scripts_fetch_missing_pois_load_api_key", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/fetch_missing_pois.py", + "source_location": "L151", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_fetch_missing_pois_main", + "target": "scripts_fetch_missing_pois_load_existing_ids", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/fetch_missing_pois.py", + "source_location": "L156", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_fetch_missing_pois_main", + "target": "asyncclient", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/fetch_missing_pois.py", + "source_location": "L162", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_fetch_missing_pois_main", + "target": "scripts_fetch_missing_pois_fetch_region_type", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/fetch_missing_pois.py", + "source_location": "L166", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_fetch_missing_pois_rationale_1", + "target": "scripts_fetch_missing_pois", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "scripts/fetch_missing_pois.py", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_geocode_jeju_missing_coords", + "target": "shutil", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/geocode_jeju_missing_coords.py", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_geocode_jeju_missing_coords", + "target": "sys", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/geocode_jeju_missing_coords.py", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_geocode_jeju_missing_coords", + "target": "time", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/geocode_jeju_missing_coords.py", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_geocode_jeju_missing_coords", + "target": "pathlib", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/geocode_jeju_missing_coords.py", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_geocode_jeju_missing_coords", + "target": "openpyxl", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/geocode_jeju_missing_coords.py", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_geocode_jeju_missing_coords", + "target": "dotenv", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/geocode_jeju_missing_coords.py", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_geocode_jeju_missing_coords", + "target": "src_data_kakao_local", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/geocode_jeju_missing_coords.py", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_geocode_jeju_missing_coords", + "target": "scripts_geocode_jeju_missing_coords_main", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/geocode_jeju_missing_coords.py", + "source_location": "L28", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_load_knowledge_graph_neo4j", + "target": "os", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/load_knowledge_graph_neo4j.py", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_load_knowledge_graph_neo4j", + "target": "sys", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/load_knowledge_graph_neo4j.py", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_load_knowledge_graph_neo4j", + "target": "pathlib", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/load_knowledge_graph_neo4j.py", + "source_location": "L19", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_load_knowledge_graph_neo4j", + "target": "pandas", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/load_knowledge_graph_neo4j.py", + "source_location": "L21", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_load_knowledge_graph_neo4j", + "target": "dotenv", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/load_knowledge_graph_neo4j.py", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_load_knowledge_graph_neo4j", + "target": "neo4j", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/load_knowledge_graph_neo4j.py", + "source_location": "L23", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_load_knowledge_graph_neo4j", + "target": "neo4j_exceptions", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/load_knowledge_graph_neo4j.py", + "source_location": "L24", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_load_knowledge_graph_neo4j", + "target": "scripts_load_knowledge_graph_neo4j_strip_type_suffix", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/load_knowledge_graph_neo4j.py", + "source_location": "L37", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_load_knowledge_graph_neo4j", + "target": "scripts_load_knowledge_graph_neo4j_load_rows", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/load_knowledge_graph_neo4j.py", + "source_location": "L45", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_load_knowledge_graph_neo4j", + "target": "scripts_load_knowledge_graph_neo4j_run_batched", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/load_knowledge_graph_neo4j.py", + "source_location": "L52", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_load_knowledge_graph_neo4j_run_batched", + "target": "driver", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "scripts/load_knowledge_graph_neo4j.py", + "source_location": "L52", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_load_knowledge_graph_neo4j", + "target": "scripts_load_knowledge_graph_neo4j_main", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/load_knowledge_graph_neo4j.py", + "source_location": "L61", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_load_knowledge_graph_neo4j_load_rows", + "target": "scripts_load_knowledge_graph_neo4j_strip_type_suffix", + "relation": "indirect_call", + "context": "argument", + "confidence": "INFERRED", + "source_file": "scripts/load_knowledge_graph_neo4j.py", + "source_location": "L47", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_load_knowledge_graph_neo4j_main", + "target": "scripts_load_knowledge_graph_neo4j_run_batched", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/load_knowledge_graph_neo4j.py", + "source_location": "L77", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_load_knowledge_graph_neo4j_main", + "target": "scripts_load_knowledge_graph_neo4j_load_rows", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/load_knowledge_graph_neo4j.py", + "source_location": "L80", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_neo4j_coverage_analysis", + "target": "sys", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/neo4j_coverage_analysis.py", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_neo4j_coverage_analysis", + "target": "dataclasses", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/neo4j_coverage_analysis.py", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_neo4j_coverage_analysis", + "target": "src_data_models", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/neo4j_coverage_analysis.py", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_neo4j_coverage_analysis", + "target": "src_scoring_cluster_dispersion", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/neo4j_coverage_analysis.py", + "source_location": "L23", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_neo4j_coverage_analysis", + "target": "src_scoring_travel_ratio", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/neo4j_coverage_analysis.py", + "source_location": "L24", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_neo4j_coverage_analysis", + "target": "src_validation_vrptw_engine", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/neo4j_coverage_analysis.py", + "source_location": "L25", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_neo4j_coverage_analysis", + "target": "scripts_neo4j_coverage_analysis_make_place", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/neo4j_coverage_analysis.py", + "source_location": "L46", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_neo4j_coverage_analysis_make_place", + "target": "src_data_models_vrptwplace", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "scripts/neo4j_coverage_analysis.py", + "source_location": "L46", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_neo4j_coverage_analysis", + "target": "scripts_neo4j_coverage_analysis_sigungu_for", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/neo4j_coverage_analysis.py", + "source_location": "L60", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_neo4j_coverage_analysis", + "target": "scripts_neo4j_coverage_analysis_neo4j_backtrack_count", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/neo4j_coverage_analysis.py", + "source_location": "L66", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_neo4j_coverage_analysis", + "target": "scripts_neo4j_coverage_analysis_neo4j_timeslot_density", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/neo4j_coverage_analysis.py", + "source_location": "L84", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_neo4j_coverage_analysis", + "target": "scripts_neo4j_coverage_analysis_coverageresult", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/neo4j_coverage_analysis.py", + "source_location": "L114", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_neo4j_coverage_analysis_coverageresult", + "target": "scripts_neo4j_coverage_analysis_coverageresult_covered", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "scripts/neo4j_coverage_analysis.py", + "source_location": "L122", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_neo4j_coverage_analysis", + "target": "scripts_neo4j_coverage_analysis_run_vrptw", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/neo4j_coverage_analysis.py", + "source_location": "L126", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_neo4j_coverage_analysis", + "target": "scripts_neo4j_coverage_analysis_print_result", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/neo4j_coverage_analysis.py", + "source_location": "L141", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_neo4j_coverage_analysis_print_result", + "target": "scripts_neo4j_coverage_analysis_coverageresult", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "scripts/neo4j_coverage_analysis.py", + "source_location": "L141", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_neo4j_coverage_analysis", + "target": "scripts_neo4j_coverage_analysis_test_role_a", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/neo4j_coverage_analysis.py", + "source_location": "L152", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_neo4j_coverage_analysis_test_role_a", + "target": "scripts_neo4j_coverage_analysis_coverageresult", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "scripts/neo4j_coverage_analysis.py", + "source_location": "L152", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_neo4j_coverage_analysis", + "target": "scripts_neo4j_coverage_analysis_test_role_b", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/neo4j_coverage_analysis.py", + "source_location": "L217", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_neo4j_coverage_analysis_test_role_b", + "target": "scripts_neo4j_coverage_analysis_coverageresult", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "scripts/neo4j_coverage_analysis.py", + "source_location": "L217", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_neo4j_coverage_analysis", + "target": "scripts_neo4j_coverage_analysis_test_role_c", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/neo4j_coverage_analysis.py", + "source_location": "L264", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_neo4j_coverage_analysis_test_role_c", + "target": "scripts_neo4j_coverage_analysis_coverageresult", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "scripts/neo4j_coverage_analysis.py", + "source_location": "L264", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_neo4j_coverage_analysis", + "target": "scripts_neo4j_coverage_analysis_main", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/neo4j_coverage_analysis.py", + "source_location": "L312", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_neo4j_coverage_analysis_make_place", + "target": "src_data_models_vrptwplace", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/neo4j_coverage_analysis.py", + "source_location": "L52", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_neo4j_coverage_analysis_neo4j_backtrack_count", + "target": "scripts_neo4j_coverage_analysis_sigungu_for", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/neo4j_coverage_analysis.py", + "source_location": "L76", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_neo4j_coverage_analysis_neo4j_timeslot_density", + "target": "scripts_neo4j_coverage_analysis_make_place", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/neo4j_coverage_analysis.py", + "source_location": "L90", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_neo4j_coverage_analysis_run_vrptw", + "target": "scripts_neo4j_coverage_analysis_make_place", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/neo4j_coverage_analysis.py", + "source_location": "L129", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_neo4j_coverage_analysis_run_vrptw", + "target": "scripts_neo4j_coverage_analysis_sigungu_for", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/neo4j_coverage_analysis.py", + "source_location": "L133", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_neo4j_coverage_analysis_test_role_a", + "target": "scripts_neo4j_coverage_analysis_neo4j_backtrack_count", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/neo4j_coverage_analysis.py", + "source_location": "L157", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_neo4j_coverage_analysis_test_role_a", + "target": "scripts_neo4j_coverage_analysis_run_vrptw", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/neo4j_coverage_analysis.py", + "source_location": "L158", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_neo4j_coverage_analysis_test_role_a", + "target": "scripts_neo4j_coverage_analysis_coverageresult", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/neo4j_coverage_analysis.py", + "source_location": "L163", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_neo4j_coverage_analysis_test_role_b", + "target": "scripts_neo4j_coverage_analysis_run_vrptw", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/neo4j_coverage_analysis.py", + "source_location": "L223", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_neo4j_coverage_analysis_test_role_b", + "target": "scripts_neo4j_coverage_analysis_coverageresult", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/neo4j_coverage_analysis.py", + "source_location": "L227", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_neo4j_coverage_analysis_test_role_c", + "target": "scripts_neo4j_coverage_analysis_neo4j_timeslot_density", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/neo4j_coverage_analysis.py", + "source_location": "L269", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_neo4j_coverage_analysis_test_role_c", + "target": "scripts_neo4j_coverage_analysis_run_vrptw", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/neo4j_coverage_analysis.py", + "source_location": "L273", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_neo4j_coverage_analysis_test_role_c", + "target": "scripts_neo4j_coverage_analysis_coverageresult", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/neo4j_coverage_analysis.py", + "source_location": "L277", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_neo4j_coverage_analysis_main", + "target": "scripts_neo4j_coverage_analysis_test_role_a", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/neo4j_coverage_analysis.py", + "source_location": "L320", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_neo4j_coverage_analysis_main", + "target": "scripts_neo4j_coverage_analysis_print_result", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/neo4j_coverage_analysis.py", + "source_location": "L321", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_neo4j_coverage_analysis_main", + "target": "scripts_neo4j_coverage_analysis_test_role_b", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/neo4j_coverage_analysis.py", + "source_location": "L325", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_neo4j_coverage_analysis_main", + "target": "scripts_neo4j_coverage_analysis_test_role_c", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/neo4j_coverage_analysis.py", + "source_location": "L330", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_neo4j_coverage_analysis_rationale_1", + "target": "scripts_neo4j_coverage_analysis", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "scripts/neo4j_coverage_analysis.py", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_neo4j_coverage_analysis_rationale_67", + "target": "scripts_neo4j_coverage_analysis_neo4j_backtrack_count", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "scripts/neo4j_coverage_analysis.py", + "source_location": "L67", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_neo4j_coverage_analysis_rationale_85", + "target": "scripts_neo4j_coverage_analysis_neo4j_timeslot_density", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "scripts/neo4j_coverage_analysis.py", + "source_location": "L85", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_neo4j_coverage_analysis_rationale_127", + "target": "scripts_neo4j_coverage_analysis_run_vrptw", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "scripts/neo4j_coverage_analysis.py", + "source_location": "L127", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute", + "target": "json", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute", + "target": "os", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute", + "target": "subprocess", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute", + "target": "sys", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute", + "target": "textwrap", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute", + "target": "datetime", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute", + "target": "pathlib", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute", + "target": "unittest_mock", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute", + "target": "pytest", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute", + "target": "execute", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute_tmp_project", + "target": "scripts_test_execute_py_fixture", + "relation": "references", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L25", + "weight": 1.0, + "context": "decorator", + "_origin": "ast" + }, + { + "source": "scripts_test_execute", + "target": "scripts_test_execute_tmp_project", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L26", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute_phase_dir", + "target": "scripts_test_execute_py_fixture", + "relation": "references", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L42", + "weight": 1.0, + "context": "decorator", + "_origin": "ast" + }, + { + "source": "scripts_test_execute", + "target": "scripts_test_execute_phase_dir", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L43", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute_top_index", + "target": "scripts_test_execute_py_fixture", + "relation": "references", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L63", + "weight": 1.0, + "context": "decorator", + "_origin": "ast" + }, + { + "source": "scripts_test_execute", + "target": "scripts_test_execute_top_index", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L64", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute_executor", + "target": "scripts_test_execute_py_fixture", + "relation": "references", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L77", + "weight": 1.0, + "context": "decorator", + "_origin": "ast" + }, + { + "source": "scripts_test_execute", + "target": "scripts_test_execute_executor", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L78", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute", + "target": "scripts_test_execute_teststamp", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L96", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute_teststamp", + "target": "scripts_test_execute_teststamp_test_returns_kst_timestamp", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L97", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute_teststamp", + "target": "scripts_test_execute_teststamp_test_format_is_iso", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L101", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute_teststamp", + "target": "scripts_test_execute_teststamp_test_is_current_time", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L106", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute", + "target": "scripts_test_execute_testjsonhelpers", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L118", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute_testjsonhelpers", + "target": "scripts_test_execute_testjsonhelpers_test_roundtrip", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L119", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute_testjsonhelpers", + "target": "scripts_test_execute_testjsonhelpers_test_save_ensures_ascii_false", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L126", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute_testjsonhelpers", + "target": "scripts_test_execute_testjsonhelpers_test_save_indented", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L133", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute_testjsonhelpers", + "target": "scripts_test_execute_testjsonhelpers_test_load_nonexistent_raises", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L139", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute", + "target": "scripts_test_execute_testloadguardrails", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L148", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute_testloadguardrails", + "target": "scripts_test_execute_testloadguardrails_test_loads_claude_md_and_docs", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L149", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute_testloadguardrails", + "target": "scripts_test_execute_testloadguardrails_test_sections_separated_by_divider", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L157", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute_testloadguardrails", + "target": "scripts_test_execute_testloadguardrails_test_docs_sorted_alphabetically", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L162", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute_testloadguardrails", + "target": "scripts_test_execute_testloadguardrails_test_no_claude_md", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L169", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute_testloadguardrails", + "target": "scripts_test_execute_testloadguardrails_test_no_docs_dir", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L176", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute_testloadguardrails", + "target": "scripts_test_execute_testloadguardrails_test_empty_project", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L184", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute", + "target": "scripts_test_execute_testbuildstepcontext", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L200", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute_testbuildstepcontext", + "target": "scripts_test_execute_testbuildstepcontext_test_includes_completed_with_summary", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L201", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute_testbuildstepcontext", + "target": "scripts_test_execute_testbuildstepcontext_test_excludes_pending", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L207", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute_testbuildstepcontext", + "target": "scripts_test_execute_testbuildstepcontext_test_excludes_completed_without_summary", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L212", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute_testbuildstepcontext", + "target": "scripts_test_execute_testbuildstepcontext_test_empty_when_no_completed", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L219", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute_testbuildstepcontext", + "target": "scripts_test_execute_testbuildstepcontext_test_has_header", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L224", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute", + "target": "scripts_test_execute_testbuildpreamble", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L234", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute_testbuildpreamble", + "target": "scripts_test_execute_testbuildpreamble_test_includes_project_name", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L235", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute_testbuildpreamble", + "target": "scripts_test_execute_testbuildpreamble_test_includes_guardrails", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L239", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute_testbuildpreamble", + "target": "scripts_test_execute_testbuildpreamble_test_includes_step_context", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L243", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute_testbuildpreamble", + "target": "scripts_test_execute_testbuildpreamble_test_includes_commit_example", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L248", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute_testbuildpreamble", + "target": "scripts_test_execute_testbuildpreamble_test_includes_rules", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L252", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute_testbuildpreamble", + "target": "scripts_test_execute_testbuildpreamble_test_no_retry_section_by_default", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L257", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute_testbuildpreamble", + "target": "scripts_test_execute_testbuildpreamble_test_retry_section_with_prev_error", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L261", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute_testbuildpreamble", + "target": "scripts_test_execute_testbuildpreamble_test_includes_max_retries", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L266", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute_testbuildpreamble", + "target": "scripts_test_execute_testbuildpreamble_test_includes_index_path", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L270", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute", + "target": "scripts_test_execute_testupdatetopindex", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L279", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute_testupdatetopindex", + "target": "scripts_test_execute_testupdatetopindex_test_completed", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L280", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute_testupdatetopindex", + "target": "scripts_test_execute_testupdatetopindex_test_error", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L288", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute_testupdatetopindex", + "target": "scripts_test_execute_testupdatetopindex_test_blocked", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L296", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute_testupdatetopindex", + "target": "scripts_test_execute_testupdatetopindex_test_other_phases_unchanged", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L304", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute_testupdatetopindex", + "target": "scripts_test_execute_testupdatetopindex_test_nonexistent_dir_is_noop", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L311", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute_testupdatetopindex", + "target": "scripts_test_execute_testupdatetopindex_test_no_top_index_file", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L320", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute", + "target": "scripts_test_execute_testcheckoutbranch", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L329", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute_testcheckoutbranch", + "target": "scripts_test_execute_testcheckoutbranch_mock_git", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L330", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute_testcheckoutbranch", + "target": "scripts_test_execute_testcheckoutbranch_test_already_on_branch", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L340", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute_testcheckoutbranch", + "target": "scripts_test_execute_testcheckoutbranch_test_branch_exists_checkout", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L346", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute_testcheckoutbranch", + "target": "scripts_test_execute_testcheckoutbranch_test_branch_not_exists_create", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L354", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute_testcheckoutbranch", + "target": "scripts_test_execute_testcheckoutbranch_test_checkout_fails_exits", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L362", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute_testcheckoutbranch", + "target": "scripts_test_execute_testcheckoutbranch_test_no_git_exits", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L372", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute", + "target": "scripts_test_execute_testcommitstep", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L385", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute_testcommitstep", + "target": "scripts_test_execute_testcommitstep_test_two_phase_commit", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L386", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute_testcommitstep", + "target": "scripts_test_execute_testcommitstep_test_no_code_changes_skips_feat_commit", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L402", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute", + "target": "scripts_test_execute_testinvokeclaude", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L426", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute_testinvokeclaude", + "target": "scripts_test_execute_testinvokeclaude_test_invokes_claude_with_correct_args", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L427", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute_testinvokeclaude", + "target": "scripts_test_execute_testinvokeclaude_test_saves_output_json", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L443", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute_testinvokeclaude", + "target": "scripts_test_execute_testinvokeclaude_test_nonexistent_step_file_exits", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L457", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute_testinvokeclaude", + "target": "scripts_test_execute_testinvokeclaude_test_timeout_is_1800", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L463", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute", + "target": "scripts_test_execute_testprogressindicator", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L477", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute_testprogressindicator", + "target": "scripts_test_execute_testprogressindicator_test_context_manager", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L478", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute_testprogressindicator", + "target": "scripts_test_execute_testprogressindicator_test_elapsed_increases", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L484", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute", + "target": "scripts_test_execute_testmaincli", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L495", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute_testmaincli", + "target": "scripts_test_execute_testmaincli_test_no_args_exits", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L496", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute_testmaincli", + "target": "scripts_test_execute_testmaincli_test_invalid_phase_dir_exits", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L502", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute_testmaincli", + "target": "scripts_test_execute_testmaincli_test_missing_index_exits", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L509", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute", + "target": "scripts_test_execute_testcheckblockers", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L522", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute_testcheckblockers", + "target": "scripts_test_execute_testcheckblockers_make_executor_with_steps", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L523", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute_testcheckblockers", + "target": "scripts_test_execute_testcheckblockers_test_error_step_exits_1", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L541", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute_testcheckblockers", + "target": "scripts_test_execute_testcheckblockers_test_blocked_step_exits_2", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L551", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute_testcheckoutbranch_test_already_on_branch", + "target": "scripts_test_execute_testcheckoutbranch_mock_git", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L341", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute_testcheckoutbranch_test_branch_exists_checkout", + "target": "scripts_test_execute_testcheckoutbranch_mock_git", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L347", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute_testcheckoutbranch_test_branch_not_exists_create", + "target": "scripts_test_execute_testcheckoutbranch_mock_git", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L355", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute_testcheckoutbranch_test_checkout_fails_exits", + "target": "scripts_test_execute_testcheckoutbranch_mock_git", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L363", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute_testcheckoutbranch_test_no_git_exits", + "target": "scripts_test_execute_testcheckoutbranch_mock_git", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L373", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute_testcheckblockers_test_error_step_exits_1", + "target": "scripts_test_execute_testcheckblockers_make_executor_with_steps", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L546", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute_testcheckblockers_test_blocked_step_exits_2", + "target": "scripts_test_execute_testcheckblockers_make_executor_with_steps", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L556", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute_rationale_1", + "target": "scripts_test_execute", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute_rationale_27", + "target": "scripts_test_execute_tmp_project", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L27", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute_rationale_44", + "target": "scripts_test_execute_phase_dir", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L44", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute_rationale_65", + "target": "scripts_test_execute_top_index", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L65", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_execute_rationale_79", + "target": "scripts_test_execute_executor", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "scripts/test_execute.py", + "source_location": "L79", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_pipeline", + "target": "re", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/test_pipeline.py", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_pipeline", + "target": "sys", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/test_pipeline.py", + "source_location": "L5", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_pipeline", + "target": "pathlib", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/test_pipeline.py", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_pipeline", + "target": "pandas", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/test_pipeline.py", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_pipeline", + "target": "src_data_models", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/test_pipeline.py", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_pipeline", + "target": "src_validation_hard_fail", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/test_pipeline.py", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_pipeline", + "target": "src_validation_warning", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/test_pipeline.py", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_pipeline", + "target": "src_validation_scoring", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/test_pipeline.py", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_pipeline", + "target": "scripts_test_pipeline_guess_coords", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/test_pipeline.py", + "source_location": "L103", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_pipeline", + "target": "scripts_test_pipeline_guess_category", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/test_pipeline.py", + "source_location": "L115", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_pipeline", + "target": "scripts_test_pipeline_guess_duration", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/test_pipeline.py", + "source_location": "L122", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_pipeline", + "target": "scripts_test_pipeline_is_accommodation", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/test_pipeline.py", + "source_location": "L129", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_pipeline", + "target": "scripts_test_pipeline_parse_places", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/test_pipeline.py", + "source_location": "L134", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_pipeline", + "target": "scripts_test_pipeline_trip_days", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/test_pipeline.py", + "source_location": "L147", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_pipeline", + "target": "scripts_test_pipeline_party_type_from_triple", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/test_pipeline.py", + "source_location": "L158", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_pipeline", + "target": "scripts_test_pipeline_travel_type_from_theme", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/test_pipeline.py", + "source_location": "L175", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_pipeline", + "target": "scripts_test_pipeline_make_poi", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/test_pipeline.py", + "source_location": "L191", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_pipeline_make_poi", + "target": "src_data_models_poi", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "scripts/test_pipeline.py", + "source_location": "L191", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_pipeline", + "target": "scripts_test_pipeline_load_gugseok", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/test_pipeline.py", + "source_location": "L213", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_pipeline", + "target": "scripts_test_pipeline_load_triple", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/test_pipeline.py", + "source_location": "L251", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_pipeline", + "target": "scripts_test_pipeline_build_itinerary", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/test_pipeline.py", + "source_location": "L277", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_pipeline_build_itinerary", + "target": "src_data_models_itineraryplan", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "scripts/test_pipeline.py", + "source_location": "L277", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_pipeline_build_itinerary", + "target": "src_data_models_poi", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "scripts/test_pipeline.py", + "source_location": "L277", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_pipeline", + "target": "scripts_test_pipeline_run_pipeline", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/test_pipeline.py", + "source_location": "L356", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_pipeline", + "target": "scripts_test_pipeline_main", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "scripts/test_pipeline.py", + "source_location": "L408", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_pipeline_make_poi", + "target": "scripts_test_pipeline_guess_coords", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/test_pipeline.py", + "source_location": "L192", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_pipeline_make_poi", + "target": "scripts_test_pipeline_guess_category", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/test_pipeline.py", + "source_location": "L193", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_pipeline_make_poi", + "target": "scripts_test_pipeline_guess_duration", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/test_pipeline.py", + "source_location": "L194", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_pipeline_make_poi", + "target": "src_data_models_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/test_pipeline.py", + "source_location": "L197", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_pipeline_load_gugseok", + "target": "scripts_test_pipeline_parse_places", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/test_pipeline.py", + "source_location": "L227", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_pipeline_load_triple", + "target": "scripts_test_pipeline_parse_places", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/test_pipeline.py", + "source_location": "L259", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_pipeline_build_itinerary", + "target": "scripts_test_pipeline_trip_days", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/test_pipeline.py", + "source_location": "L285", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_pipeline_build_itinerary", + "target": "scripts_test_pipeline_party_type_from_triple", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/test_pipeline.py", + "source_location": "L288", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_pipeline_build_itinerary", + "target": "scripts_test_pipeline_travel_type_from_theme", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/test_pipeline.py", + "source_location": "L292", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_pipeline_build_itinerary", + "target": "scripts_test_pipeline_make_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/test_pipeline.py", + "source_location": "L312", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_pipeline_build_itinerary", + "target": "src_data_models_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/test_pipeline.py", + "source_location": "L330", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_pipeline_build_itinerary", + "target": "src_data_models_itineraryplan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/test_pipeline.py", + "source_location": "L342", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_pipeline_run_pipeline", + "target": "scripts_test_pipeline_build_itinerary", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/test_pipeline.py", + "source_location": "L362", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_pipeline_run_pipeline", + "target": "src_data_models_itineraryplan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/test_pipeline.py", + "source_location": "L375", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_pipeline_main", + "target": "scripts_test_pipeline_load_gugseok", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/test_pipeline.py", + "source_location": "L415", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_pipeline_main", + "target": "scripts_test_pipeline_run_pipeline", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/test_pipeline.py", + "source_location": "L416", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_pipeline_main", + "target": "scripts_test_pipeline_load_triple", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/test_pipeline.py", + "source_location": "L421", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_pipeline_rationale_1", + "target": "scripts_test_pipeline", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "scripts/test_pipeline.py", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_pipeline_rationale_104", + "target": "scripts_test_pipeline_guess_coords", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "scripts/test_pipeline.py", + "source_location": "L104", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_pipeline_rationale_135", + "target": "scripts_test_pipeline_parse_places", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "scripts/test_pipeline.py", + "source_location": "L135", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_pipeline_rationale_214", + "target": "scripts_test_pipeline_load_gugseok", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "scripts/test_pipeline.py", + "source_location": "L214", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_pipeline_rationale_252", + "target": "scripts_test_pipeline_load_triple", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "scripts/test_pipeline.py", + "source_location": "L252", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_pipeline_rationale_278", + "target": "scripts_test_pipeline_build_itinerary", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "scripts/test_pipeline.py", + "source_location": "L278", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_main", + "target": "os", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/api/main.py", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_main", + "target": "pathlib", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/api/main.py", + "source_location": "L5", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_main", + "target": "fastapi", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/api/main.py", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_main", + "target": "fastapi_middleware_cors", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/api/main.py", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_main", + "target": "fastapi_responses", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/api/main.py", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_main", + "target": "fastapi_staticfiles", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/api/main.py", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_main", + "target": "src_api_router", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/api/main.py", + "source_location": "L23", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_main_index", + "target": "src_api_main_py_get", + "relation": "references", + "confidence": "EXTRACTED", + "source_file": "src/api/main.py", + "source_location": "L46", + "weight": 1.0, + "context": "decorator", + "_origin": "ast" + }, + { + "source": "src_api_main", + "target": "src_api_main_index", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/api/main.py", + "source_location": "L47", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_main_manifest", + "target": "src_api_main_py_get", + "relation": "references", + "confidence": "EXTRACTED", + "source_file": "src/api/main.py", + "source_location": "L54", + "weight": 1.0, + "context": "decorator", + "_origin": "ast" + }, + { + "source": "src_api_main", + "target": "src_api_main_manifest", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/api/main.py", + "source_location": "L55", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_main_manifest", + "target": "src_api_main_py_response", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "src/api/main.py", + "source_location": "L55", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_main_service_worker", + "target": "src_api_main_py_get", + "relation": "references", + "confidence": "EXTRACTED", + "source_file": "src/api/main.py", + "source_location": "L62", + "weight": 1.0, + "context": "decorator", + "_origin": "ast" + }, + { + "source": "src_api_main", + "target": "src_api_main_service_worker", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/api/main.py", + "source_location": "L63", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_main_service_worker", + "target": "src_api_main_py_response", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "src/api/main.py", + "source_location": "L63", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_main_health", + "target": "src_api_main_py_get", + "relation": "references", + "confidence": "EXTRACTED", + "source_file": "src/api/main.py", + "source_location": "L74", + "weight": 1.0, + "context": "decorator", + "_origin": "ast" + }, + { + "source": "src_api_main", + "target": "src_api_main_health", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/api/main.py", + "source_location": "L75", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_main_rationale_76", + "target": "src_api_main_health", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/api/main.py", + "source_location": "L76", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router", + "target": "asyncio", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router", + "target": "csv", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L5", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router", + "target": "json", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router", + "target": "re", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router", + "target": "pathlib", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router", + "target": "openpyxl", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router", + "target": "fastapi", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router", + "target": "src_api_schemas", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router", + "target": "src_data_dwell_db", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L23", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router", + "target": "src_data_graph_retriever", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L24", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router", + "target": "src_data_hours_db", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L25", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router", + "target": "src_data_kakao_local", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L26", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router", + "target": "src_data_models", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L27", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router", + "target": "src_explain_pipeline", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L28", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router", + "target": "src_explain_plan_extractor", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L29", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router", + "target": "src_api_router_kakao_hint", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L51", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router", + "target": "src_api_router_kakao_cat_code", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L65", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router", + "target": "src_api_router_extract_chosung", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L232", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router", + "target": "src_api_router_normalize", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L243", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router", + "target": "src_api_router_guess_dwell", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L252", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router", + "target": "src_api_router_addr_to_region", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L271", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router", + "target": "src_api_router_parse_jeju_hours", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L282", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router", + "target": "src_api_router_build_jeju_place_index", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L293", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router", + "target": "src_api_router_build_coord_index", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L341", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router", + "target": "src_api_router_build_place_list", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L394", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router", + "target": "src_api_router_build_full_place_list", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L453", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router", + "target": "src_api_router_build_monthly_congestion", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L555", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router", + "target": "src_api_router_lookup_place", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L599", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router", + "target": "src_api_router_resolve_poi", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L618", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router_resolve_poi", + "target": "src_data_models_poi", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L618", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router_resolve_poi", + "target": "src_api_schemas_poiinfo", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L618", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router", + "target": "src_api_router_calc_reliability_score", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L714", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router_calc_reliability_score", + "target": "src_api_schemas_poiinfo", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L714", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router", + "target": "src_api_router_get_pipeline", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L724", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router_get_pipeline", + "target": "src_explain_pipeline_validatorpipeline", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L724", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router_list_places", + "target": "src_api_router_py_get", + "relation": "references", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L731", + "weight": 1.0, + "context": "decorator", + "_origin": "ast" + }, + { + "source": "src_api_router", + "target": "src_api_router_list_places", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L732", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router_list_places", + "target": "src_api_schemas_placesresponse", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L732", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router_monthly_congestion", + "target": "src_api_router_py_get", + "relation": "references", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L805", + "weight": 1.0, + "context": "decorator", + "_origin": "ast" + }, + { + "source": "src_api_router", + "target": "src_api_router_monthly_congestion", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L806", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router_list_regions", + "target": "src_api_router_py_get", + "relation": "references", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L817", + "weight": 1.0, + "context": "decorator", + "_origin": "ast" + }, + { + "source": "src_api_router", + "target": "src_api_router_list_regions", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L818", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router_parse_text", + "target": "post", + "relation": "references", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L829", + "weight": 1.0, + "context": "decorator", + "_origin": "ast" + }, + { + "source": "src_api_router", + "target": "src_api_router_parse_text", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L830", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router_parse_text", + "target": "src_api_schemas_parsetextrequest", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L830", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router_parse_text", + "target": "src_api_schemas_parsedplanresponse", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L830", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router_parse_document", + "target": "post", + "relation": "references", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L838", + "weight": 1.0, + "context": "decorator", + "_origin": "ast" + }, + { + "source": "src_api_router", + "target": "src_api_router_parse_document", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L839", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router_parse_document", + "target": "uploadfile", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L839", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router_parse_document", + "target": "src_api_schemas_parsedplanresponse", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L839", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router_resolve_coords", + "target": "post", + "relation": "references", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L855", + "weight": 1.0, + "context": "decorator", + "_origin": "ast" + }, + { + "source": "src_api_router", + "target": "src_api_router_resolve_coords", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L856", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router_resolve_coords", + "target": "src_api_schemas_dayplanweb", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L856", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router_resolve_coords", + "target": "src_data_models_poi", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L856", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router_validate_plan", + "target": "post", + "relation": "references", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L868", + "weight": 1.0, + "context": "decorator", + "_origin": "ast" + }, + { + "source": "src_api_router", + "target": "src_api_router_validate_plan", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L869", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router_validate_plan", + "target": "src_api_schemas_validaterequest", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L869", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router_validate_plan", + "target": "src_api_schemas_validateresponse", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L869", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router_guess_dwell", + "target": "src_api_router_normalize", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L253", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router_addr_to_region", + "target": "src_api_router_py_get", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L273", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router_build_jeju_place_index", + "target": "src_api_router_py_get", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L307", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router_build_jeju_place_index", + "target": "src_api_router_normalize", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L310", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router_build_jeju_place_index", + "target": "src_api_router_parse_jeju_hours", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L329", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router_build_coord_index", + "target": "src_api_router_normalize", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L354", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router_build_coord_index", + "target": "src_api_router_addr_to_region", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L360", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router_build_coord_index", + "target": "src_api_router_py_get", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L360", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router_build_place_list", + "target": "src_api_router_py_get", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L417", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router_build_place_list", + "target": "src_api_router_normalize", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L419", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router_build_full_place_list", + "target": "src_api_router_normalize", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L464", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router_build_full_place_list", + "target": "src_api_router_addr_to_region", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L475", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router_build_full_place_list", + "target": "src_api_router_py_get", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L475", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router_build_monthly_congestion", + "target": "src_api_router_py_get", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L566", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router_lookup_place", + "target": "src_api_router_normalize", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L602", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router_resolve_poi", + "target": "src_api_router_lookup_place", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L619", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router_resolve_poi", + "target": "src_api_router_py_get", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L620", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router_resolve_poi", + "target": "src_api_router_normalize", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L621", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router_resolve_poi", + "target": "src_api_router_kakao_hint", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L650", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router_resolve_poi", + "target": "src_api_router_guess_dwell", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L678", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router_resolve_poi", + "target": "src_data_models_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L689", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router_resolve_poi", + "target": "src_api_schemas_poiinfo", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L697", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router_calc_reliability_score", + "target": "src_api_router_py_get", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L717", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router_get_pipeline", + "target": "src_explain_pipeline_validatorpipeline", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L727", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router_list_places", + "target": "src_api_router_py_get", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L745", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router_list_places", + "target": "src_api_router_extract_chosung", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L753", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router_list_places", + "target": "src_api_router_normalize", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L760", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router_list_places", + "target": "src_api_router_addr_to_region", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L765", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router_list_places", + "target": "src_api_router_kakao_cat_code", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L768", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router_list_places", + "target": "src_api_schemas_placesresponse", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L802", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router_monthly_congestion", + "target": "src_api_router_py_get", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L808", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router_monthly_congestion", + "target": "src_api_router_normalize", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L811", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router_list_regions", + "target": "src_api_router_py_get", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L823", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router_parse_document", + "target": "src_api_router_py_get", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L841", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router_resolve_coords", + "target": "src_api_router_resolve_poi", + "relation": "indirect_call", + "context": "argument", + "confidence": "INFERRED", + "source_file": "src/api/router.py", + "source_location": "L861", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router_validate_plan", + "target": "src_api_router_resolve_poi", + "relation": "indirect_call", + "context": "argument", + "confidence": "INFERRED", + "source_file": "src/api/router.py", + "source_location": "L882", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router_validate_plan", + "target": "src_api_router_get_pipeline", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L906", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router_validate_plan", + "target": "src_api_router_calc_reliability_score", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L920", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router_validate_plan", + "target": "src_api_router_py_get", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L933", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router_validate_plan", + "target": "src_api_schemas_validateresponse", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L963", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router_rationale_1", + "target": "src_api_router", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router_rationale_52", + "target": "src_api_router_kakao_hint", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L52", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router_rationale_66", + "target": "src_api_router_kakao_cat_code", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L66", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router_rationale_283", + "target": "src_api_router_parse_jeju_hours", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L283", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router_rationale_294", + "target": "src_api_router_build_jeju_place_index", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L294", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router_rationale_342", + "target": "src_api_router_build_coord_index", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L342", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router_rationale_395", + "target": "src_api_router_build_place_list", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L395", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router_rationale_454", + "target": "src_api_router_build_full_place_list", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L454", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router_rationale_556", + "target": "src_api_router_build_monthly_congestion", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L556", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router_rationale_600", + "target": "src_api_router_lookup_place", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L600", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router_rationale_736", + "target": "src_api_router_list_places", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L736", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router_rationale_831", + "target": "src_api_router_parse_text", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L831", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router_rationale_840", + "target": "src_api_router_parse_document", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L840", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router_rationale_857", + "target": "src_api_router_resolve_coords", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L857", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_schemas", + "target": "typing", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/api/schemas.py", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_schemas", + "target": "pydantic", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/api/schemas.py", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_schemas", + "target": "src_api_schemas_placeinputweb", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/api/schemas.py", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_schemas_placeinputweb", + "target": "src_api_schemas_py_basemodel", + "relation": "inherits", + "confidence": "EXTRACTED", + "source_file": "src/api/schemas.py", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_schemas", + "target": "src_api_schemas_dayplanweb", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/api/schemas.py", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_schemas_dayplanweb", + "target": "src_api_schemas_py_basemodel", + "relation": "inherits", + "confidence": "EXTRACTED", + "source_file": "src/api/schemas.py", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_schemas", + "target": "src_api_schemas_poiinfo", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/api/schemas.py", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_schemas_poiinfo", + "target": "src_api_schemas_py_basemodel", + "relation": "inherits", + "confidence": "EXTRACTED", + "source_file": "src/api/schemas.py", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_schemas", + "target": "src_api_schemas_placeitem", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/api/schemas.py", + "source_location": "L37", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_schemas_placeitem", + "target": "src_api_schemas_py_basemodel", + "relation": "inherits", + "confidence": "EXTRACTED", + "source_file": "src/api/schemas.py", + "source_location": "L37", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_schemas", + "target": "src_api_schemas_placesresponse", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/api/schemas.py", + "source_location": "L49", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_schemas_placesresponse", + "target": "src_api_schemas_py_basemodel", + "relation": "inherits", + "confidence": "EXTRACTED", + "source_file": "src/api/schemas.py", + "source_location": "L49", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_schemas", + "target": "src_api_schemas_validaterequest", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/api/schemas.py", + "source_location": "L54", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_schemas_validaterequest", + "target": "src_api_schemas_py_basemodel", + "relation": "inherits", + "confidence": "EXTRACTED", + "source_file": "src/api/schemas.py", + "source_location": "L54", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_schemas", + "target": "src_api_schemas_parsetextrequest", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/api/schemas.py", + "source_location": "L64", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_schemas_parsetextrequest", + "target": "src_api_schemas_py_basemodel", + "relation": "inherits", + "confidence": "EXTRACTED", + "source_file": "src/api/schemas.py", + "source_location": "L64", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_schemas", + "target": "src_api_schemas_parsedplace", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/api/schemas.py", + "source_location": "L68", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_schemas_parsedplace", + "target": "src_api_schemas_py_basemodel", + "relation": "inherits", + "confidence": "EXTRACTED", + "source_file": "src/api/schemas.py", + "source_location": "L68", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_schemas", + "target": "src_api_schemas_parsedday", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/api/schemas.py", + "source_location": "L74", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_schemas_parsedday", + "target": "src_api_schemas_py_basemodel", + "relation": "inherits", + "confidence": "EXTRACTED", + "source_file": "src/api/schemas.py", + "source_location": "L74", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_schemas", + "target": "src_api_schemas_parsedplanresponse", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/api/schemas.py", + "source_location": "L78", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_schemas_parsedplanresponse", + "target": "src_api_schemas_py_basemodel", + "relation": "inherits", + "confidence": "EXTRACTED", + "source_file": "src/api/schemas.py", + "source_location": "L78", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_schemas", + "target": "src_api_schemas_validateresponse", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/api/schemas.py", + "source_location": "L82", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_schemas_validateresponse", + "target": "src_api_schemas_py_basemodel", + "relation": "inherits", + "confidence": "EXTRACTED", + "source_file": "src/api/schemas.py", + "source_location": "L82", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_schemas_rationale_1", + "target": "src_api_schemas", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/api/schemas.py", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_static_manifest", + "target": "src_api_static_manifest_name", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/api/static/manifest.json", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_static_manifest", + "target": "src_api_static_manifest_short_name", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/api/static/manifest.json", + "source_location": "L3", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_static_manifest", + "target": "src_api_static_manifest_description", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/api/static/manifest.json", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_static_manifest", + "target": "src_api_static_manifest_start_url", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/api/static/manifest.json", + "source_location": "L5", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_static_manifest", + "target": "src_api_static_manifest_display", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/api/static/manifest.json", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_static_manifest", + "target": "src_api_static_manifest_background_color", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/api/static/manifest.json", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_static_manifest", + "target": "src_api_static_manifest_theme_color", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/api/static/manifest.json", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_static_manifest", + "target": "src_api_static_manifest_orientation", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/api/static/manifest.json", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_static_manifest", + "target": "src_api_static_manifest_lang", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/api/static/manifest.json", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_static_manifest", + "target": "src_api_static_manifest_categories", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/api/static/manifest.json", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_static_manifest_categories", + "target": "ref_travel", + "relation": "extends", + "confidence": "EXTRACTED", + "source_file": "src/api/static/manifest.json", + "source_location": "L11", + "weight": 1.0, + "context": "import", + "_origin": "ast" + }, + { + "source": "src_api_static_manifest_categories", + "target": "ref_utilities", + "relation": "extends", + "confidence": "EXTRACTED", + "source_file": "src/api/static/manifest.json", + "source_location": "L11", + "weight": 1.0, + "context": "import", + "_origin": "ast" + }, + { + "source": "src_api_static_manifest", + "target": "src_api_static_manifest_icons", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/api/static/manifest.json", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_static_manifest", + "target": "src_api_static_manifest_shortcuts", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/api/static/manifest.json", + "source_location": "L26", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_static_service_worker", + "target": "src_api_static_service_worker_shell", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/api/static/service-worker.js", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_barrier_free_api", + "target": "dataclasses", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/data/barrier_free_api.py", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_barrier_free_api", + "target": "typing", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/data/barrier_free_api.py", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_barrier_free_api", + "target": "httpx", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/data/barrier_free_api.py", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_barrier_free_api", + "target": "src_data_models", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/data/barrier_free_api.py", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_barrier_free_api", + "target": "src_data_barrier_free_api_barrierfreeplace", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/data/barrier_free_api.py", + "source_location": "L24", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_barrier_free_api", + "target": "src_data_barrier_free_api_barrierfreedetail", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/data/barrier_free_api.py", + "source_location": "L43", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_barrier_free_api", + "target": "src_data_barrier_free_api_extract_items", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/data/barrier_free_api.py", + "source_location": "L68", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_barrier_free_api", + "target": "src_data_barrier_free_api_safe_float", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/data/barrier_free_api.py", + "source_location": "L78", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_barrier_free_api_safe_float", + "target": "src_data_barrier_free_api_py_any", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "src/data/barrier_free_api.py", + "source_location": "L78", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_barrier_free_api", + "target": "src_data_barrier_free_api_str", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/data/barrier_free_api.py", + "source_location": "L85", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_barrier_free_api_str", + "target": "src_data_barrier_free_api_py_any", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "src/data/barrier_free_api.py", + "source_location": "L85", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_barrier_free_api", + "target": "src_data_barrier_free_api_barrierfreeapiclient", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/data/barrier_free_api.py", + "source_location": "L91", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_barrier_free_api_barrierfreeapiclient", + "target": "src_data_barrier_free_api_barrierfreeapiclient_init", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/data/barrier_free_api.py", + "source_location": "L97", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_barrier_free_api_barrierfreeapiclient", + "target": "src_data_barrier_free_api_barrierfreeapiclient_from_settings", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/data/barrier_free_api.py", + "source_location": "L104", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_barrier_free_api_barrierfreeapiclient_from_settings", + "target": "src_data_models_settings", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "src/data/barrier_free_api.py", + "source_location": "L104", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_barrier_free_api_barrierfreeapiclient", + "target": "src_data_barrier_free_api_barrierfreeapiclient_fetch_page", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/data/barrier_free_api.py", + "source_location": "L112", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_barrier_free_api_barrierfreeapiclient_fetch_page", + "target": "src_data_barrier_free_api_barrierfreeplace", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/data/barrier_free_api.py", + "source_location": "L112", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_barrier_free_api_barrierfreeapiclient", + "target": "src_data_barrier_free_api_barrierfreeapiclient_fetch_detail", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/data/barrier_free_api.py", + "source_location": "L163", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_barrier_free_api_barrierfreeapiclient_fetch_detail", + "target": "src_data_barrier_free_api_barrierfreedetail", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "src/data/barrier_free_api.py", + "source_location": "L163", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_barrier_free_api_barrierfreeapiclient", + "target": "src_data_barrier_free_api_barrierfreeapiclient_fetch_all", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/data/barrier_free_api.py", + "source_location": "L210", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_barrier_free_api_barrierfreeapiclient_fetch_all", + "target": "src_data_barrier_free_api_barrierfreeplace", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/data/barrier_free_api.py", + "source_location": "L210", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_barrier_free_api_barrierfreeapiclient_from_settings", + "target": "src_data_models_settings", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/data/barrier_free_api.py", + "source_location": "L106", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_barrier_free_api_barrierfreeapiclient_fetch_page", + "target": "src_data_barrier_free_api_extract_items", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/data/barrier_free_api.py", + "source_location": "L146", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_barrier_free_api_barrierfreeapiclient_fetch_page", + "target": "src_data_barrier_free_api_str", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/data/barrier_free_api.py", + "source_location": "L147", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_barrier_free_api_barrierfreeapiclient_fetch_page", + "target": "src_data_barrier_free_api_safe_float", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/data/barrier_free_api.py", + "source_location": "L150", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_barrier_free_api_barrierfreeapiclient_fetch_page", + "target": "src_data_barrier_free_api_barrierfreeplace", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/data/barrier_free_api.py", + "source_location": "L154", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_barrier_free_api_barrierfreeapiclient_fetch_detail", + "target": "src_data_barrier_free_api_extract_items", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/data/barrier_free_api.py", + "source_location": "L186", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_barrier_free_api_barrierfreeapiclient_fetch_detail", + "target": "src_data_barrier_free_api_barrierfreedetail", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/data/barrier_free_api.py", + "source_location": "L190", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_barrier_free_api_barrierfreeapiclient_fetch_detail", + "target": "src_data_barrier_free_api_str", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/data/barrier_free_api.py", + "source_location": "L191", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_barrier_free_api_barrierfreeapiclient_fetch_all", + "target": "src_data_barrier_free_api_barrierfreeapiclient_fetch_page", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/data/barrier_free_api.py", + "source_location": "L215", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_barrier_free_api_rationale_1", + "target": "src_data_barrier_free_api", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/data/barrier_free_api.py", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_barrier_free_api_rationale_25", + "target": "src_data_barrier_free_api_barrierfreeplace", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/data/barrier_free_api.py", + "source_location": "L25", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_barrier_free_api_rationale_44", + "target": "src_data_barrier_free_api_barrierfreedetail", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/data/barrier_free_api.py", + "source_location": "L44", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_barrier_free_api_rationale_92", + "target": "src_data_barrier_free_api_barrierfreeapiclient", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/data/barrier_free_api.py", + "source_location": "L92", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_barrier_free_api_rationale_119", + "target": "src_data_barrier_free_api_barrierfreeapiclient_fetch_page", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/data/barrier_free_api.py", + "source_location": "L119", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_barrier_free_api_rationale_164", + "target": "src_data_barrier_free_api_barrierfreeapiclient_fetch_detail", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/data/barrier_free_api.py", + "source_location": "L164", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_barrier_free_api_rationale_211", + "target": "src_data_barrier_free_api_barrierfreeapiclient_fetch_all", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/data/barrier_free_api.py", + "source_location": "L211", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_dwell_db", + "target": "dataclasses", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/data/dwell_db.py", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_dwell_db", + "target": "typing", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/data/dwell_db.py", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_dwell_db", + "target": "src_data_dwell_db_dwellrecommendation", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/data/dwell_db.py", + "source_location": "L21", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_dwell_db_dwellrecommendation", + "target": "src_data_dwell_db_dwellrecommendation_is_too_short", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/data/dwell_db.py", + "source_location": "L27", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_dwell_db", + "target": "src_data_dwell_db_normalize_name", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/data/dwell_db.py", + "source_location": "L181", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_dwell_db", + "target": "src_data_dwell_db_get_recommended_dwell", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/data/dwell_db.py", + "source_location": "L192", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_dwell_db_get_recommended_dwell", + "target": "src_data_dwell_db_dwellrecommendation", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "src/data/dwell_db.py", + "source_location": "L192", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_dwell_db_get_recommended_dwell", + "target": "src_data_dwell_db_normalize_name", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/data/dwell_db.py", + "source_location": "L212", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_dwell_db_get_recommended_dwell", + "target": "src_data_dwell_db_dwellrecommendation", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/data/dwell_db.py", + "source_location": "L215", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_dwell_db_rationale_1", + "target": "src_data_dwell_db", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/data/dwell_db.py", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_dwell_db_rationale_28", + "target": "src_data_dwell_db_dwellrecommendation_is_too_short", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/data/dwell_db.py", + "source_location": "L28", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_dwell_db_rationale_182", + "target": "src_data_dwell_db_normalize_name", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/data/dwell_db.py", + "source_location": "L182", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_dwell_db_rationale_198", + "target": "src_data_dwell_db_get_recommended_dwell", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/data/dwell_db.py", + "source_location": "L198", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_graph_retriever", + "target": "os", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/data/graph_retriever.py", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_graph_retriever", + "target": "time", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/data/graph_retriever.py", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_graph_retriever", + "target": "neo4j", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/data/graph_retriever.py", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_graph_retriever", + "target": "neo4j_exceptions", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/data/graph_retriever.py", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_graph_retriever", + "target": "src_data_models", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/data/graph_retriever.py", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_graph_retriever", + "target": "src_data_graph_retriever_graphretriever", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/data/graph_retriever.py", + "source_location": "L44", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_graph_retriever_graphretriever", + "target": "src_data_graph_retriever_graphretriever_init", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/data/graph_retriever.py", + "source_location": "L47", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_graph_retriever_graphretriever", + "target": "src_data_graph_retriever_graphretriever_from_env", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/data/graph_retriever.py", + "source_location": "L62", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_graph_retriever_graphretriever_from_env", + "target": "src_data_graph_retriever_graphretriever", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "src/data/graph_retriever.py", + "source_location": "L62", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_graph_retriever_graphretriever", + "target": "src_data_graph_retriever_graphretriever_enabled", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/data/graph_retriever.py", + "source_location": "L71", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_graph_retriever_graphretriever", + "target": "src_data_graph_retriever_graphretriever_callable", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/data/graph_retriever.py", + "source_location": "L74", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_graph_retriever_graphretriever", + "target": "src_data_graph_retriever_graphretriever_mark_unreachable", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/data/graph_retriever.py", + "source_location": "L78", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_graph_retriever_graphretriever", + "target": "src_data_graph_retriever_graphretriever_close", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/data/graph_retriever.py", + "source_location": "L81", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_graph_retriever_graphretriever", + "target": "src_data_graph_retriever_graphretriever_search_places", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/data/graph_retriever.py", + "source_location": "L85", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_graph_retriever_graphretriever_search_places", + "target": "src_data_models_placeevidence", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/data/graph_retriever.py", + "source_location": "L85", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_graph_retriever_graphretriever", + "target": "src_data_graph_retriever_graphretriever_find_nearby", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/data/graph_retriever.py", + "source_location": "L111", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_graph_retriever_graphretriever_find_nearby", + "target": "src_data_models_alternativepoi", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/data/graph_retriever.py", + "source_location": "L111", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_graph_retriever_graphretriever_search_places", + "target": "src_data_graph_retriever_graphretriever_callable", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/data/graph_retriever.py", + "source_location": "L88", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_graph_retriever_graphretriever_search_places", + "target": "src_data_graph_retriever_graphretriever_mark_unreachable", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/data/graph_retriever.py", + "source_location": "L95", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_graph_retriever_graphretriever_search_places", + "target": "src_data_models_placeevidence", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/data/graph_retriever.py", + "source_location": "L98", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_graph_retriever_graphretriever_find_nearby", + "target": "src_data_graph_retriever_graphretriever_callable", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/data/graph_retriever.py", + "source_location": "L113", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_graph_retriever_graphretriever_find_nearby", + "target": "src_data_graph_retriever_graphretriever_mark_unreachable", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/data/graph_retriever.py", + "source_location": "L120", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_graph_retriever_graphretriever_find_nearby", + "target": "src_data_models_alternativepoi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/data/graph_retriever.py", + "source_location": "L123", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_graph_retriever_rationale_1", + "target": "src_data_graph_retriever", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/data/graph_retriever.py", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_graph_retriever_rationale_45", + "target": "src_data_graph_retriever_graphretriever", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/data/graph_retriever.py", + "source_location": "L45", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_graph_retriever_rationale_75", + "target": "src_data_graph_retriever_graphretriever_callable", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/data/graph_retriever.py", + "source_location": "L75", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_graph_retriever_rationale_86", + "target": "src_data_graph_retriever_graphretriever_search_places", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/data/graph_retriever.py", + "source_location": "L86", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_graph_retriever_rationale_112", + "target": "src_data_graph_retriever_graphretriever_find_nearby", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/data/graph_retriever.py", + "source_location": "L112", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_hours_db", + "target": "re", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/data/hours_db.py", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_hours_db", + "target": "dataclasses", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/data/hours_db.py", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_hours_db", + "target": "src_data_hours_db_hoursspec", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/data/hours_db.py", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_hours_db", + "target": "src_data_hours_db_resolve_hours", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/data/hours_db.py", + "source_location": "L245", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_hours_db_resolve_hours", + "target": "src_data_hours_db_hoursspec", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "src/data/hours_db.py", + "source_location": "L245", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_hours_db", + "target": "src_data_hours_db_to_minutes", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/data/hours_db.py", + "source_location": "L267", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_hours_db", + "target": "src_data_hours_db_is_open_at", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/data/hours_db.py", + "source_location": "L272", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_hours_db_is_open_at", + "target": "src_data_hours_db_hoursspec", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "src/data/hours_db.py", + "source_location": "L272", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_hours_db_is_open_at", + "target": "src_data_hours_db_to_minutes", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/data/hours_db.py", + "source_location": "L276", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_hours_db_rationale_1", + "target": "src_data_hours_db", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/data/hours_db.py", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_hours_db_rationale_246", + "target": "src_data_hours_db_resolve_hours", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/data/hours_db.py", + "source_location": "L246", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_hours_db_rationale_273", + "target": "src_data_hours_db_is_open_at", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/data/hours_db.py", + "source_location": "L273", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_kakao_local", + "target": "os", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/data/kakao_local.py", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_kakao_local", + "target": "httpx", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/data/kakao_local.py", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_kakao_local", + "target": "src_data_models", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/data/kakao_local.py", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_kakao_local", + "target": "src_data_kakao_local_kakaolocalclient", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/data/kakao_local.py", + "source_location": "L24", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_kakao_local_kakaolocalclient", + "target": "src_data_kakao_local_kakaolocalclient_init", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/data/kakao_local.py", + "source_location": "L27", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_kakao_local_kakaolocalclient", + "target": "src_data_kakao_local_kakaolocalclient_from_env", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/data/kakao_local.py", + "source_location": "L36", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_kakao_local_kakaolocalclient_from_env", + "target": "src_data_kakao_local_kakaolocalclient", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "src/data/kakao_local.py", + "source_location": "L36", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_kakao_local_kakaolocalclient", + "target": "src_data_kakao_local_kakaolocalclient_enabled", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/data/kakao_local.py", + "source_location": "L40", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_kakao_local_kakaolocalclient", + "target": "src_data_kakao_local_kakaolocalclient_search_keyword", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/data/kakao_local.py", + "source_location": "L43", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_kakao_local_kakaolocalclient_search_keyword", + "target": "src_data_models_kakaoplace", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "src/data/kakao_local.py", + "source_location": "L43", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_kakao_local_kakaolocalclient", + "target": "src_data_kakao_local_kakaolocalclient_search_keyword_list", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/data/kakao_local.py", + "source_location": "L82", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_kakao_local_kakaolocalclient_search_keyword_list", + "target": "src_data_models_kakaoplace", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/data/kakao_local.py", + "source_location": "L82", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_kakao_local_kakaolocalclient", + "target": "src_data_kakao_local_kakaolocalclient_geocode_address", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/data/kakao_local.py", + "source_location": "L125", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_kakao_local_kakaolocalclient_search_keyword", + "target": "src_data_models_kakaoplace", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/data/kakao_local.py", + "source_location": "L65", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_kakao_local_kakaolocalclient_search_keyword_list", + "target": "src_data_models_kakaoplace", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/data/kakao_local.py", + "source_location": "L105", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_kakao_local_rationale_1", + "target": "src_data_kakao_local", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/data/kakao_local.py", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_kakao_local_rationale_25", + "target": "src_data_kakao_local_kakaolocalclient", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/data/kakao_local.py", + "source_location": "L25", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_kakao_local_rationale_44", + "target": "src_data_kakao_local_kakaolocalclient_search_keyword", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/data/kakao_local.py", + "source_location": "L44", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_kakao_local_rationale_83", + "target": "src_data_kakao_local_kakaolocalclient_search_keyword_list", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/data/kakao_local.py", + "source_location": "L83", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_kakao_local_rationale_126", + "target": "src_data_kakao_local_kakaolocalclient_geocode_address", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/data/kakao_local.py", + "source_location": "L126", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_models", + "target": "hashlib", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_models", + "target": "re", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_models", + "target": "typing", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_models", + "target": "pydantic", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_models", + "target": "pydantic_settings", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_models", + "target": "src_data_models_kakaoplace", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_models_kakaoplace", + "target": "src_data_models_py_basemodel", + "relation": "inherits", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_models", + "target": "src_data_models_placeevidence", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L34", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_models_placeevidence", + "target": "src_data_models_py_basemodel", + "relation": "inherits", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L34", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_models", + "target": "src_data_models_hardfail", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L47", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_models_hardfail", + "target": "src_data_models_py_basemodel", + "relation": "inherits", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L47", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_models", + "target": "src_data_models_warning", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L64", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_models_warning", + "target": "src_data_models_py_basemodel", + "relation": "inherits", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L64", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_models", + "target": "src_data_models_scores", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L81", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_models_scores", + "target": "src_data_models_py_basemodel", + "relation": "inherits", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L81", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_models_scores_validate_ranges", + "target": "model_validator", + "relation": "references", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L88", + "weight": 1.0, + "context": "decorator", + "_origin": "ast" + }, + { + "source": "src_data_models_scores", + "target": "src_data_models_scores_validate_ranges", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L89", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_models", + "target": "src_data_models_alternativepoi", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L97", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_models_alternativepoi", + "target": "src_data_models_py_basemodel", + "relation": "inherits", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L97", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_models", + "target": "src_data_models_poi", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L105", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_models_poi", + "target": "src_data_models_py_basemodel", + "relation": "inherits", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L105", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_models_poi_poi_id_not_empty", + "target": "field_validator", + "relation": "references", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L119", + "weight": 1.0, + "context": "decorator", + "_origin": "ast" + }, + { + "source": "src_data_models_poi", + "target": "src_data_models_poi_poi_id_not_empty", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L121", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_models_poi_validate_lat", + "target": "field_validator", + "relation": "references", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L126", + "weight": 1.0, + "context": "decorator", + "_origin": "ast" + }, + { + "source": "src_data_models_poi", + "target": "src_data_models_poi_validate_lat", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L128", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_models_poi_validate_lng", + "target": "field_validator", + "relation": "references", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L133", + "weight": 1.0, + "context": "decorator", + "_origin": "ast" + }, + { + "source": "src_data_models_poi", + "target": "src_data_models_poi_validate_lng", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L135", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_models_poi_validate_hhmm", + "target": "field_validator", + "relation": "references", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L140", + "weight": 1.0, + "context": "decorator", + "_origin": "ast" + }, + { + "source": "src_data_models_poi", + "target": "src_data_models_poi_validate_hhmm", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L142", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_models_poi_validate_duration", + "target": "field_validator", + "relation": "references", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L150", + "weight": 1.0, + "context": "decorator", + "_origin": "ast" + }, + { + "source": "src_data_models_poi", + "target": "src_data_models_poi_validate_duration", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L152", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_models", + "target": "src_data_models_placeinput", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L158", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_models_placeinput", + "target": "src_data_models_py_basemodel", + "relation": "inherits", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L158", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_models_placeinput_validate_order", + "target": "field_validator", + "relation": "references", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L163", + "weight": 1.0, + "context": "decorator", + "_origin": "ast" + }, + { + "source": "src_data_models_placeinput", + "target": "src_data_models_placeinput_validate_order", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L165", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_models", + "target": "src_data_models_dayplan", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L173", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_models_dayplan", + "target": "src_data_models_py_basemodel", + "relation": "inherits", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L173", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_models_dayplan_validate_place_count", + "target": "field_validator", + "relation": "references", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L177", + "weight": 1.0, + "context": "decorator", + "_origin": "ast" + }, + { + "source": "src_data_models_dayplan", + "target": "src_data_models_dayplan_validate_place_count", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L179", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_models_dayplan_validate_place_count", + "target": "src_data_models_placeinput", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L179", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_models_dayplan_auto_fill_visit_order", + "target": "model_validator", + "relation": "references", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L186", + "weight": 1.0, + "context": "decorator", + "_origin": "ast" + }, + { + "source": "src_data_models_dayplan", + "target": "src_data_models_dayplan_auto_fill_visit_order", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L187", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_models", + "target": "src_data_models_itineraryplan", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L195", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_models_itineraryplan", + "target": "src_data_models_py_basemodel", + "relation": "inherits", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L195", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_models_itineraryplan_validate_days", + "target": "field_validator", + "relation": "references", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L202", + "weight": 1.0, + "context": "decorator", + "_origin": "ast" + }, + { + "source": "src_data_models_itineraryplan", + "target": "src_data_models_itineraryplan_validate_days", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L204", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_models_itineraryplan_validate_days", + "target": "src_data_models_dayplan", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L204", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_models_itineraryplan_travel_days", + "target": "computed_field", + "relation": "references", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L211", + "weight": 1.0, + "context": "decorator", + "_origin": "ast" + }, + { + "source": "src_data_models_itineraryplan", + "target": "src_data_models_itineraryplan_travel_days", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L212", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_models_itineraryplan_plan_id", + "target": "computed_field", + "relation": "references", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L215", + "weight": 1.0, + "context": "decorator", + "_origin": "ast" + }, + { + "source": "src_data_models_itineraryplan", + "target": "src_data_models_itineraryplan_plan_id", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L216", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_models", + "target": "src_data_models_validationresult", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L225", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_models_validationresult", + "target": "src_data_models_py_basemodel", + "relation": "inherits", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L225", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_models_validationresult_validate_score_range", + "target": "field_validator", + "relation": "references", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L242", + "weight": 1.0, + "context": "decorator", + "_origin": "ast" + }, + { + "source": "src_data_models_validationresult", + "target": "src_data_models_validationresult_validate_score_range", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L244", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_models_validationresult_hard_fail_score_cap", + "target": "model_validator", + "relation": "references", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L249", + "weight": 1.0, + "context": "decorator", + "_origin": "ast" + }, + { + "source": "src_data_models_validationresult", + "target": "src_data_models_validationresult_hard_fail_score_cap", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L250", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_models", + "target": "src_data_models_settings", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L256", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_models_settings", + "target": "basesettings", + "relation": "inherits", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L256", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_models_settings_fill_gov_api_keys", + "target": "model_validator", + "relation": "references", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L268", + "weight": 1.0, + "context": "decorator", + "_origin": "ast" + }, + { + "source": "src_data_models_settings", + "target": "src_data_models_settings_fill_gov_api_keys", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L269", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_models", + "target": "src_data_models_vrptwplace", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L283", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_models_vrptwplace", + "target": "src_data_models_py_basemodel", + "relation": "inherits", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L283", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_models_vrptwplace_validate_hhmm", + "target": "field_validator", + "relation": "references", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L292", + "weight": 1.0, + "context": "decorator", + "_origin": "ast" + }, + { + "source": "src_data_models_vrptwplace", + "target": "src_data_models_vrptwplace_validate_hhmm", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L294", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_models_vrptwplace_validate_lat", + "target": "field_validator", + "relation": "references", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L302", + "weight": 1.0, + "context": "decorator", + "_origin": "ast" + }, + { + "source": "src_data_models_vrptwplace", + "target": "src_data_models_vrptwplace_validate_lat", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L304", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_models_vrptwplace_validate_lng", + "target": "field_validator", + "relation": "references", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L309", + "weight": 1.0, + "context": "decorator", + "_origin": "ast" + }, + { + "source": "src_data_models_vrptwplace", + "target": "src_data_models_vrptwplace_validate_lng", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L311", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_models_vrptwplace_validate_stay", + "target": "field_validator", + "relation": "references", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L316", + "weight": 1.0, + "context": "decorator", + "_origin": "ast" + }, + { + "source": "src_data_models_vrptwplace", + "target": "src_data_models_vrptwplace_validate_stay", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L318", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_models_vrptwplace", + "target": "src_data_models_vrptwplace_open_minutes", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L324", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_models_vrptwplace", + "target": "src_data_models_vrptwplace_close_minutes", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L329", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_models", + "target": "src_data_models_vrptwday", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L334", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_models_vrptwday", + "target": "src_data_models_py_basemodel", + "relation": "inherits", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L334", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_models_vrptwday_at_least_one", + "target": "field_validator", + "relation": "references", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L337", + "weight": 1.0, + "context": "decorator", + "_origin": "ast" + }, + { + "source": "src_data_models_vrptwday", + "target": "src_data_models_vrptwday_at_least_one", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L339", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_models_vrptwday_at_least_one", + "target": "src_data_models_vrptwplace", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L339", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_models", + "target": "src_data_models_vrptwrequest", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L345", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_models_vrptwrequest", + "target": "src_data_models_py_basemodel", + "relation": "inherits", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L345", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_models_vrptwrequest_at_least_one_day", + "target": "field_validator", + "relation": "references", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L348", + "weight": 1.0, + "context": "decorator", + "_origin": "ast" + }, + { + "source": "src_data_models_vrptwrequest", + "target": "src_data_models_vrptwrequest_at_least_one_day", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L350", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_models_vrptwrequest_at_least_one_day", + "target": "src_data_models_vrptwday", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L350", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_models", + "target": "src_data_models_deepdiveitem", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L356", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_models_deepdiveitem", + "target": "src_data_models_py_basemodel", + "relation": "inherits", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L356", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_models", + "target": "src_data_models_explanationitem", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L363", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_models_explanationitem", + "target": "src_data_models_py_basemodel", + "relation": "inherits", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L363", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_models", + "target": "src_data_models_dayroutecomparison", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L374", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_models_dayroutecomparison", + "target": "src_data_models_py_basemodel", + "relation": "inherits", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L374", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_models", + "target": "src_data_models_vrptwresult", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L382", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_models_vrptwresult", + "target": "src_data_models_py_basemodel", + "relation": "inherits", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L382", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_models_rationale_1", + "target": "src_data_models", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_models_rationale_23", + "target": "src_data_models_kakaoplace", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L23", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_models_rationale_35", + "target": "src_data_models_placeevidence", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L35", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_models_rationale_174", + "target": "src_data_models_dayplan", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L174", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_models_rationale_188", + "target": "src_data_models_dayplan_auto_fill_visit_order", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L188", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_models_rationale_270", + "target": "src_data_models_settings_fill_gov_api_keys", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L270", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_models_rationale_364", + "target": "src_data_models_explanationitem", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/data/models.py", + "source_location": "L364", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_party_config", + "target": "dataclasses", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/data/party_config.py", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_party_config", + "target": "src_data_party_config_partyprofile", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/data/party_config.py", + "source_location": "L19", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_party_config", + "target": "src_data_party_config_get_party_profile", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/data/party_config.py", + "source_location": "L36", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_party_config_get_party_profile", + "target": "src_data_party_config_partyprofile", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "src/data/party_config.py", + "source_location": "L36", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_party_config_rationale_1", + "target": "src_data_party_config", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/data/party_config.py", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_party_config_rationale_37", + "target": "src_data_party_config_get_party_profile", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/data/party_config.py", + "source_location": "L37", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_region_config", + "target": "dataclasses", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/data/region_config.py", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_region_config", + "target": "src_data_region_config_regionthresholds", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/data/region_config.py", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_region_config", + "target": "src_data_region_config_get_thresholds", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/data/region_config.py", + "source_location": "L94", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_region_config_get_thresholds", + "target": "src_data_region_config_regionthresholds", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "src/data/region_config.py", + "source_location": "L94", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_region_config_rationale_1", + "target": "src_data_region_config", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/data/region_config.py", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_region_config_rationale_18", + "target": "src_data_region_config_regionthresholds", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/data/region_config.py", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_region_config_rationale_95", + "target": "src_data_region_config_get_thresholds", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/data/region_config.py", + "source_location": "L95", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_restaurant_catalog", + "target": "csv", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/data/restaurant_catalog.py", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_restaurant_catalog", + "target": "pathlib", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/data/restaurant_catalog.py", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_restaurant_catalog", + "target": "src_data_models", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/data/restaurant_catalog.py", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_restaurant_catalog", + "target": "src_utils_geo", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/data/restaurant_catalog.py", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_restaurant_catalog", + "target": "src_data_restaurant_catalog_normalize", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/data/restaurant_catalog.py", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_restaurant_catalog", + "target": "src_data_restaurant_catalog_restaurantcatalog", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/data/restaurant_catalog.py", + "source_location": "L24", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_restaurant_catalog_restaurantcatalog", + "target": "src_data_restaurant_catalog_restaurantcatalog_init", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/data/restaurant_catalog.py", + "source_location": "L27", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_restaurant_catalog_restaurantcatalog", + "target": "src_data_restaurant_catalog_restaurantcatalog_from_csv", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/data/restaurant_catalog.py", + "source_location": "L31", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_restaurant_catalog_restaurantcatalog_from_csv", + "target": "src_data_restaurant_catalog_py_path", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "src/data/restaurant_catalog.py", + "source_location": "L31", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_restaurant_catalog_restaurantcatalog_from_csv", + "target": "src_data_restaurant_catalog_restaurantcatalog", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "src/data/restaurant_catalog.py", + "source_location": "L31", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_restaurant_catalog_restaurantcatalog", + "target": "src_data_restaurant_catalog_restaurantcatalog_from_default", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/data/restaurant_catalog.py", + "source_location": "L50", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_restaurant_catalog_restaurantcatalog_from_default", + "target": "src_data_restaurant_catalog_restaurantcatalog", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "src/data/restaurant_catalog.py", + "source_location": "L50", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_restaurant_catalog_restaurantcatalog", + "target": "src_data_restaurant_catalog_restaurantcatalog_nearby", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/data/restaurant_catalog.py", + "source_location": "L53", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_restaurant_catalog_restaurantcatalog_nearby", + "target": "src_data_models_alternativepoi", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/data/restaurant_catalog.py", + "source_location": "L53", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_restaurant_catalog_restaurantcatalog_from_default", + "target": "src_data_restaurant_catalog_restaurantcatalog_from_csv", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/data/restaurant_catalog.py", + "source_location": "L51", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_restaurant_catalog_restaurantcatalog_from_default", + "target": "src_data_restaurant_catalog_py_path", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/data/restaurant_catalog.py", + "source_location": "L51", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_restaurant_catalog_restaurantcatalog_nearby", + "target": "src_data_restaurant_catalog_normalize", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/data/restaurant_catalog.py", + "source_location": "L62", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_restaurant_catalog_restaurantcatalog_nearby", + "target": "src_data_models_alternativepoi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/data/restaurant_catalog.py", + "source_location": "L72", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_restaurant_catalog_rationale_1", + "target": "src_data_restaurant_catalog", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/data/restaurant_catalog.py", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_restaurant_catalog_rationale_25", + "target": "src_data_restaurant_catalog_restaurantcatalog", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/data/restaurant_catalog.py", + "source_location": "L25", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_restaurant_catalog_rationale_61", + "target": "src_data_restaurant_catalog_restaurantcatalog_nearby", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/data/restaurant_catalog.py", + "source_location": "L61", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_seoul_citydata_client", + "target": "dataclasses", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/data/seoul_citydata_client.py", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_seoul_citydata_client", + "target": "datetime", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/data/seoul_citydata_client.py", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_seoul_citydata_client", + "target": "typing", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/data/seoul_citydata_client.py", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_seoul_citydata_client", + "target": "httpx", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/data/seoul_citydata_client.py", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_seoul_citydata_client", + "target": "src_data_seoul_citydata_client_forecastslot", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/data/seoul_citydata_client.py", + "source_location": "L62", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_seoul_citydata_client", + "target": "src_data_seoul_citydata_client_seoulrealtimecongestion", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/data/seoul_citydata_client.py", + "source_location": "L71", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_seoul_citydata_client", + "target": "src_data_seoul_citydata_client_seoulcitydataclient", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/data/seoul_citydata_client.py", + "source_location": "L83", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_seoul_citydata_client_seoulcitydataclient", + "target": "src_data_seoul_citydata_client_seoulcitydataclient_init", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/data/seoul_citydata_client.py", + "source_location": "L91", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_seoul_citydata_client_seoulcitydataclient", + "target": "src_data_seoul_citydata_client_seoulcitydataclient_url", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/data/seoul_citydata_client.py", + "source_location": "L101", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_seoul_citydata_client_seoulcitydataclient", + "target": "src_data_seoul_citydata_client_seoulcitydataclient_parse_forecast", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/data/seoul_citydata_client.py", + "source_location": "L104", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_seoul_citydata_client_seoulcitydataclient_parse_forecast", + "target": "src_data_seoul_citydata_client_forecastslot", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/data/seoul_citydata_client.py", + "source_location": "L104", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_seoul_citydata_client_seoulcitydataclient", + "target": "src_data_seoul_citydata_client_seoulcitydataclient_resolve_name", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/data/seoul_citydata_client.py", + "source_location": "L119", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_seoul_citydata_client_seoulcitydataclient", + "target": "src_data_seoul_citydata_client_seoulcitydataclient_get", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/data/seoul_citydata_client.py", + "source_location": "L127", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_seoul_citydata_client_seoulcitydataclient_get", + "target": "src_data_seoul_citydata_client_seoulrealtimecongestion", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "src/data/seoul_citydata_client.py", + "source_location": "L127", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_seoul_citydata_client_seoulcitydataclient", + "target": "src_data_seoul_citydata_client_seoulcitydataclient_get_at", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/data/seoul_citydata_client.py", + "source_location": "L168", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_seoul_citydata_client_seoulcitydataclient_get_at", + "target": "src_data_seoul_citydata_client_forecastslot", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "src/data/seoul_citydata_client.py", + "source_location": "L168", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_seoul_citydata_client_seoulcitydataclient_parse_forecast", + "target": "src_data_seoul_citydata_client_seoulcitydataclient_get", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/data/seoul_citydata_client.py", + "source_location": "L107", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_seoul_citydata_client_seoulcitydataclient_parse_forecast", + "target": "src_data_seoul_citydata_client_forecastslot", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/data/seoul_citydata_client.py", + "source_location": "L109", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_seoul_citydata_client_seoulcitydataclient_get", + "target": "src_data_seoul_citydata_client_seoulcitydataclient_resolve_name", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/data/seoul_citydata_client.py", + "source_location": "L137", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_seoul_citydata_client_seoulcitydataclient_get", + "target": "src_data_seoul_citydata_client_seoulcitydataclient_url", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/data/seoul_citydata_client.py", + "source_location": "L139", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_seoul_citydata_client_seoulcitydataclient_get", + "target": "src_data_seoul_citydata_client_seoulrealtimecongestion", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/data/seoul_citydata_client.py", + "source_location": "L156", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_seoul_citydata_client_seoulcitydataclient_get", + "target": "src_data_seoul_citydata_client_seoulcitydataclient_parse_forecast", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/data/seoul_citydata_client.py", + "source_location": "L164", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_seoul_citydata_client_seoulcitydataclient_get_at", + "target": "src_data_seoul_citydata_client_seoulcitydataclient_get", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/data/seoul_citydata_client.py", + "source_location": "L178", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_seoul_citydata_client_seoulcitydataclient_get_at", + "target": "src_data_seoul_citydata_client_forecastslot", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/data/seoul_citydata_client.py", + "source_location": "L191", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_seoul_citydata_client_rationale_1", + "target": "src_data_seoul_citydata_client", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/data/seoul_citydata_client.py", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_seoul_citydata_client_rationale_84", + "target": "src_data_seoul_citydata_client_seoulcitydataclient", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/data/seoul_citydata_client.py", + "source_location": "L84", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_seoul_citydata_client_rationale_128", + "target": "src_data_seoul_citydata_client_seoulcitydataclient_get", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/data/seoul_citydata_client.py", + "source_location": "L128", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_seoul_citydata_client_rationale_169", + "target": "src_data_seoul_citydata_client_seoulcitydataclient_get_at", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/data/seoul_citydata_client.py", + "source_location": "L169", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_theme_taxonomy", + "target": "dataclasses", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/data/theme_taxonomy.py", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_theme_taxonomy", + "target": "typing", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/data/theme_taxonomy.py", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_theme_taxonomy", + "target": "src_data_theme_taxonomy_userpreferences", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/data/theme_taxonomy.py", + "source_location": "L83", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_theme_taxonomy_userpreferences", + "target": "src_data_theme_taxonomy_userpreferences_post_init", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/data/theme_taxonomy.py", + "source_location": "L88", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_theme_taxonomy_userpreferences", + "target": "src_data_theme_taxonomy_userpreferences_all_themes", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/data/theme_taxonomy.py", + "source_location": "L105", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_theme_taxonomy", + "target": "src_data_theme_taxonomy_matches_place_type", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/data/theme_taxonomy.py", + "source_location": "L111", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_theme_taxonomy", + "target": "src_data_theme_taxonomy_get_place_types_for", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/data/theme_taxonomy.py", + "source_location": "L140", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_theme_taxonomy_get_place_types_for", + "target": "src_data_theme_taxonomy_matches_place_type", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/data/theme_taxonomy.py", + "source_location": "L147", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_theme_taxonomy_rationale_1", + "target": "src_data_theme_taxonomy", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/data/theme_taxonomy.py", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_theme_taxonomy_rationale_84", + "target": "src_data_theme_taxonomy_userpreferences", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/data/theme_taxonomy.py", + "source_location": "L84", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_theme_taxonomy_rationale_106", + "target": "src_data_theme_taxonomy_userpreferences_all_themes", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/data/theme_taxonomy.py", + "source_location": "L106", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_theme_taxonomy_rationale_116", + "target": "src_data_theme_taxonomy_matches_place_type", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/data/theme_taxonomy.py", + "source_location": "L116", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_theme_taxonomy_rationale_144", + "target": "src_data_theme_taxonomy_get_place_types_for", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/data/theme_taxonomy.py", + "source_location": "L144", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_tour_api", + "target": "re", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/data/tour_api.py", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_tour_api", + "target": "typing", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/data/tour_api.py", + "source_location": "L5", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_tour_api", + "target": "httpx", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/data/tour_api.py", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_tour_api", + "target": "src_data_models", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/data/tour_api.py", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_tour_api", + "target": "src_data_tour_api_parse_usetime", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/data/tour_api.py", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_tour_api", + "target": "src_data_tour_api_extract_items", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/data/tour_api.py", + "source_location": "L27", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_tour_api", + "target": "src_data_tour_api_tourapiclient", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/data/tour_api.py", + "source_location": "L38", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_tour_api_tourapiclient", + "target": "src_data_tour_api_tourapiclient_init", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/data/tour_api.py", + "source_location": "L48", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_tour_api_tourapiclient", + "target": "src_data_tour_api_tourapiclient_from_settings", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/data/tour_api.py", + "source_location": "L62", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_tour_api_tourapiclient_from_settings", + "target": "src_data_models_settings", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "src/data/tour_api.py", + "source_location": "L62", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_tour_api_tourapiclient", + "target": "src_data_tour_api_tourapiclient_search_poi", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/data/tour_api.py", + "source_location": "L70", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_tour_api_tourapiclient_search_poi", + "target": "src_data_models_poi", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/data/tour_api.py", + "source_location": "L70", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_tour_api_tourapiclient", + "target": "src_data_tour_api_tourapiclient_get_operating_hours", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/data/tour_api.py", + "source_location": "L123", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_tour_api_tourapiclient", + "target": "src_data_tour_api_tourapiclient_clear_cache", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/data/tour_api.py", + "source_location": "L157", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_tour_api_tourapiclient_from_settings", + "target": "src_data_models_settings", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/data/tour_api.py", + "source_location": "L65", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_tour_api_tourapiclient_search_poi", + "target": "src_data_tour_api_extract_items", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/data/tour_api.py", + "source_location": "L95", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_tour_api_tourapiclient_search_poi", + "target": "src_data_tour_api_tourapiclient_get_operating_hours", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/data/tour_api.py", + "source_location": "L108", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_tour_api_tourapiclient_search_poi", + "target": "src_data_models_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/data/tour_api.py", + "source_location": "L109", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_tour_api_tourapiclient_get_operating_hours", + "target": "src_data_tour_api_extract_items", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/data/tour_api.py", + "source_location": "L146", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_tour_api_tourapiclient_get_operating_hours", + "target": "src_data_tour_api_parse_usetime", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/data/tour_api.py", + "source_location": "L150", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_tour_api_rationale_1", + "target": "src_data_tour_api", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/data/tour_api.py", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_tour_api_rationale_19", + "target": "src_data_tour_api_parse_usetime", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/data/tour_api.py", + "source_location": "L19", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_tour_api_rationale_28", + "target": "src_data_tour_api_extract_items", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/data/tour_api.py", + "source_location": "L28", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_tour_api_rationale_39", + "target": "src_data_tour_api_tourapiclient", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/data/tour_api.py", + "source_location": "L39", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_tour_api_rationale_63", + "target": "src_data_tour_api_tourapiclient_from_settings", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/data/tour_api.py", + "source_location": "L63", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_tour_api_rationale_76", + "target": "src_data_tour_api_tourapiclient_search_poi", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/data/tour_api.py", + "source_location": "L76", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_tour_api_rationale_128", + "target": "src_data_tour_api_tourapiclient_get_operating_hours", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/data/tour_api.py", + "source_location": "L128", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_wellness_api", + "target": "dataclasses", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/data/wellness_api.py", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_wellness_api", + "target": "typing", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/data/wellness_api.py", + "source_location": "L5", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_wellness_api", + "target": "httpx", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/data/wellness_api.py", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_wellness_api", + "target": "src_data_models", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/data/wellness_api.py", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_wellness_api", + "target": "src_data_wellness_api_wellnessplace", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/data/wellness_api.py", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_wellness_api", + "target": "src_data_wellness_api_extract_items", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/data/wellness_api.py", + "source_location": "L27", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_wellness_api", + "target": "src_data_wellness_api_safe_float", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/data/wellness_api.py", + "source_location": "L38", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_wellness_api_safe_float", + "target": "src_data_wellness_api_py_any", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "src/data/wellness_api.py", + "source_location": "L38", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_wellness_api", + "target": "src_data_wellness_api_wellnessapiclient", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/data/wellness_api.py", + "source_location": "L45", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_wellness_api_wellnessapiclient", + "target": "src_data_wellness_api_wellnessapiclient_init", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/data/wellness_api.py", + "source_location": "L51", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_wellness_api_wellnessapiclient", + "target": "src_data_wellness_api_wellnessapiclient_from_settings", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/data/wellness_api.py", + "source_location": "L58", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_wellness_api_wellnessapiclient_from_settings", + "target": "src_data_models_settings", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "src/data/wellness_api.py", + "source_location": "L58", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_wellness_api_wellnessapiclient", + "target": "src_data_wellness_api_wellnessapiclient_fetch_page", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/data/wellness_api.py", + "source_location": "L66", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_wellness_api_wellnessapiclient_fetch_page", + "target": "src_data_wellness_api_wellnessplace", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/data/wellness_api.py", + "source_location": "L66", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_wellness_api_wellnessapiclient", + "target": "src_data_wellness_api_wellnessapiclient_fetch_all", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/data/wellness_api.py", + "source_location": "L117", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_wellness_api_wellnessapiclient_fetch_all", + "target": "src_data_wellness_api_wellnessplace", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/data/wellness_api.py", + "source_location": "L117", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_wellness_api_wellnessapiclient_from_settings", + "target": "src_data_models_settings", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/data/wellness_api.py", + "source_location": "L60", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_wellness_api_wellnessapiclient_fetch_page", + "target": "src_data_wellness_api_extract_items", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/data/wellness_api.py", + "source_location": "L94", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_wellness_api_wellnessapiclient_fetch_page", + "target": "src_data_wellness_api_safe_float", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/data/wellness_api.py", + "source_location": "L99", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_wellness_api_wellnessapiclient_fetch_page", + "target": "src_data_wellness_api_wellnessplace", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/data/wellness_api.py", + "source_location": "L105", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_wellness_api_wellnessapiclient_fetch_all", + "target": "src_data_wellness_api_wellnessapiclient_fetch_page", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/data/wellness_api.py", + "source_location": "L122", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_wellness_api_rationale_1", + "target": "src_data_wellness_api", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/data/wellness_api.py", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_wellness_api_rationale_46", + "target": "src_data_wellness_api_wellnessapiclient", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/data/wellness_api.py", + "source_location": "L46", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_wellness_api_rationale_118", + "target": "src_data_wellness_api_wellnessapiclient_fetch_all", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/data/wellness_api.py", + "source_location": "L118", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine", + "target": "hashlib", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine", + "target": "json", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine", + "target": "os", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine", + "target": "collections", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine", + "target": "typing", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L19", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine", + "target": "src_data_graph_retriever", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L21", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine", + "target": "src_data_models", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine", + "target": "anthropic", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L32", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine", + "target": "src_explain_explain_engine_lrucache", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L44", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine_lrucache", + "target": "src_explain_explain_engine_lrucache_init", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L47", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine_lrucache", + "target": "src_explain_explain_engine_lrucache_contains", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L51", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine_lrucache", + "target": "src_explain_explain_engine_lrucache_getitem", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L54", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine_lrucache", + "target": "src_explain_explain_engine_lrucache_setitem", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L58", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine_lrucache", + "target": "src_explain_explain_engine_lrucache_clear", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L65", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine", + "target": "src_explain_explain_engine_cache_key", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L171", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine_cache_key", + "target": "src_data_models_hardfail", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L171", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine_cache_key", + "target": "src_data_models_warning", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L171", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine", + "target": "src_explain_explain_engine_graph_context", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L187", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine_graph_context", + "target": "src_data_graph_retriever_graphretriever", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L187", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine", + "target": "src_explain_explain_engine_find_alternatives", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L205", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine_find_alternatives", + "target": "src_data_graph_retriever_graphretriever", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L205", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine_find_alternatives", + "target": "src_data_models_alternativepoi", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L205", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine", + "target": "src_explain_explain_engine_build_user_prompt", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L215", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine_build_user_prompt", + "target": "src_data_models_hardfail", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L215", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine_build_user_prompt", + "target": "src_data_models_warning", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L215", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine_build_user_prompt", + "target": "src_data_models_scores", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L215", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine_build_user_prompt", + "target": "src_data_models_itineraryplan", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L215", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine_build_user_prompt", + "target": "src_data_graph_retriever_graphretriever", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L215", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine", + "target": "src_explain_explain_engine_parse_llm_response", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L331", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine_parse_llm_response", + "target": "src_data_models_explanationitem", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L331", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine", + "target": "src_explain_explain_engine_fallback", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L353", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine_fallback", + "target": "src_data_models_hardfail", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L353", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine_fallback", + "target": "src_data_models_warning", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L353", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine_fallback", + "target": "src_data_models_explanationitem", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L353", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine", + "target": "src_explain_explain_engine_explainengine", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L416", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine_explainengine", + "target": "src_explain_explain_engine_explainengine_init", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L419", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine_explainengine_init", + "target": "src_explain_explain_engine_py_any", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L419", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine_explainengine_init", + "target": "src_data_graph_retriever_graphretriever", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L419", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine_explainengine", + "target": "src_explain_explain_engine_explainengine_is_available", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L438", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine_explainengine", + "target": "src_explain_explain_engine_explainengine_build_alternatives", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L441", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine_explainengine_build_alternatives", + "target": "src_data_models_hardfail", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L441", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine_explainengine_build_alternatives", + "target": "src_data_models_alternativepoi", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L441", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine_explainengine", + "target": "src_explain_explain_engine_explainengine_generate", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L452", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine_explainengine_generate", + "target": "src_data_models_hardfail", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L452", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine_explainengine_generate", + "target": "src_data_models_warning", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L452", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine_explainengine_generate", + "target": "src_data_models_scores", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L452", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine_explainengine_generate", + "target": "src_data_models_itineraryplan", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L452", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine_explainengine_generate", + "target": "src_data_models_explanationitem", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L452", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine_explainengine", + "target": "src_explain_explain_engine_explainengine_call_llm", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L526", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine_explainengine_call_llm", + "target": "src_data_models_hardfail", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L526", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine_explainengine_call_llm", + "target": "src_data_models_warning", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L526", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine_explainengine_call_llm", + "target": "src_data_models_scores", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L526", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine_explainengine_call_llm", + "target": "src_data_models_itineraryplan", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L526", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine_explainengine_call_llm", + "target": "src_data_models_explanationitem", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L526", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine_build_user_prompt", + "target": "src_explain_explain_engine_graph_context", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L236", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine_parse_llm_response", + "target": "src_data_models_explanationitem", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L341", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine_fallback", + "target": "src_data_models_explanationitem", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L363", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine_explainengine_build_alternatives", + "target": "src_explain_explain_engine_find_alternatives", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L447", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine_explainengine_generate", + "target": "src_data_models_explanationitem", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L498", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine_explainengine_generate", + "target": "src_explain_explain_engine_explainengine_is_available", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L508", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine_explainengine_generate", + "target": "src_explain_explain_engine_fallback", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L509", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine_explainengine_generate", + "target": "src_explain_explain_engine_cache_key", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L512", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine_explainengine_generate", + "target": "src_explain_explain_engine_explainengine_call_llm", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L517", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine_explainengine_call_llm", + "target": "src_explain_explain_engine_build_user_prompt", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L536", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine_explainengine_call_llm", + "target": "src_explain_explain_engine_parse_llm_response", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L555", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine_rationale_1", + "target": "src_explain_explain_engine", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine_rationale_45", + "target": "src_explain_explain_engine_lrucache", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L45", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine_rationale_188", + "target": "src_explain_explain_engine_graph_context", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L188", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine_rationale_206", + "target": "src_explain_explain_engine_find_alternatives", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L206", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine_rationale_417", + "target": "src_explain_explain_engine_explainengine", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L417", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine_rationale_442", + "target": "src_explain_explain_engine_explainengine_build_alternatives", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L442", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline", + "target": "dataclasses", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/explain/pipeline.py", + "source_location": "L23", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline", + "target": "pathlib", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/explain/pipeline.py", + "source_location": "L24", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline", + "target": "src_data_models", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/explain/pipeline.py", + "source_location": "L26", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline", + "target": "src_data_theme_taxonomy", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/explain/pipeline.py", + "source_location": "L36", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline", + "target": "src_explain_explain_engine", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/explain/pipeline.py", + "source_location": "L37", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline", + "target": "src_explain_repair", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/explain/pipeline.py", + "source_location": "L38", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline", + "target": "src_scoring_bonus_engine", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/explain/pipeline.py", + "source_location": "L39", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline", + "target": "src_scoring_cluster_dispersion", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/explain/pipeline.py", + "source_location": "L40", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline", + "target": "src_scoring_reward_engine", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/explain/pipeline.py", + "source_location": "L41", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline", + "target": "src_scoring_theme_alignment", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/explain/pipeline.py", + "source_location": "L42", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline", + "target": "src_scoring_travel_ratio", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/explain/pipeline.py", + "source_location": "L43", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline", + "target": "src_validation_hard_fail", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/explain/pipeline.py", + "source_location": "L44", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline", + "target": "src_validation_scoring", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/explain/pipeline.py", + "source_location": "L45", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline", + "target": "src_validation_vrptw_engine", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/explain/pipeline.py", + "source_location": "L46", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline", + "target": "src_validation_warning", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/explain/pipeline.py", + "source_location": "L47", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline", + "target": "src_explain_pipeline_to_vrptw_day", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/explain/pipeline.py", + "source_location": "L53", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_to_vrptw_day", + "target": "src_data_models_poi", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/explain/pipeline.py", + "source_location": "L53", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_to_vrptw_day", + "target": "src_data_models_vrptwday", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "src/explain/pipeline.py", + "source_location": "L53", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline", + "target": "src_explain_pipeline_to_poi_with_category", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/explain/pipeline.py", + "source_location": "L70", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_to_poi_with_category", + "target": "src_data_models_poi", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/explain/pipeline.py", + "source_location": "L70", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_to_poi_with_category", + "target": "src_scoring_theme_alignment_poiwithcategory", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/explain/pipeline.py", + "source_location": "L70", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline", + "target": "src_explain_pipeline_scorebundle", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/explain/pipeline.py", + "source_location": "L83", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline", + "target": "src_explain_pipeline_validatorpipeline", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/explain/pipeline.py", + "source_location": "L100", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_validatorpipeline", + "target": "src_explain_pipeline_validatorpipeline_init", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/explain/pipeline.py", + "source_location": "L103", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_validatorpipeline_init", + "target": "src_scoring_bonus_engine_bonusengine", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "src/explain/pipeline.py", + "source_location": "L103", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_validatorpipeline_init", + "target": "src_scoring_theme_alignment_themealignmentjudge", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "src/explain/pipeline.py", + "source_location": "L103", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_validatorpipeline_init", + "target": "src_explain_explain_engine_explainengine", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "src/explain/pipeline.py", + "source_location": "L103", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_validatorpipeline", + "target": "src_explain_pipeline_validatorpipeline_run", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/explain/pipeline.py", + "source_location": "L119", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_validatorpipeline_run", + "target": "src_data_models_itineraryplan", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "src/explain/pipeline.py", + "source_location": "L119", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_validatorpipeline_run", + "target": "src_data_models_poi", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/explain/pipeline.py", + "source_location": "L119", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_validatorpipeline_run", + "target": "src_data_theme_taxonomy_userpreferences", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "src/explain/pipeline.py", + "source_location": "L119", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_validatorpipeline_run", + "target": "src_data_models_validationresult", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "src/explain/pipeline.py", + "source_location": "L119", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_validatorpipeline", + "target": "src_explain_pipeline_validatorpipeline_score", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/explain/pipeline.py", + "source_location": "L235", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_validatorpipeline_score", + "target": "src_data_models_itineraryplan", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "src/explain/pipeline.py", + "source_location": "L235", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_validatorpipeline_score", + "target": "src_data_models_poi", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/explain/pipeline.py", + "source_location": "L235", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_validatorpipeline_score", + "target": "src_data_theme_taxonomy_userpreferences", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "src/explain/pipeline.py", + "source_location": "L235", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_validatorpipeline_score", + "target": "src_explain_pipeline_scorebundle", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "src/explain/pipeline.py", + "source_location": "L235", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_validatorpipeline", + "target": "src_explain_pipeline_validatorpipeline_estimate_repair_gains", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/explain/pipeline.py", + "source_location": "L349", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_validatorpipeline_estimate_repair_gains", + "target": "src_data_models_itineraryplan", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "src/explain/pipeline.py", + "source_location": "L349", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_validatorpipeline_estimate_repair_gains", + "target": "src_data_models_poi", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/explain/pipeline.py", + "source_location": "L349", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_validatorpipeline_estimate_repair_gains", + "target": "src_explain_repair_repairresult", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "src/explain/pipeline.py", + "source_location": "L349", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_to_vrptw_day", + "target": "src_data_models_vrptwday", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/explain/pipeline.py", + "source_location": "L67", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_to_poi_with_category", + "target": "src_scoring_theme_alignment_poiwithcategory", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/explain/pipeline.py", + "source_location": "L72", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_validatorpipeline_init", + "target": "src_scoring_theme_alignment_themealignmentjudge", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/explain/pipeline.py", + "source_location": "L116", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_validatorpipeline_init", + "target": "src_explain_explain_engine_explainengine", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/explain/pipeline.py", + "source_location": "L117", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_validatorpipeline_run", + "target": "src_explain_pipeline_validatorpipeline_score", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/explain/pipeline.py", + "source_location": "L139", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_validatorpipeline_run", + "target": "src_explain_pipeline_validatorpipeline_estimate_repair_gains", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/explain/pipeline.py", + "source_location": "L198", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_validatorpipeline_run", + "target": "src_data_models_validationresult", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/explain/pipeline.py", + "source_location": "L217", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_validatorpipeline_score", + "target": "src_explain_pipeline_to_vrptw_day", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/explain/pipeline.py", + "source_location": "L280", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_validatorpipeline_score", + "target": "src_explain_pipeline_to_poi_with_category", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/explain/pipeline.py", + "source_location": "L314", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_validatorpipeline_score", + "target": "src_explain_pipeline_scorebundle", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/explain/pipeline.py", + "source_location": "L333", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_validatorpipeline_estimate_repair_gains", + "target": "src_explain_pipeline_validatorpipeline_score", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/explain/pipeline.py", + "source_location": "L365", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_validatorpipeline_estimate_repair_gains", + "target": "src_explain_repair_repairresult", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/explain/pipeline.py", + "source_location": "L411", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_rationale_1", + "target": "src_explain_pipeline", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/explain/pipeline.py", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_rationale_54", + "target": "src_explain_pipeline_to_vrptw_day", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/explain/pipeline.py", + "source_location": "L54", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_rationale_84", + "target": "src_explain_pipeline_scorebundle", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/explain/pipeline.py", + "source_location": "L84", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_rationale_101", + "target": "src_explain_pipeline_validatorpipeline", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/explain/pipeline.py", + "source_location": "L101", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_rationale_128", + "target": "src_explain_pipeline_validatorpipeline_run", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/explain/pipeline.py", + "source_location": "L128", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_rationale_244", + "target": "src_explain_pipeline_validatorpipeline_score", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/explain/pipeline.py", + "source_location": "L244", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_rationale_357", + "target": "src_explain_pipeline_validatorpipeline_estimate_repair_gains", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/explain/pipeline.py", + "source_location": "L357", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_plan_extractor", + "target": "base64", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/explain/plan_extractor.py", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_plan_extractor", + "target": "json", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/explain/plan_extractor.py", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_plan_extractor", + "target": "os", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/explain/plan_extractor.py", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_plan_extractor", + "target": "re", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/explain/plan_extractor.py", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_plan_extractor", + "target": "typing", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/explain/plan_extractor.py", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_plan_extractor", + "target": "src_api_schemas", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/explain/plan_extractor.py", + "source_location": "L19", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_plan_extractor", + "target": "anthropic", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/explain/plan_extractor.py", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_plan_extractor", + "target": "src_explain_plan_extractor_planextractionerror", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/explain/plan_extractor.py", + "source_location": "L60", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_plan_extractor_planextractionerror", + "target": "src_explain_plan_extractor_py_exception", + "relation": "inherits", + "confidence": "EXTRACTED", + "source_file": "src/explain/plan_extractor.py", + "source_location": "L60", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_plan_extractor", + "target": "src_explain_plan_extractor_strip_fence", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/explain/plan_extractor.py", + "source_location": "L64", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_plan_extractor", + "target": "src_explain_plan_extractor_parse_response", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/explain/plan_extractor.py", + "source_location": "L68", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_plan_extractor_parse_response", + "target": "src_api_schemas_parsedplanresponse", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "src/explain/plan_extractor.py", + "source_location": "L68", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_plan_extractor", + "target": "src_explain_plan_extractor_fallback_text_parse", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/explain/plan_extractor.py", + "source_location": "L80", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_plan_extractor_fallback_text_parse", + "target": "src_api_schemas_parsedplanresponse", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "src/explain/plan_extractor.py", + "source_location": "L80", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_plan_extractor", + "target": "src_explain_plan_extractor_planextractor", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/explain/plan_extractor.py", + "source_location": "L103", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_plan_extractor_planextractor", + "target": "src_explain_plan_extractor_planextractor_init", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/explain/plan_extractor.py", + "source_location": "L106", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_plan_extractor_planextractor_init", + "target": "src_explain_plan_extractor_py_any", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "src/explain/plan_extractor.py", + "source_location": "L106", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_plan_extractor_planextractor", + "target": "src_explain_plan_extractor_planextractor_from_env", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/explain/plan_extractor.py", + "source_location": "L123", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_plan_extractor_planextractor_from_env", + "target": "src_explain_plan_extractor_planextractor", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "src/explain/plan_extractor.py", + "source_location": "L123", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_plan_extractor_planextractor", + "target": "src_explain_plan_extractor_planextractor_is_available", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/explain/plan_extractor.py", + "source_location": "L126", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_plan_extractor_planextractor", + "target": "src_explain_plan_extractor_planextractor_extract_from_text", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/explain/plan_extractor.py", + "source_location": "L129", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_plan_extractor_planextractor_extract_from_text", + "target": "src_api_schemas_parsedplanresponse", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "src/explain/plan_extractor.py", + "source_location": "L129", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_plan_extractor_planextractor", + "target": "src_explain_plan_extractor_planextractor_extract_from_document", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/explain/plan_extractor.py", + "source_location": "L138", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_plan_extractor_planextractor_extract_from_document", + "target": "src_api_schemas_parsedplanresponse", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "src/explain/plan_extractor.py", + "source_location": "L138", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_plan_extractor_planextractor", + "target": "src_explain_plan_extractor_planextractor_call", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/explain/plan_extractor.py", + "source_location": "L158", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_plan_extractor_planextractor_call", + "target": "src_api_schemas_parsedplanresponse", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "src/explain/plan_extractor.py", + "source_location": "L158", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_plan_extractor", + "target": "src_explain_plan_extractor_demo", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/explain/plan_extractor.py", + "source_location": "L177", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_plan_extractor_parse_response", + "target": "src_explain_plan_extractor_strip_fence", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/explain/plan_extractor.py", + "source_location": "L69", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_plan_extractor_parse_response", + "target": "src_explain_plan_extractor_planextractionerror", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/explain/plan_extractor.py", + "source_location": "L73", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_plan_extractor_fallback_text_parse", + "target": "src_api_schemas_parsedplanresponse", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/explain/plan_extractor.py", + "source_location": "L98", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_plan_extractor_planextractor_extract_from_text", + "target": "src_explain_plan_extractor_planextractionerror", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/explain/plan_extractor.py", + "source_location": "L133", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_plan_extractor_planextractor_extract_from_text", + "target": "src_explain_plan_extractor_planextractor_is_available", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/explain/plan_extractor.py", + "source_location": "L134", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_plan_extractor_planextractor_extract_from_text", + "target": "src_explain_plan_extractor_fallback_text_parse", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/explain/plan_extractor.py", + "source_location": "L135", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_plan_extractor_planextractor_extract_from_text", + "target": "src_explain_plan_extractor_planextractor_call", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/explain/plan_extractor.py", + "source_location": "L136", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_plan_extractor_planextractor_extract_from_document", + "target": "src_explain_plan_extractor_planextractionerror", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/explain/plan_extractor.py", + "source_location": "L141", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_plan_extractor_planextractor_extract_from_document", + "target": "src_explain_plan_extractor_planextractor_is_available", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/explain/plan_extractor.py", + "source_location": "L142", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_plan_extractor_planextractor_extract_from_document", + "target": "src_explain_plan_extractor_planextractor_call", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/explain/plan_extractor.py", + "source_location": "L156", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_plan_extractor_planextractor_call", + "target": "src_explain_plan_extractor_planextractionerror", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/explain/plan_extractor.py", + "source_location": "L172", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_plan_extractor_planextractor_call", + "target": "src_explain_plan_extractor_parse_response", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/explain/plan_extractor.py", + "source_location": "L174", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_plan_extractor_demo", + "target": "src_explain_plan_extractor_parse_response", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/explain/plan_extractor.py", + "source_location": "L178", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_plan_extractor_demo", + "target": "src_explain_plan_extractor_fallback_text_parse", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/explain/plan_extractor.py", + "source_location": "L183", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_plan_extractor_rationale_1", + "target": "src_explain_plan_extractor", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/explain/plan_extractor.py", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_plan_extractor_rationale_61", + "target": "src_explain_plan_extractor_planextractionerror", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/explain/plan_extractor.py", + "source_location": "L61", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_plan_extractor_rationale_81", + "target": "src_explain_plan_extractor_fallback_text_parse", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/explain/plan_extractor.py", + "source_location": "L81", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_plan_extractor_rationale_104", + "target": "src_explain_plan_extractor_planextractor", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/explain/plan_extractor.py", + "source_location": "L104", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_plan_extractor_rationale_130", + "target": "src_explain_plan_extractor_planextractor_extract_from_text", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/explain/plan_extractor.py", + "source_location": "L130", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_plan_extractor_rationale_139", + "target": "src_explain_plan_extractor_planextractor_extract_from_document", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/explain/plan_extractor.py", + "source_location": "L139", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_repair", + "target": "dataclasses", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/explain/repair.py", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_repair", + "target": "itertools", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/explain/repair.py", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_repair", + "target": "re", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/explain/repair.py", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_repair", + "target": "dataclasses", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/explain/repair.py", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_repair", + "target": "src_data_dwell_db", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/explain/repair.py", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_repair", + "target": "src_data_models", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/explain/repair.py", + "source_location": "L19", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_repair", + "target": "src_data_party_config", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/explain/repair.py", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_repair", + "target": "src_data_restaurant_catalog", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/explain/repair.py", + "source_location": "L21", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_repair", + "target": "src_utils_geo", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/explain/repair.py", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_repair", + "target": "src_validation_hard_fail", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/explain/repair.py", + "source_location": "L23", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_repair", + "target": "src_explain_repair_norm", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/explain/repair.py", + "source_location": "L30", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_repair", + "target": "src_explain_repair_min_dwell_for", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/explain/repair.py", + "source_location": "L34", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_repair", + "target": "src_explain_repair_reordersuggestion", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/explain/repair.py", + "source_location": "L44", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_repair", + "target": "src_explain_repair_timetunesuggestion", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/explain/repair.py", + "source_location": "L53", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_repair", + "target": "src_explain_repair_deletionsuggestion", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/explain/repair.py", + "source_location": "L63", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_repair", + "target": "src_explain_repair_repairresult", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/explain/repair.py", + "source_location": "L74", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_repair_repairresult", + "target": "src_explain_repair_repairresult_is_empty", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/explain/repair.py", + "source_location": "L80", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_repair_repairresult", + "target": "src_explain_repair_repairresult_total_estimated_gain", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/explain/repair.py", + "source_location": "L84", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_repair_repairresult", + "target": "src_explain_repair_repairresult_to_dict", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/explain/repair.py", + "source_location": "L95", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_repair", + "target": "src_explain_repair_repairengine", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/explain/repair.py", + "source_location": "L101", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_repair_repairengine", + "target": "src_explain_repair_repairengine_init", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/explain/repair.py", + "source_location": "L104", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_repair_repairengine_init", + "target": "src_data_restaurant_catalog_restaurantcatalog", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "src/explain/repair.py", + "source_location": "L104", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_repair_repairengine", + "target": "src_explain_repair_repairengine_repair", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/explain/repair.py", + "source_location": "L108", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_repair_repairengine_repair", + "target": "src_data_models_itineraryplan", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "src/explain/repair.py", + "source_location": "L108", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_repair_repairengine_repair", + "target": "src_data_models_poi", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/explain/repair.py", + "source_location": "L108", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_repair_repairengine_repair", + "target": "src_data_models_hardfail", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/explain/repair.py", + "source_location": "L108", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_repair_repairengine_repair", + "target": "src_explain_repair_repairresult", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "src/explain/repair.py", + "source_location": "L108", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_repair_repairengine", + "target": "src_explain_repair_repairengine_try_reorder", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/explain/repair.py", + "source_location": "L142", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_repair_repairengine_try_reorder", + "target": "src_data_models_itineraryplan", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "src/explain/repair.py", + "source_location": "L142", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_repair_repairengine_try_reorder", + "target": "src_data_models_poi", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/explain/repair.py", + "source_location": "L142", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_repair_repairengine_try_reorder", + "target": "src_explain_repair_reordersuggestion", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "src/explain/repair.py", + "source_location": "L142", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_repair_repairengine", + "target": "src_explain_repair_repairengine_try_time_tune", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/explain/repair.py", + "source_location": "L171", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_repair_repairengine_try_time_tune", + "target": "src_data_models_itineraryplan", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "src/explain/repair.py", + "source_location": "L171", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_repair_repairengine_try_time_tune", + "target": "src_data_models_poi", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/explain/repair.py", + "source_location": "L171", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_repair_repairengine_try_time_tune", + "target": "src_explain_repair_timetunesuggestion", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "src/explain/repair.py", + "source_location": "L171", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_repair_repairengine", + "target": "src_explain_repair_repairengine_suggest_deletion", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/explain/repair.py", + "source_location": "L224", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_repair_repairengine_suggest_deletion", + "target": "src_data_models_poi", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/explain/repair.py", + "source_location": "L224", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_repair_repairengine_suggest_deletion", + "target": "src_explain_repair_deletionsuggestion", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "src/explain/repair.py", + "source_location": "L224", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_repair_min_dwell_for", + "target": "src_explain_repair_norm", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/explain/repair.py", + "source_location": "L36", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_repair_repairengine_repair", + "target": "src_explain_repair_repairresult", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/explain/repair.py", + "source_location": "L116", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_repair_repairengine_repair", + "target": "src_explain_repair_repairengine_try_reorder", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/explain/repair.py", + "source_location": "L125", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_repair_repairengine_repair", + "target": "src_explain_repair_repairengine_try_time_tune", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/explain/repair.py", + "source_location": "L131", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_repair_repairengine_repair", + "target": "src_explain_repair_repairengine_suggest_deletion", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/explain/repair.py", + "source_location": "L136", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_repair_repairengine_try_reorder", + "target": "src_explain_repair_reordersuggestion", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/explain/repair.py", + "source_location": "L161", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_repair_repairengine_try_time_tune", + "target": "src_explain_repair_min_dwell_for", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/explain/repair.py", + "source_location": "L195", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_repair_repairengine_try_time_tune", + "target": "src_explain_repair_timetunesuggestion", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/explain/repair.py", + "source_location": "L214", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_repair_repairengine_suggest_deletion", + "target": "src_explain_repair_deletionsuggestion", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/explain/repair.py", + "source_location": "L277", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_repair_rationale_1", + "target": "src_explain_repair", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/explain/repair.py", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_repair_rationale_35", + "target": "src_explain_repair_min_dwell_for", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/explain/repair.py", + "source_location": "L35", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_repair_rationale_85", + "target": "src_explain_repair_repairresult_total_estimated_gain", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/explain/repair.py", + "source_location": "L85", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_repair_rationale_102", + "target": "src_explain_repair_repairengine", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/explain/repair.py", + "source_location": "L102", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_repair_rationale_115", + "target": "src_explain_repair_repairengine_repair", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/explain/repair.py", + "source_location": "L115", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_repair_rationale_149", + "target": "src_explain_repair_repairengine_try_reorder", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/explain/repair.py", + "source_location": "L149", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_repair_rationale_178", + "target": "src_explain_repair_repairengine_try_time_tune", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/explain/repair.py", + "source_location": "L178", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_repair_rationale_229", + "target": "src_explain_repair_repairengine_suggest_deletion", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/explain/repair.py", + "source_location": "L229", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_matrix_init", + "target": "src_matrix_redis_matrix", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/matrix/__init__.py", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_matrix_init_rationale_1", + "target": "src_matrix_init", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/matrix/__init__.py", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_matrix_redis_matrix", + "target": "os", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/matrix/redis_matrix.py", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_matrix_redis_matrix", + "target": "pathlib", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/matrix/redis_matrix.py", + "source_location": "L19", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_matrix_redis_matrix", + "target": "typing", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/matrix/redis_matrix.py", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_matrix_redis_matrix", + "target": "src_data_models", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/matrix/redis_matrix.py", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_matrix_redis_matrix", + "target": "src_validation_vrptw_engine", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/matrix/redis_matrix.py", + "source_location": "L23", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_matrix_redis_matrix", + "target": "redis", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/matrix/redis_matrix.py", + "source_location": "L26", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_matrix_redis_matrix", + "target": "src_matrix_redis_matrix_redistimematrix", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/matrix/redis_matrix.py", + "source_location": "L35", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_matrix_redis_matrix_redistimematrix", + "target": "src_validation_vrptw_engine_timematrix", + "relation": "inherits", + "confidence": "EXTRACTED", + "source_file": "src/matrix/redis_matrix.py", + "source_location": "L35", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_matrix_redis_matrix_redistimematrix", + "target": "src_matrix_redis_matrix_redistimematrix_init", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/matrix/redis_matrix.py", + "source_location": "L43", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_matrix_redis_matrix_redistimematrix", + "target": "src_matrix_redis_matrix_redistimematrix_from_env", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/matrix/redis_matrix.py", + "source_location": "L56", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_matrix_redis_matrix_redistimematrix_from_env", + "target": "src_matrix_redis_matrix_py_path", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "src/matrix/redis_matrix.py", + "source_location": "L56", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_matrix_redis_matrix_redistimematrix", + "target": "src_matrix_redis_matrix_redistimematrix_load_dotenv", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/matrix/redis_matrix.py", + "source_location": "L82", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_matrix_redis_matrix_redistimematrix_load_dotenv", + "target": "src_matrix_redis_matrix_py_path", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "src/matrix/redis_matrix.py", + "source_location": "L82", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_matrix_redis_matrix_redistimematrix", + "target": "src_matrix_redis_matrix_redistimematrix_get_travel_time", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/matrix/redis_matrix.py", + "source_location": "L92", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_matrix_redis_matrix_redistimematrix_get_travel_time", + "target": "src_data_models_vrptwplace", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "src/matrix/redis_matrix.py", + "source_location": "L92", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_matrix_redis_matrix_redistimematrix", + "target": "src_matrix_redis_matrix_redistimematrix_set_travel_time", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/matrix/redis_matrix.py", + "source_location": "L110", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_matrix_redis_matrix_redistimematrix_set_travel_time", + "target": "src_data_models_vrptwplace", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "src/matrix/redis_matrix.py", + "source_location": "L110", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_matrix_redis_matrix_redistimematrix", + "target": "src_matrix_redis_matrix_redistimematrix_make_key", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/matrix/redis_matrix.py", + "source_location": "L130", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_matrix_redis_matrix_redistimematrix_make_key", + "target": "src_data_models_vrptwplace", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "src/matrix/redis_matrix.py", + "source_location": "L130", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_matrix_redis_matrix_redistimematrix", + "target": "src_matrix_redis_matrix_redistimematrix_stats", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/matrix/redis_matrix.py", + "source_location": "L138", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_matrix_redis_matrix_redistimematrix", + "target": "src_matrix_redis_matrix_redistimematrix_is_available", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/matrix/redis_matrix.py", + "source_location": "L142", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_matrix_redis_matrix_redistimematrix_from_env", + "target": "src_matrix_redis_matrix_redistimematrix_load_dotenv", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/matrix/redis_matrix.py", + "source_location": "L62", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_matrix_redis_matrix_redistimematrix_from_env", + "target": "src_matrix_redis_matrix_py_path", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/matrix/redis_matrix.py", + "source_location": "L62", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_matrix_redis_matrix_redistimematrix_get_travel_time", + "target": "src_matrix_redis_matrix_redistimematrix_make_key", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/matrix/redis_matrix.py", + "source_location": "L96", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_matrix_redis_matrix_redistimematrix_set_travel_time", + "target": "src_matrix_redis_matrix_redistimematrix_make_key", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/matrix/redis_matrix.py", + "source_location": "L118", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_matrix_redis_matrix_rationale_1", + "target": "src_matrix_redis_matrix", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/matrix/redis_matrix.py", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_matrix_redis_matrix_rationale_36", + "target": "src_matrix_redis_matrix_redistimematrix", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/matrix/redis_matrix.py", + "source_location": "L36", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_matrix_redis_matrix_rationale_60", + "target": "src_matrix_redis_matrix_redistimematrix_from_env", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/matrix/redis_matrix.py", + "source_location": "L60", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_init_rationale_1", + "target": "src_scoring_init", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/scoring/__init__.py", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_bonus_engine", + "target": "json", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/scoring/bonus_engine.py", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_bonus_engine", + "target": "dataclasses", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/scoring/bonus_engine.py", + "source_location": "L5", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_bonus_engine", + "target": "pathlib", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/scoring/bonus_engine.py", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_bonus_engine", + "target": "src_data_models", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/scoring/bonus_engine.py", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_bonus_engine", + "target": "src_utils_geo", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/scoring/bonus_engine.py", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_bonus_engine", + "target": "src_scoring_bonus_engine_bonusresult", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/scoring/bonus_engine.py", + "source_location": "L23", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_bonus_engine", + "target": "src_scoring_bonus_engine_placecoord", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/scoring/bonus_engine.py", + "source_location": "L34", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_bonus_engine", + "target": "src_scoring_bonus_engine_bonusengine", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/scoring/bonus_engine.py", + "source_location": "L39", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_bonus_engine_bonusengine", + "target": "src_scoring_bonus_engine_bonusengine_init", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/scoring/bonus_engine.py", + "source_location": "L46", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_bonus_engine_bonusengine_init", + "target": "src_scoring_bonus_engine_placecoord", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/scoring/bonus_engine.py", + "source_location": "L46", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_bonus_engine_bonusengine", + "target": "src_scoring_bonus_engine_bonusengine_from_dataset", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/scoring/bonus_engine.py", + "source_location": "L55", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_bonus_engine_bonusengine_from_dataset", + "target": "src_scoring_bonus_engine_py_path", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "src/scoring/bonus_engine.py", + "source_location": "L55", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_bonus_engine_bonusengine", + "target": "src_scoring_bonus_engine_bonusengine_compute", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/scoring/bonus_engine.py", + "source_location": "L82", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_bonus_engine_bonusengine_compute", + "target": "src_data_models_poi", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/scoring/bonus_engine.py", + "source_location": "L82", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_bonus_engine_bonusengine_compute", + "target": "src_scoring_bonus_engine_bonusresult", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "src/scoring/bonus_engine.py", + "source_location": "L82", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_bonus_engine", + "target": "src_scoring_bonus_engine_nearest_km", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/scoring/bonus_engine.py", + "source_location": "L134", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_bonus_engine_nearest_km", + "target": "src_data_models_poi", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "src/scoring/bonus_engine.py", + "source_location": "L134", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_bonus_engine_nearest_km", + "target": "src_scoring_bonus_engine_placecoord", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/scoring/bonus_engine.py", + "source_location": "L134", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_bonus_engine_bonusengine_from_dataset", + "target": "src_scoring_bonus_engine_py_path", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/scoring/bonus_engine.py", + "source_location": "L64", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_bonus_engine_bonusengine_from_dataset", + "target": "src_scoring_bonus_engine_placecoord", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/scoring/bonus_engine.py", + "source_location": "L70", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_bonus_engine_bonusengine_compute", + "target": "src_scoring_bonus_engine_nearest_km", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/scoring/bonus_engine.py", + "source_location": "L100", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_bonus_engine_bonusengine_compute", + "target": "src_scoring_bonus_engine_bonusresult", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/scoring/bonus_engine.py", + "source_location": "L123", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_bonus_engine_rationale_1", + "target": "src_scoring_bonus_engine", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/scoring/bonus_engine.py", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_bonus_engine_rationale_40", + "target": "src_scoring_bonus_engine_bonusengine", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/scoring/bonus_engine.py", + "source_location": "L40", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_bonus_engine_rationale_60", + "target": "src_scoring_bonus_engine_bonusengine_from_dataset", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/scoring/bonus_engine.py", + "source_location": "L60", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_bonus_engine_rationale_88", + "target": "src_scoring_bonus_engine_bonusengine_compute", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/scoring/bonus_engine.py", + "source_location": "L88", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_bonus_engine_rationale_135", + "target": "src_scoring_bonus_engine_nearest_km", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/scoring/bonus_engine.py", + "source_location": "L135", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_cluster_dispersion", + "target": "dataclasses", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/scoring/cluster_dispersion.py", + "source_location": "L19", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_cluster_dispersion", + "target": "src_data_models", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/scoring/cluster_dispersion.py", + "source_location": "L21", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_cluster_dispersion", + "target": "src_utils_geo", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/scoring/cluster_dispersion.py", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_cluster_dispersion", + "target": "numpy", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/scoring/cluster_dispersion.py", + "source_location": "L25", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_cluster_dispersion", + "target": "sklearn_cluster", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/scoring/cluster_dispersion.py", + "source_location": "L26", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_cluster_dispersion", + "target": "src_scoring_cluster_dispersion_count_area_backtracks", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/scoring/cluster_dispersion.py", + "source_location": "L64", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_cluster_dispersion", + "target": "src_scoring_cluster_dispersion_count_label_backtracks", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/scoring/cluster_dispersion.py", + "source_location": "L80", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_cluster_dispersion", + "target": "src_scoring_cluster_dispersion_count_geo_cluster_backtracks", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/scoring/cluster_dispersion.py", + "source_location": "L93", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_cluster_dispersion_count_geo_cluster_backtracks", + "target": "src_data_models_vrptwplace", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/scoring/cluster_dispersion.py", + "source_location": "L93", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_cluster_dispersion", + "target": "src_scoring_cluster_dispersion_daydispersionmetric", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/scoring/cluster_dispersion.py", + "source_location": "L114", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_cluster_dispersion", + "target": "src_scoring_cluster_dispersion_clusterdispersionreport", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/scoring/cluster_dispersion.py", + "source_location": "L125", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_cluster_dispersion", + "target": "src_scoring_cluster_dispersion_compute_day_dispersion", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/scoring/cluster_dispersion.py", + "source_location": "L131", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_cluster_dispersion_compute_day_dispersion", + "target": "src_data_models_vrptwplace", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/scoring/cluster_dispersion.py", + "source_location": "L131", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_cluster_dispersion_compute_day_dispersion", + "target": "src_scoring_cluster_dispersion_daydispersionmetric", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "src/scoring/cluster_dispersion.py", + "source_location": "L131", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_cluster_dispersion", + "target": "src_scoring_cluster_dispersion_switch_penalty", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/scoring/cluster_dispersion.py", + "source_location": "L166", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_cluster_dispersion", + "target": "src_scoring_cluster_dispersion_distance_penalty", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/scoring/cluster_dispersion.py", + "source_location": "L174", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_cluster_dispersion", + "target": "src_scoring_cluster_dispersion_backtrack_penalty", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/scoring/cluster_dispersion.py", + "source_location": "L184", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_cluster_dispersion", + "target": "src_scoring_cluster_dispersion_geo_bt_penalty", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/scoring/cluster_dispersion.py", + "source_location": "L192", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_cluster_dispersion", + "target": "src_scoring_cluster_dispersion_evaluate_cluster_dispersion", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/scoring/cluster_dispersion.py", + "source_location": "L202", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_cluster_dispersion_evaluate_cluster_dispersion", + "target": "src_data_models_vrptwday", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/scoring/cluster_dispersion.py", + "source_location": "L202", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_cluster_dispersion_evaluate_cluster_dispersion", + "target": "src_scoring_cluster_dispersion_clusterdispersionreport", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "src/scoring/cluster_dispersion.py", + "source_location": "L202", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_cluster_dispersion_count_geo_cluster_backtracks", + "target": "src_scoring_cluster_dispersion_count_label_backtracks", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/scoring/cluster_dispersion.py", + "source_location": "L110", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_cluster_dispersion_compute_day_dispersion", + "target": "src_scoring_cluster_dispersion_count_area_backtracks", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/scoring/cluster_dispersion.py", + "source_location": "L151", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_cluster_dispersion_compute_day_dispersion", + "target": "src_scoring_cluster_dispersion_count_geo_cluster_backtracks", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/scoring/cluster_dispersion.py", + "source_location": "L154", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_cluster_dispersion_compute_day_dispersion", + "target": "src_scoring_cluster_dispersion_daydispersionmetric", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/scoring/cluster_dispersion.py", + "source_location": "L156", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_cluster_dispersion_evaluate_cluster_dispersion", + "target": "src_scoring_cluster_dispersion_compute_day_dispersion", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/scoring/cluster_dispersion.py", + "source_location": "L216", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_cluster_dispersion_evaluate_cluster_dispersion", + "target": "src_scoring_cluster_dispersion_switch_penalty", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/scoring/cluster_dispersion.py", + "source_location": "L219", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_cluster_dispersion_evaluate_cluster_dispersion", + "target": "src_scoring_cluster_dispersion_distance_penalty", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/scoring/cluster_dispersion.py", + "source_location": "L220", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_cluster_dispersion_evaluate_cluster_dispersion", + "target": "src_scoring_cluster_dispersion_backtrack_penalty", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/scoring/cluster_dispersion.py", + "source_location": "L221", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_cluster_dispersion_evaluate_cluster_dispersion", + "target": "src_scoring_cluster_dispersion_geo_bt_penalty", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/scoring/cluster_dispersion.py", + "source_location": "L222", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_cluster_dispersion_evaluate_cluster_dispersion", + "target": "src_scoring_cluster_dispersion_clusterdispersionreport", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/scoring/cluster_dispersion.py", + "source_location": "L281", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_cluster_dispersion_rationale_1", + "target": "src_scoring_cluster_dispersion", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/scoring/cluster_dispersion.py", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_cluster_dispersion_rationale_65", + "target": "src_scoring_cluster_dispersion_count_area_backtracks", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/scoring/cluster_dispersion.py", + "source_location": "L65", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_cluster_dispersion_rationale_81", + "target": "src_scoring_cluster_dispersion_count_label_backtracks", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/scoring/cluster_dispersion.py", + "source_location": "L81", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_cluster_dispersion_rationale_97", + "target": "src_scoring_cluster_dispersion_count_geo_cluster_backtracks", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/scoring/cluster_dispersion.py", + "source_location": "L97", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_cluster_dispersion_rationale_193", + "target": "src_scoring_cluster_dispersion_geo_bt_penalty", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/scoring/cluster_dispersion.py", + "source_location": "L193", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_cluster_dispersion_rationale_206", + "target": "src_scoring_cluster_dispersion_evaluate_cluster_dispersion", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/scoring/cluster_dispersion.py", + "source_location": "L206", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_congestion_engine", + "target": "unicodedata", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/scoring/congestion_engine.py", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_congestion_engine", + "target": "dataclasses", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/scoring/congestion_engine.py", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_congestion_engine", + "target": "enum", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/scoring/congestion_engine.py", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_congestion_engine", + "target": "functools", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/scoring/congestion_engine.py", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_congestion_engine", + "target": "pathlib", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/scoring/congestion_engine.py", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_congestion_engine", + "target": "typing", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/scoring/congestion_engine.py", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_congestion_engine", + "target": "pandas", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/scoring/congestion_engine.py", + "source_location": "L19", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_congestion_engine", + "target": "src_data_seoul_citydata_client", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/scoring/congestion_engine.py", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_congestion_engine", + "target": "src_scoring_congestion_engine_congestionlevel", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/scoring/congestion_engine.py", + "source_location": "L27", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_congestion_engine_congestionlevel", + "target": "str", + "relation": "inherits", + "confidence": "EXTRACTED", + "source_file": "src/scoring/congestion_engine.py", + "source_location": "L27", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_congestion_engine_congestionlevel", + "target": "enum", + "relation": "inherits", + "confidence": "EXTRACTED", + "source_file": "src/scoring/congestion_engine.py", + "source_location": "L27", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_congestion_engine", + "target": "src_scoring_congestion_engine_congestionresult", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/scoring/congestion_engine.py", + "source_location": "L35", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_congestion_engine", + "target": "src_scoring_congestion_engine_normalize", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/scoring/congestion_engine.py", + "source_location": "L45", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_congestion_engine", + "target": "src_scoring_congestion_engine_score_to_level", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/scoring/congestion_engine.py", + "source_location": "L49", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_congestion_engine_score_to_level", + "target": "src_scoring_congestion_engine_congestionlevel", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "src/scoring/congestion_engine.py", + "source_location": "L49", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_congestion_engine", + "target": "src_scoring_congestion_engine_congestionengine", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/scoring/congestion_engine.py", + "source_location": "L59", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_congestion_engine_congestionengine", + "target": "src_scoring_congestion_engine_congestionengine_init", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/scoring/congestion_engine.py", + "source_location": "L68", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_congestion_engine_congestionengine_init", + "target": "src_scoring_congestion_engine_py_path", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "src/scoring/congestion_engine.py", + "source_location": "L68", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_congestion_engine_congestionengine_init", + "target": "src_data_seoul_citydata_client_seoulcitydataclient", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "src/scoring/congestion_engine.py", + "source_location": "L68", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_congestion_engine_congestionengine", + "target": "src_scoring_congestion_engine_congestionengine_df", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/scoring/congestion_engine.py", + "source_location": "L79", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_congestion_engine_congestionengine_df", + "target": "src_scoring_congestion_engine_py_dataframe", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "src/scoring/congestion_engine.py", + "source_location": "L79", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_congestion_engine_congestionengine", + "target": "src_scoring_congestion_engine_congestionengine_poi_names", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/scoring/congestion_engine.py", + "source_location": "L90", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_congestion_engine_congestionengine", + "target": "src_scoring_congestion_engine_congestionengine_global_avg_by_month", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/scoring/congestion_engine.py", + "source_location": "L94", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_congestion_engine_congestionengine", + "target": "src_scoring_congestion_engine_congestionengine_category_avg_by_month", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/scoring/congestion_engine.py", + "source_location": "L100", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_congestion_engine_congestionengine", + "target": "src_scoring_congestion_engine_congestionengine_lookup_exact", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/scoring/congestion_engine.py", + "source_location": "L113", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_congestion_engine_congestionengine_lookup_exact", + "target": "series", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "src/scoring/congestion_engine.py", + "source_location": "L113", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_congestion_engine_congestionengine", + "target": "src_scoring_congestion_engine_congestionengine_lookup_partial", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/scoring/congestion_engine.py", + "source_location": "L119", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_congestion_engine_congestionengine_lookup_partial", + "target": "series", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/scoring/congestion_engine.py", + "source_location": "L119", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_congestion_engine_congestionengine", + "target": "src_scoring_congestion_engine_congestionengine_score", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/scoring/congestion_engine.py", + "source_location": "L130", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_congestion_engine_congestionengine_score", + "target": "src_scoring_congestion_engine_congestionresult", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "src/scoring/congestion_engine.py", + "source_location": "L130", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_congestion_engine_congestionengine", + "target": "src_scoring_congestion_engine_congestionengine_is_crowded", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/scoring/congestion_engine.py", + "source_location": "L209", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_congestion_engine_congestionengine", + "target": "src_scoring_congestion_engine_congestionengine_score_itinerary", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/scoring/congestion_engine.py", + "source_location": "L213", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_congestion_engine_congestionengine_score_itinerary", + "target": "src_scoring_congestion_engine_congestionresult", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/scoring/congestion_engine.py", + "source_location": "L213", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_congestion_engine_congestionengine_df", + "target": "src_scoring_congestion_engine_normalize", + "relation": "indirect_call", + "context": "argument", + "confidence": "INFERRED", + "source_file": "src/scoring/congestion_engine.py", + "source_location": "L86", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_congestion_engine_congestionengine_score", + "target": "src_scoring_congestion_engine_normalize", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/scoring/congestion_engine.py", + "source_location": "L145", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_congestion_engine_congestionengine_score", + "target": "src_scoring_congestion_engine_congestionresult", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/scoring/congestion_engine.py", + "source_location": "L152", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_congestion_engine_congestionengine_score", + "target": "src_scoring_congestion_engine_score_to_level", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/scoring/congestion_engine.py", + "source_location": "L155", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_congestion_engine_congestionengine_score", + "target": "src_scoring_congestion_engine_congestionengine_lookup_exact", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/scoring/congestion_engine.py", + "source_location": "L164", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_congestion_engine_congestionengine_score", + "target": "src_scoring_congestion_engine_congestionengine_lookup_partial", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/scoring/congestion_engine.py", + "source_location": "L175", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_congestion_engine_congestionengine_is_crowded", + "target": "src_scoring_congestion_engine_congestionengine_score", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/scoring/congestion_engine.py", + "source_location": "L211", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_congestion_engine_congestionengine_score_itinerary", + "target": "src_scoring_congestion_engine_congestionengine_score", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/scoring/congestion_engine.py", + "source_location": "L217", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_congestion_engine_rationale_1", + "target": "src_scoring_congestion_engine", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/scoring/congestion_engine.py", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_congestion_engine_rationale_60", + "target": "src_scoring_congestion_engine_congestionengine", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/scoring/congestion_engine.py", + "source_location": "L60", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_congestion_engine_rationale_95", + "target": "src_scoring_congestion_engine_congestionengine_global_avg_by_month", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/scoring/congestion_engine.py", + "source_location": "L95", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_congestion_engine_rationale_101", + "target": "src_scoring_congestion_engine_congestionengine_category_avg_by_month", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/scoring/congestion_engine.py", + "source_location": "L101", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_congestion_engine_rationale_131", + "target": "src_scoring_congestion_engine_congestionengine_score", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/scoring/congestion_engine.py", + "source_location": "L131", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_congestion_engine_rationale_210", + "target": "src_scoring_congestion_engine_congestionengine_is_crowded", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/scoring/congestion_engine.py", + "source_location": "L210", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_congestion_engine_rationale_216", + "target": "src_scoring_congestion_engine_congestionengine_score_itinerary", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/scoring/congestion_engine.py", + "source_location": "L216", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_reward_engine", + "target": "src_data_models", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/scoring/reward_engine.py", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_reward_engine", + "target": "src_scoring_reward_engine_generate_rewards", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/scoring/reward_engine.py", + "source_location": "L24", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_reward_engine_generate_rewards", + "target": "src_data_models_scores", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "src/scoring/reward_engine.py", + "source_location": "L24", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_reward_engine_rationale_1", + "target": "src_scoring_reward_engine", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/scoring/reward_engine.py", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_reward_engine_rationale_31", + "target": "src_scoring_reward_engine_generate_rewards", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/scoring/reward_engine.py", + "source_location": "L31", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_theme_alignment", + "target": "hashlib", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/scoring/theme_alignment.py", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_theme_alignment", + "target": "json", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/scoring/theme_alignment.py", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_theme_alignment", + "target": "os", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/scoring/theme_alignment.py", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_theme_alignment", + "target": "dataclasses", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/scoring/theme_alignment.py", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_theme_alignment", + "target": "typing", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/scoring/theme_alignment.py", + "source_location": "L19", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_theme_alignment", + "target": "src_data_models", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/scoring/theme_alignment.py", + "source_location": "L21", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_theme_alignment", + "target": "src_data_theme_taxonomy", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/scoring/theme_alignment.py", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_theme_alignment", + "target": "anthropic", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/scoring/theme_alignment.py", + "source_location": "L26", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_theme_alignment", + "target": "src_scoring_theme_alignment_poiwithcategory", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/scoring/theme_alignment.py", + "source_location": "L68", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_theme_alignment", + "target": "src_scoring_theme_alignment_themejudgment", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/scoring/theme_alignment.py", + "source_location": "L77", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_theme_alignment", + "target": "src_scoring_theme_alignment_themealignmentreport", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/scoring/theme_alignment.py", + "source_location": "L86", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_theme_alignment", + "target": "src_scoring_theme_alignment_cache_key", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/scoring/theme_alignment.py", + "source_location": "L96", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_theme_alignment_cache_key", + "target": "src_data_theme_taxonomy_userpreferences", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "src/scoring/theme_alignment.py", + "source_location": "L96", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_theme_alignment_cache_key", + "target": "src_scoring_theme_alignment_poiwithcategory", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/scoring/theme_alignment.py", + "source_location": "L96", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_theme_alignment", + "target": "src_scoring_theme_alignment_build_user_prompt", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/scoring/theme_alignment.py", + "source_location": "L107", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_theme_alignment_build_user_prompt", + "target": "src_data_theme_taxonomy_userpreferences", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "src/scoring/theme_alignment.py", + "source_location": "L107", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_theme_alignment_build_user_prompt", + "target": "src_scoring_theme_alignment_poiwithcategory", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/scoring/theme_alignment.py", + "source_location": "L107", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_theme_alignment", + "target": "src_scoring_theme_alignment_classify_score", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/scoring/theme_alignment.py", + "source_location": "L132", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_theme_alignment", + "target": "src_scoring_theme_alignment_parse_llm_response", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/scoring/theme_alignment.py", + "source_location": "L143", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_theme_alignment_parse_llm_response", + "target": "src_scoring_theme_alignment_themejudgment", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "src/scoring/theme_alignment.py", + "source_location": "L143", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_theme_alignment", + "target": "src_scoring_theme_alignment_themealignmentjudge", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/scoring/theme_alignment.py", + "source_location": "L163", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_theme_alignment_themealignmentjudge", + "target": "src_scoring_theme_alignment_themealignmentjudge_init", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/scoring/theme_alignment.py", + "source_location": "L171", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_theme_alignment_themealignmentjudge_init", + "target": "src_scoring_theme_alignment_py_any", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "src/scoring/theme_alignment.py", + "source_location": "L171", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_theme_alignment_themealignmentjudge", + "target": "src_scoring_theme_alignment_themealignmentjudge_is_available", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/scoring/theme_alignment.py", + "source_location": "L187", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_theme_alignment_themealignmentjudge", + "target": "src_scoring_theme_alignment_themealignmentjudge_evaluate", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/scoring/theme_alignment.py", + "source_location": "L191", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_theme_alignment_themealignmentjudge_evaluate", + "target": "src_data_theme_taxonomy_userpreferences", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "src/scoring/theme_alignment.py", + "source_location": "L191", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_theme_alignment_themealignmentjudge_evaluate", + "target": "src_scoring_theme_alignment_poiwithcategory", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/scoring/theme_alignment.py", + "source_location": "L191", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_theme_alignment_themealignmentjudge_evaluate", + "target": "src_scoring_theme_alignment_themealignmentreport", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "src/scoring/theme_alignment.py", + "source_location": "L191", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_theme_alignment_themealignmentjudge", + "target": "src_scoring_theme_alignment_themealignmentjudge_call_llm", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/scoring/theme_alignment.py", + "source_location": "L261", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_theme_alignment_themealignmentjudge_call_llm", + "target": "src_data_theme_taxonomy_userpreferences", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "src/scoring/theme_alignment.py", + "source_location": "L261", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_theme_alignment_themealignmentjudge_call_llm", + "target": "src_scoring_theme_alignment_poiwithcategory", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/scoring/theme_alignment.py", + "source_location": "L261", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_theme_alignment_themealignmentjudge_call_llm", + "target": "src_scoring_theme_alignment_themejudgment", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "src/scoring/theme_alignment.py", + "source_location": "L261", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_theme_alignment_parse_llm_response", + "target": "src_scoring_theme_alignment_themejudgment", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/scoring/theme_alignment.py", + "source_location": "L155", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_theme_alignment_themealignmentjudge_evaluate", + "target": "src_scoring_theme_alignment_themealignmentjudge_is_available", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/scoring/theme_alignment.py", + "source_location": "L198", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_theme_alignment_themealignmentjudge_evaluate", + "target": "src_scoring_theme_alignment_themealignmentreport", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/scoring/theme_alignment.py", + "source_location": "L203", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_theme_alignment_themealignmentjudge_evaluate", + "target": "src_scoring_theme_alignment_cache_key", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/scoring/theme_alignment.py", + "source_location": "L215", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_theme_alignment_themealignmentjudge_evaluate", + "target": "src_scoring_theme_alignment_themealignmentjudge_call_llm", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/scoring/theme_alignment.py", + "source_location": "L220", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_theme_alignment_themealignmentjudge_evaluate", + "target": "src_scoring_theme_alignment_classify_score", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/scoring/theme_alignment.py", + "source_location": "L235", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_theme_alignment_themealignmentjudge_call_llm", + "target": "src_scoring_theme_alignment_build_user_prompt", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/scoring/theme_alignment.py", + "source_location": "L267", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_theme_alignment_themealignmentjudge_call_llm", + "target": "src_scoring_theme_alignment_parse_llm_response", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/scoring/theme_alignment.py", + "source_location": "L285", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_theme_alignment_rationale_1", + "target": "src_scoring_theme_alignment", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/scoring/theme_alignment.py", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_theme_alignment_rationale_69", + "target": "src_scoring_theme_alignment_poiwithcategory", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/scoring/theme_alignment.py", + "source_location": "L69", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_theme_alignment_rationale_97", + "target": "src_scoring_theme_alignment_cache_key", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/scoring/theme_alignment.py", + "source_location": "L97", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_theme_alignment_rationale_111", + "target": "src_scoring_theme_alignment_build_user_prompt", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/scoring/theme_alignment.py", + "source_location": "L111", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_theme_alignment_rationale_133", + "target": "src_scoring_theme_alignment_classify_score", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/scoring/theme_alignment.py", + "source_location": "L133", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_theme_alignment_rationale_144", + "target": "src_scoring_theme_alignment_parse_llm_response", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/scoring/theme_alignment.py", + "source_location": "L144", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_theme_alignment_rationale_164", + "target": "src_scoring_theme_alignment_themealignmentjudge", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/scoring/theme_alignment.py", + "source_location": "L164", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_theme_alignment_rationale_188", + "target": "src_scoring_theme_alignment_themealignmentjudge_is_available", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/scoring/theme_alignment.py", + "source_location": "L188", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_travel_ratio", + "target": "dataclasses", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/scoring/travel_ratio.py", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_travel_ratio", + "target": "src_data_models", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/scoring/travel_ratio.py", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_travel_ratio", + "target": "src_validation_vrptw_engine", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/scoring/travel_ratio.py", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_travel_ratio", + "target": "src_scoring_travel_ratio_dayratiometric", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/scoring/travel_ratio.py", + "source_location": "L28", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_travel_ratio", + "target": "src_scoring_travel_ratio_travelratioreport", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/scoring/travel_ratio.py", + "source_location": "L37", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_travel_ratio", + "target": "src_scoring_travel_ratio_compute_day_metric", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/scoring/travel_ratio.py", + "source_location": "L45", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_travel_ratio_compute_day_metric", + "target": "src_data_models_vrptwplace", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/scoring/travel_ratio.py", + "source_location": "L45", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_travel_ratio_compute_day_metric", + "target": "src_validation_vrptw_engine_timematrix", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "src/scoring/travel_ratio.py", + "source_location": "L45", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_travel_ratio_compute_day_metric", + "target": "src_scoring_travel_ratio_dayratiometric", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "src/scoring/travel_ratio.py", + "source_location": "L45", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_travel_ratio", + "target": "src_scoring_travel_ratio_classify_ratio", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/scoring/travel_ratio.py", + "source_location": "L70", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_travel_ratio", + "target": "src_scoring_travel_ratio_evaluate_travel_ratio", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/scoring/travel_ratio.py", + "source_location": "L81", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_travel_ratio_evaluate_travel_ratio", + "target": "src_data_models_vrptwday", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/scoring/travel_ratio.py", + "source_location": "L81", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_travel_ratio_evaluate_travel_ratio", + "target": "src_validation_vrptw_engine_timematrix", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "src/scoring/travel_ratio.py", + "source_location": "L81", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_travel_ratio_evaluate_travel_ratio", + "target": "src_scoring_travel_ratio_travelratioreport", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "src/scoring/travel_ratio.py", + "source_location": "L81", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_travel_ratio_compute_day_metric", + "target": "src_scoring_travel_ratio_dayratiometric", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/scoring/travel_ratio.py", + "source_location": "L62", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_travel_ratio_evaluate_travel_ratio", + "target": "src_scoring_travel_ratio_compute_day_metric", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/scoring/travel_ratio.py", + "source_location": "L95", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_travel_ratio_evaluate_travel_ratio", + "target": "src_scoring_travel_ratio_classify_ratio", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/scoring/travel_ratio.py", + "source_location": "L100", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_travel_ratio_evaluate_travel_ratio", + "target": "src_scoring_travel_ratio_travelratioreport", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/scoring/travel_ratio.py", + "source_location": "L121", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_travel_ratio_rationale_1", + "target": "src_scoring_travel_ratio", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/scoring/travel_ratio.py", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_travel_ratio_rationale_50", + "target": "src_scoring_travel_ratio_compute_day_metric", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/scoring/travel_ratio.py", + "source_location": "L50", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_travel_ratio_rationale_71", + "target": "src_scoring_travel_ratio_classify_ratio", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/scoring/travel_ratio.py", + "source_location": "L71", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_travel_ratio_rationale_85", + "target": "src_scoring_travel_ratio_evaluate_travel_ratio", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/scoring/travel_ratio.py", + "source_location": "L85", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_utils_geo", + "target": "math", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/utils/geo.py", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_utils_geo", + "target": "src_utils_geo_haversine_km", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/utils/geo.py", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_utils_geo", + "target": "src_utils_geo_build_dist_cache", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/utils/geo.py", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_utils_geo", + "target": "src_utils_geo_nn_heuristic_km", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/utils/geo.py", + "source_location": "L36", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_utils_geo", + "target": "src_utils_geo_get_travel_min", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/utils/geo.py", + "source_location": "L72", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_utils_geo_build_dist_cache", + "target": "src_utils_geo_haversine_km", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/utils/geo.py", + "source_location": "L30", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_utils_geo_nn_heuristic_km", + "target": "src_utils_geo_haversine_km", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/utils/geo.py", + "source_location": "L57", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_utils_geo_get_travel_min", + "target": "src_utils_geo_haversine_km", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/utils/geo.py", + "source_location": "L89", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_utils_geo_rationale_1", + "target": "src_utils_geo", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/utils/geo.py", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_utils_geo_rationale_11", + "target": "src_utils_geo_haversine_km", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/utils/geo.py", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_utils_geo_rationale_21", + "target": "src_utils_geo_build_dist_cache", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/utils/geo.py", + "source_location": "L21", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_utils_geo_rationale_40", + "target": "src_utils_geo_nn_heuristic_km", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/utils/geo.py", + "source_location": "L40", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_utils_geo_rationale_80", + "target": "src_utils_geo_get_travel_min", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/utils/geo.py", + "source_location": "L80", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_alternatives", + "target": "math", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/validation/alternatives.py", + "source_location": "L23", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_alternatives", + "target": "typing", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/validation/alternatives.py", + "source_location": "L24", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_alternatives", + "target": "src_data_models", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/validation/alternatives.py", + "source_location": "L26", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_alternatives", + "target": "src_validation_alternatives_haversine_km", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/validation/alternatives.py", + "source_location": "L32", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_alternatives", + "target": "src_validation_alternatives_alternativesfinder", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/validation/alternatives.py", + "source_location": "L40", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_alternatives_alternativesfinder", + "target": "src_validation_alternatives_alternativesfinder_init", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/validation/alternatives.py", + "source_location": "L49", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_alternatives_alternativesfinder_init", + "target": "src_data_models_poi", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/validation/alternatives.py", + "source_location": "L49", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_alternatives_alternativesfinder", + "target": "src_validation_alternatives_alternativesfinder_find_alternatives", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/validation/alternatives.py", + "source_location": "L59", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_alternatives_alternativesfinder_find_alternatives", + "target": "src_data_models_poi", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "src/validation/alternatives.py", + "source_location": "L59", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_alternatives_alternativesfinder_find_alternatives", + "target": "src_data_models_alternativepoi", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/validation/alternatives.py", + "source_location": "L59", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_alternatives_alternativesfinder", + "target": "src_validation_alternatives_alternativesfinder_build_alternatives_map", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/validation/alternatives.py", + "source_location": "L92", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_alternatives_alternativesfinder_build_alternatives_map", + "target": "src_data_models_hardfail", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/validation/alternatives.py", + "source_location": "L92", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_alternatives_alternativesfinder_build_alternatives_map", + "target": "src_data_models_poi", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/validation/alternatives.py", + "source_location": "L92", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_alternatives_alternativesfinder_build_alternatives_map", + "target": "src_data_models_alternativepoi", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/validation/alternatives.py", + "source_location": "L92", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_alternatives_alternativesfinder_find_alternatives", + "target": "src_validation_alternatives_haversine_km", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/validation/alternatives.py", + "source_location": "L74", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_alternatives_alternativesfinder_find_alternatives", + "target": "src_data_models_alternativepoi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/validation/alternatives.py", + "source_location": "L82", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_alternatives_alternativesfinder_build_alternatives_map", + "target": "src_validation_alternatives_alternativesfinder_find_alternatives", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/validation/alternatives.py", + "source_location": "L117", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_alternatives_rationale_1", + "target": "src_validation_alternatives", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/validation/alternatives.py", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_alternatives_rationale_41", + "target": "src_validation_alternatives_alternativesfinder", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/validation/alternatives.py", + "source_location": "L41", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_alternatives_rationale_64", + "target": "src_validation_alternatives_alternativesfinder_find_alternatives", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/validation/alternatives.py", + "source_location": "L64", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_alternatives_rationale_98", + "target": "src_validation_alternatives_alternativesfinder_build_alternatives_map", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/validation/alternatives.py", + "source_location": "L98", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_hard_fail", + "target": "src_data_models", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/validation/hard_fail.py", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_hard_fail", + "target": "src_utils_geo", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/validation/hard_fail.py", + "source_location": "L5", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_hard_fail", + "target": "src_validation_hard_fail_hardfaildetector", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/validation/hard_fail.py", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_hard_fail_hardfaildetector", + "target": "src_validation_hard_fail_hardfaildetector_detect", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/validation/hard_fail.py", + "source_location": "L24", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_hard_fail_hardfaildetector_detect", + "target": "src_data_models_itineraryplan", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "src/validation/hard_fail.py", + "source_location": "L24", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_hard_fail_hardfaildetector_detect", + "target": "src_data_models_poi", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/validation/hard_fail.py", + "source_location": "L24", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_hard_fail_hardfaildetector_detect", + "target": "src_data_models_hardfail", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/validation/hard_fail.py", + "source_location": "L24", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_hard_fail_hardfaildetector", + "target": "src_validation_hard_fail_hardfaildetector_check_operating_hours", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/validation/hard_fail.py", + "source_location": "L48", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_hard_fail_hardfaildetector_check_operating_hours", + "target": "src_data_models_poi", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/validation/hard_fail.py", + "source_location": "L48", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_hard_fail_hardfaildetector_check_operating_hours", + "target": "src_data_models_hardfail", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/validation/hard_fail.py", + "source_location": "L48", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_hard_fail_hardfaildetector", + "target": "src_validation_hard_fail_hardfaildetector_check_travel_impossible", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/validation/hard_fail.py", + "source_location": "L110", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_hard_fail_hardfaildetector_check_travel_impossible", + "target": "src_data_models_poi", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/validation/hard_fail.py", + "source_location": "L110", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_hard_fail_hardfaildetector_check_travel_impossible", + "target": "src_data_models_hardfail", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/validation/hard_fail.py", + "source_location": "L110", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_hard_fail_hardfaildetector", + "target": "src_validation_hard_fail_hardfaildetector_check_schedule_infeasible", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/validation/hard_fail.py", + "source_location": "L157", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_hard_fail_hardfaildetector_check_schedule_infeasible", + "target": "src_data_models_poi", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/validation/hard_fail.py", + "source_location": "L157", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_hard_fail_hardfaildetector_check_schedule_infeasible", + "target": "src_data_models_hardfail", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/validation/hard_fail.py", + "source_location": "L157", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_hard_fail_hardfaildetector", + "target": "src_validation_hard_fail_hardfaildetector_time_to_min", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/validation/hard_fail.py", + "source_location": "L188", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_hard_fail_hardfaildetector", + "target": "src_validation_hard_fail_hardfaildetector_min_to_time", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/validation/hard_fail.py", + "source_location": "L193", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_hard_fail_hardfaildetector_detect", + "target": "src_validation_hard_fail_hardfaildetector_check_operating_hours", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/validation/hard_fail.py", + "source_location": "L40", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_hard_fail_hardfaildetector_detect", + "target": "src_validation_hard_fail_hardfaildetector_check_travel_impossible", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/validation/hard_fail.py", + "source_location": "L41", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_hard_fail_hardfaildetector_detect", + "target": "src_validation_hard_fail_hardfaildetector_check_schedule_infeasible", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/validation/hard_fail.py", + "source_location": "L42", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_hard_fail_hardfaildetector_check_operating_hours", + "target": "src_validation_hard_fail_hardfaildetector_time_to_min", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/validation/hard_fail.py", + "source_location": "L66", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_hard_fail_hardfaildetector_check_operating_hours", + "target": "src_data_models_hardfail", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/validation/hard_fail.py", + "source_location": "L81", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_hard_fail_hardfaildetector_check_operating_hours", + "target": "src_validation_hard_fail_hardfaildetector_min_to_time", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/validation/hard_fail.py", + "source_location": "L84", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_hard_fail_hardfaildetector_check_travel_impossible", + "target": "src_validation_hard_fail_hardfaildetector_time_to_min", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/validation/hard_fail.py", + "source_location": "L123", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_hard_fail_hardfaildetector_check_travel_impossible", + "target": "src_data_models_hardfail", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/validation/hard_fail.py", + "source_location": "L137", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_hard_fail_hardfaildetector_check_travel_impossible", + "target": "src_validation_hard_fail_hardfaildetector_min_to_time", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/validation/hard_fail.py", + "source_location": "L145", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_hard_fail_hardfaildetector_check_schedule_infeasible", + "target": "src_data_models_hardfail", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/validation/hard_fail.py", + "source_location": "L173", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_hard_fail_rationale_1", + "target": "src_validation_hard_fail", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/validation/hard_fail.py", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_hard_fail_rationale_17", + "target": "src_validation_hard_fail_hardfaildetector", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/validation/hard_fail.py", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_hard_fail_rationale_33", + "target": "src_validation_hard_fail_hardfaildetector_detect", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/validation/hard_fail.py", + "source_location": "L33", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_hard_fail_rationale_56", + "target": "src_validation_hard_fail_hardfaildetector_check_operating_hours", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/validation/hard_fail.py", + "source_location": "L56", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_hard_fail_rationale_118", + "target": "src_validation_hard_fail_hardfaildetector_check_travel_impossible", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/validation/hard_fail.py", + "source_location": "L118", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_hard_fail_rationale_164", + "target": "src_validation_hard_fail_hardfaildetector_check_schedule_infeasible", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/validation/hard_fail.py", + "source_location": "L164", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_kakao_matrix", + "target": "asyncio", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/validation/kakao_matrix.py", + "source_location": "L26", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_kakao_matrix", + "target": "json", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/validation/kakao_matrix.py", + "source_location": "L27", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_kakao_matrix", + "target": "os", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/validation/kakao_matrix.py", + "source_location": "L28", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_kakao_matrix", + "target": "time", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/validation/kakao_matrix.py", + "source_location": "L29", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_kakao_matrix", + "target": "pathlib", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/validation/kakao_matrix.py", + "source_location": "L30", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_kakao_matrix", + "target": "typing", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/validation/kakao_matrix.py", + "source_location": "L31", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_kakao_matrix", + "target": "httpx", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/validation/kakao_matrix.py", + "source_location": "L33", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_kakao_matrix", + "target": "src_data_models", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/validation/kakao_matrix.py", + "source_location": "L35", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_kakao_matrix", + "target": "src_validation_vrptw_engine", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/validation/kakao_matrix.py", + "source_location": "L36", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_kakao_matrix", + "target": "src_validation_kakao_matrix_kakaomobilitymatrix", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/validation/kakao_matrix.py", + "source_location": "L47", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_kakao_matrix_kakaomobilitymatrix", + "target": "src_validation_vrptw_engine_timematrix", + "relation": "inherits", + "confidence": "EXTRACTED", + "source_file": "src/validation/kakao_matrix.py", + "source_location": "L47", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_kakao_matrix_kakaomobilitymatrix", + "target": "src_validation_kakao_matrix_kakaomobilitymatrix_init", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/validation/kakao_matrix.py", + "source_location": "L58", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_kakao_matrix_kakaomobilitymatrix_init", + "target": "src_validation_kakao_matrix_py_path", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "src/validation/kakao_matrix.py", + "source_location": "L58", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_kakao_matrix_kakaomobilitymatrix", + "target": "src_validation_kakao_matrix_kakaomobilitymatrix_from_env", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/validation/kakao_matrix.py", + "source_location": "L89", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_kakao_matrix_kakaomobilitymatrix_from_env", + "target": "src_validation_kakao_matrix_py_path", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "src/validation/kakao_matrix.py", + "source_location": "L89", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_kakao_matrix_kakaomobilitymatrix_from_env", + "target": "src_validation_kakao_matrix_py_any", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "src/validation/kakao_matrix.py", + "source_location": "L89", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_kakao_matrix_kakaomobilitymatrix", + "target": "src_validation_kakao_matrix_kakaomobilitymatrix_load_dotenv", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/validation/kakao_matrix.py", + "source_location": "L111", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_kakao_matrix_kakaomobilitymatrix_load_dotenv", + "target": "src_validation_kakao_matrix_py_path", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "src/validation/kakao_matrix.py", + "source_location": "L111", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_kakao_matrix_kakaomobilitymatrix", + "target": "src_validation_kakao_matrix_kakaomobilitymatrix_get_travel_time", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/validation/kakao_matrix.py", + "source_location": "L121", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_kakao_matrix_kakaomobilitymatrix_get_travel_time", + "target": "src_data_models_vrptwplace", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "src/validation/kakao_matrix.py", + "source_location": "L121", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_kakao_matrix_kakaomobilitymatrix", + "target": "src_validation_kakao_matrix_kakaomobilitymatrix_aprefetch_matrix", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/validation/kakao_matrix.py", + "source_location": "L139", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_kakao_matrix_kakaomobilitymatrix_aprefetch_matrix", + "target": "src_data_models_vrptwplace", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/validation/kakao_matrix.py", + "source_location": "L139", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_kakao_matrix_kakaomobilitymatrix", + "target": "src_validation_kakao_matrix_kakaomobilitymatrix_acall_kakao", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/validation/kakao_matrix.py", + "source_location": "L177", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_kakao_matrix_kakaomobilitymatrix_acall_kakao", + "target": "src_data_models_vrptwplace", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "src/validation/kakao_matrix.py", + "source_location": "L177", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_kakao_matrix_kakaomobilitymatrix", + "target": "src_validation_kakao_matrix_kakaomobilitymatrix_call_kakao_sync", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/validation/kakao_matrix.py", + "source_location": "L212", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_kakao_matrix_kakaomobilitymatrix_call_kakao_sync", + "target": "src_data_models_vrptwplace", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "src/validation/kakao_matrix.py", + "source_location": "L212", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_kakao_matrix_kakaomobilitymatrix", + "target": "src_validation_kakao_matrix_kakaomobilitymatrix_parse_duration", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/validation/kakao_matrix.py", + "source_location": "L265", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_kakao_matrix_kakaomobilitymatrix", + "target": "src_validation_kakao_matrix_kakaomobilitymatrix_make_key", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/validation/kakao_matrix.py", + "source_location": "L278", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_kakao_matrix_kakaomobilitymatrix_make_key", + "target": "src_data_models_vrptwplace", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "src/validation/kakao_matrix.py", + "source_location": "L278", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_kakao_matrix_kakaomobilitymatrix", + "target": "src_validation_kakao_matrix_kakaomobilitymatrix_load_cache", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/validation/kakao_matrix.py", + "source_location": "L284", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_kakao_matrix_kakaomobilitymatrix", + "target": "src_validation_kakao_matrix_kakaomobilitymatrix_maybe_save_cache", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/validation/kakao_matrix.py", + "source_location": "L294", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_kakao_matrix_kakaomobilitymatrix", + "target": "src_validation_kakao_matrix_kakaomobilitymatrix_save_cache", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/validation/kakao_matrix.py", + "source_location": "L299", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_kakao_matrix_kakaomobilitymatrix", + "target": "src_validation_kakao_matrix_kakaomobilitymatrix_stats", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/validation/kakao_matrix.py", + "source_location": "L310", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_kakao_matrix_kakaomobilitymatrix", + "target": "src_validation_kakao_matrix_kakaomobilitymatrix_cache_size", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/validation/kakao_matrix.py", + "source_location": "L314", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_kakao_matrix_kakaomobilitymatrix", + "target": "src_validation_kakao_matrix_kakaomobilitymatrix_is_quota_exhausted", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/validation/kakao_matrix.py", + "source_location": "L318", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_kakao_matrix_kakaomobilitymatrix_init", + "target": "src_validation_kakao_matrix_py_path", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/validation/kakao_matrix.py", + "source_location": "L73", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_kakao_matrix_kakaomobilitymatrix_init", + "target": "src_validation_kakao_matrix_kakaomobilitymatrix_load_cache", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/validation/kakao_matrix.py", + "source_location": "L79", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_kakao_matrix_kakaomobilitymatrix_from_env", + "target": "src_validation_kakao_matrix_kakaomobilitymatrix_load_dotenv", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/validation/kakao_matrix.py", + "source_location": "L97", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_kakao_matrix_kakaomobilitymatrix_from_env", + "target": "src_validation_kakao_matrix_py_path", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/validation/kakao_matrix.py", + "source_location": "L97", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_kakao_matrix_kakaomobilitymatrix_get_travel_time", + "target": "src_validation_kakao_matrix_kakaomobilitymatrix_make_key", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/validation/kakao_matrix.py", + "source_location": "L126", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_kakao_matrix_kakaomobilitymatrix_aprefetch_matrix", + "target": "src_validation_kakao_matrix_kakaomobilitymatrix_save_cache", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/validation/kakao_matrix.py", + "source_location": "L174", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_kakao_matrix_kakaomobilitymatrix_acall_kakao", + "target": "src_validation_kakao_matrix_kakaomobilitymatrix_parse_duration", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/validation/kakao_matrix.py", + "source_location": "L194", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_kakao_matrix_kakaomobilitymatrix_call_kakao_sync", + "target": "src_validation_kakao_matrix_kakaomobilitymatrix_make_key", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/validation/kakao_matrix.py", + "source_location": "L219", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_kakao_matrix_kakaomobilitymatrix_call_kakao_sync", + "target": "src_validation_kakao_matrix_kakaomobilitymatrix_parse_duration", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/validation/kakao_matrix.py", + "source_location": "L242", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_kakao_matrix_kakaomobilitymatrix_call_kakao_sync", + "target": "src_validation_kakao_matrix_kakaomobilitymatrix_maybe_save_cache", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/validation/kakao_matrix.py", + "source_location": "L246", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_kakao_matrix_kakaomobilitymatrix_maybe_save_cache", + "target": "src_validation_kakao_matrix_kakaomobilitymatrix_save_cache", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/validation/kakao_matrix.py", + "source_location": "L297", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_kakao_matrix_rationale_1", + "target": "src_validation_kakao_matrix", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/validation/kakao_matrix.py", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_kakao_matrix_rationale_48", + "target": "src_validation_kakao_matrix_kakaomobilitymatrix", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/validation/kakao_matrix.py", + "source_location": "L48", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_kakao_matrix_rationale_95", + "target": "src_validation_kakao_matrix_kakaomobilitymatrix_from_env", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/validation/kakao_matrix.py", + "source_location": "L95", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_kakao_matrix_rationale_122", + "target": "src_validation_kakao_matrix_kakaomobilitymatrix_get_travel_time", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/validation/kakao_matrix.py", + "source_location": "L122", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_kakao_matrix_rationale_144", + "target": "src_validation_kakao_matrix_kakaomobilitymatrix_aprefetch_matrix", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/validation/kakao_matrix.py", + "source_location": "L144", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_kakao_matrix_rationale_180", + "target": "src_validation_kakao_matrix_kakaomobilitymatrix_acall_kakao", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/validation/kakao_matrix.py", + "source_location": "L180", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_kakao_matrix_rationale_215", + "target": "src_validation_kakao_matrix_kakaomobilitymatrix_call_kakao_sync", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/validation/kakao_matrix.py", + "source_location": "L215", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_scoring", + "target": "src_data_models", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/validation/scoring.py", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_scoring", + "target": "src_data_party_config", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/validation/scoring.py", + "source_location": "L5", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_scoring", + "target": "src_utils_geo", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/validation/scoring.py", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_scoring", + "target": "src_validation_warning", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/validation/scoring.py", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_scoring", + "target": "src_validation_scoring_scorecalculator", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/validation/scoring.py", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_scoring_scorecalculator", + "target": "src_validation_scoring_scorecalculator_compute", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/validation/scoring.py", + "source_location": "L23", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_scoring_scorecalculator_compute", + "target": "src_data_models_itineraryplan", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "src/validation/scoring.py", + "source_location": "L23", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_scoring_scorecalculator_compute", + "target": "src_data_models_poi", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/validation/scoring.py", + "source_location": "L23", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_scoring_scorecalculator_compute", + "target": "src_data_models_hardfail", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/validation/scoring.py", + "source_location": "L23", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_scoring_scorecalculator_compute", + "target": "src_data_models_scores", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/validation/scoring.py", + "source_location": "L23", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_scoring_scorecalculator", + "target": "src_validation_scoring_scorecalculator_cosine_distance", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/validation/scoring.py", + "source_location": "L59", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_scoring_scorecalculator", + "target": "src_validation_scoring_scorecalculator_calc_efficiency", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/validation/scoring.py", + "source_location": "L63", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_scoring_scorecalculator_calc_efficiency", + "target": "src_data_models_poi", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/validation/scoring.py", + "source_location": "L63", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_scoring_scorecalculator", + "target": "src_validation_scoring_scorecalculator_calc_feasibility", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/validation/scoring.py", + "source_location": "L79", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_scoring_scorecalculator_calc_feasibility", + "target": "src_data_models_itineraryplan", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "src/validation/scoring.py", + "source_location": "L79", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_scoring_scorecalculator_calc_feasibility", + "target": "src_data_models_poi", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/validation/scoring.py", + "source_location": "L79", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_scoring_scorecalculator_calc_feasibility", + "target": "src_data_models_hardfail", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/validation/scoring.py", + "source_location": "L79", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_scoring_scorecalculator", + "target": "src_validation_scoring_scorecalculator_calc_purpose_fit", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/validation/scoring.py", + "source_location": "L113", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_scoring_scorecalculator_calc_purpose_fit", + "target": "src_data_models_itineraryplan", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "src/validation/scoring.py", + "source_location": "L113", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_scoring_scorecalculator_calc_purpose_fit", + "target": "src_data_models_poi", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/validation/scoring.py", + "source_location": "L113", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_scoring_scorecalculator", + "target": "src_validation_scoring_scorecalculator_calc_flow", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/validation/scoring.py", + "source_location": "L132", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_scoring_scorecalculator_calc_flow", + "target": "src_data_models_poi", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/validation/scoring.py", + "source_location": "L132", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_scoring_scorecalculator", + "target": "src_validation_scoring_scorecalculator_calc_area_intensity", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/validation/scoring.py", + "source_location": "L169", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_scoring_scorecalculator_calc_area_intensity", + "target": "src_data_models_poi", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/validation/scoring.py", + "source_location": "L169", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_scoring_scorecalculator_compute", + "target": "src_validation_scoring_scorecalculator_calc_efficiency", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/validation/scoring.py", + "source_location": "L37", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_scoring_scorecalculator_compute", + "target": "src_validation_scoring_scorecalculator_calc_feasibility", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/validation/scoring.py", + "source_location": "L38", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_scoring_scorecalculator_compute", + "target": "src_validation_scoring_scorecalculator_calc_purpose_fit", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/validation/scoring.py", + "source_location": "L39", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_scoring_scorecalculator_compute", + "target": "src_validation_scoring_scorecalculator_calc_flow", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/validation/scoring.py", + "source_location": "L40", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_scoring_scorecalculator_compute", + "target": "src_validation_scoring_scorecalculator_calc_area_intensity", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/validation/scoring.py", + "source_location": "L41", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_scoring_scorecalculator_compute", + "target": "src_data_models_scores", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/validation/scoring.py", + "source_location": "L43", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_scoring_scorecalculator_calc_purpose_fit", + "target": "src_validation_scoring_scorecalculator_cosine_distance", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/validation/scoring.py", + "source_location": "L130", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_scoring_rationale_21", + "target": "src_validation_scoring_scorecalculator", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/validation/scoring.py", + "source_location": "L21", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_scoring_rationale_30", + "target": "src_validation_scoring_scorecalculator_compute", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/validation/scoring.py", + "source_location": "L30", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_scoring_rationale_60", + "target": "src_validation_scoring_scorecalculator_cosine_distance", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/validation/scoring.py", + "source_location": "L60", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_scoring_rationale_68", + "target": "src_validation_scoring_scorecalculator_calc_efficiency", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/validation/scoring.py", + "source_location": "L68", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_scoring_rationale_87", + "target": "src_validation_scoring_scorecalculator_calc_feasibility", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/validation/scoring.py", + "source_location": "L87", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_scoring_rationale_114", + "target": "src_validation_scoring_scorecalculator_calc_purpose_fit", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/validation/scoring.py", + "source_location": "L114", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_scoring_rationale_137", + "target": "src_validation_scoring_scorecalculator_calc_flow", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/validation/scoring.py", + "source_location": "L137", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_scoring_rationale_170", + "target": "src_validation_scoring_scorecalculator_calc_area_intensity", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/validation/scoring.py", + "source_location": "L170", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine", + "target": "json", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine", + "target": "math", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine", + "target": "abc", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine", + "target": "dataclasses", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine", + "target": "pathlib", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine", + "target": "typing", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine", + "target": "src_data_models", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine", + "target": "ortools_constraint_solver", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L45", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine", + "target": "src_validation_vrptw_engine_timematrix", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L55", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_timematrix", + "target": "abc", + "relation": "inherits", + "confidence": "EXTRACTED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L55", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_timematrix", + "target": "src_validation_vrptw_engine_timematrix_get_travel_time", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L59", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_timematrix_get_travel_time", + "target": "src_data_models_vrptwplace", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L59", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine", + "target": "src_validation_vrptw_engine_haversinematrix", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L63", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_haversinematrix", + "target": "src_validation_vrptw_engine_timematrix", + "relation": "inherits", + "confidence": "EXTRACTED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L63", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_haversinematrix", + "target": "src_validation_vrptw_engine_haversinematrix_effective_speed", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L80", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_haversinematrix", + "target": "src_validation_vrptw_engine_haversinematrix_get_travel_time", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L86", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_haversinematrix_get_travel_time", + "target": "src_data_models_vrptwplace", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L86", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine", + "target": "src_validation_vrptw_engine_cachedroutematrix", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L91", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_cachedroutematrix", + "target": "src_validation_vrptw_engine_timematrix", + "relation": "inherits", + "confidence": "EXTRACTED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L91", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_cachedroutematrix", + "target": "src_validation_vrptw_engine_cachedroutematrix_init", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L98", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_cachedroutematrix", + "target": "src_validation_vrptw_engine_cachedroutematrix_from_file", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L112", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_cachedroutematrix_from_file", + "target": "src_validation_vrptw_engine_py_path", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L112", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_cachedroutematrix", + "target": "src_validation_vrptw_engine_cachedroutematrix_get_travel_time", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L117", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_cachedroutematrix_get_travel_time", + "target": "src_data_models_vrptwplace", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L117", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine", + "target": "src_validation_vrptw_engine_haversine_m", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L130", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine", + "target": "src_validation_vrptw_engine_simresult", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L144", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine", + "target": "src_validation_vrptw_engine_minutes_to_hhmm", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L151", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine", + "target": "src_validation_vrptw_engine_simulate_day", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L156", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_simulate_day", + "target": "src_data_models_vrptwplace", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L156", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_simulate_day", + "target": "src_validation_vrptw_engine_timematrix", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L156", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_simulate_day", + "target": "src_validation_vrptw_engine_simresult", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L156", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine", + "target": "src_validation_vrptw_engine_compute_day_total_minutes", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L216", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_compute_day_total_minutes", + "target": "src_data_models_vrptwplace", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L216", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_compute_day_total_minutes", + "target": "src_validation_vrptw_engine_timematrix", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L216", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine", + "target": "src_validation_vrptw_engine_solve_vrptw_ortools", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L244", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_solve_vrptw_ortools", + "target": "src_data_models_vrptwplace", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L244", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_solve_vrptw_ortools", + "target": "src_validation_vrptw_engine_timematrix", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L244", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine", + "target": "src_validation_vrptw_engine_check_depot_constraints", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L317", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_check_depot_constraints", + "target": "src_data_models_vrptwday", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L317", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_check_depot_constraints", + "target": "src_data_models_deepdiveitem", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L317", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine", + "target": "src_validation_vrptw_engine_vrptwengine", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L378", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_vrptwengine", + "target": "src_validation_vrptw_engine_vrptwengine_init", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L385", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_vrptwengine_init", + "target": "src_validation_vrptw_engine_timematrix", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L385", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_vrptwengine", + "target": "src_validation_vrptw_engine_vrptwengine_validate", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L396", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_vrptwengine_validate", + "target": "src_data_models_vrptwrequest", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L396", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_vrptwengine_validate", + "target": "src_data_models_vrptwresult", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L396", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_vrptwengine", + "target": "src_validation_vrptw_engine_vrptwengine_compute_risk_score", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L494", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_vrptwengine_compute_risk_score", + "target": "src_data_models_deepdiveitem", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L494", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_vrptwengine_compute_risk_score", + "target": "src_data_models_vrptwday", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L494", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_haversinematrix_get_travel_time", + "target": "src_validation_vrptw_engine_haversine_m", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L87", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_haversinematrix_get_travel_time", + "target": "src_validation_vrptw_engine_haversinematrix_effective_speed", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L88", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_cachedroutematrix_init", + "target": "src_validation_vrptw_engine_haversinematrix", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L109", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_simulate_day", + "target": "src_validation_vrptw_engine_cachedroutematrix_get_travel_time", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L172", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_simulate_day", + "target": "src_data_models_deepdiveitem", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L180", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_simulate_day", + "target": "src_validation_vrptw_engine_minutes_to_hhmm", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L182", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_simulate_day", + "target": "src_validation_vrptw_engine_simresult", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L209", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_compute_day_total_minutes", + "target": "src_validation_vrptw_engine_cachedroutematrix_get_travel_time", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L231", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_solve_vrptw_ortools", + "target": "src_validation_vrptw_engine_simulate_day", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L253", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_solve_vrptw_ortools", + "target": "src_validation_vrptw_engine_cachedroutematrix_get_travel_time", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L257", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_check_depot_constraints", + "target": "src_data_models_deepdiveitem", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L339", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_vrptwengine_init", + "target": "src_validation_vrptw_engine_haversinematrix", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L390", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_vrptwengine_validate", + "target": "src_validation_vrptw_engine_check_depot_constraints", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L403", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_vrptwengine_validate", + "target": "src_validation_vrptw_engine_simulate_day", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L414", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_vrptwengine_validate", + "target": "src_validation_vrptw_engine_compute_day_total_minutes", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L419", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_vrptwengine_validate", + "target": "src_data_models_deepdiveitem", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L422", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_vrptwengine_validate", + "target": "src_validation_vrptw_engine_solve_vrptw_ortools", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L437", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_vrptwengine_validate", + "target": "src_validation_vrptw_engine_vrptwengine_compute_risk_score", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L472", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_vrptwengine_validate", + "target": "src_data_models_vrptwresult", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L483", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_vrptwengine_compute_risk_score", + "target": "src_validation_vrptw_engine_compute_day_total_minutes", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L518", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_rationale_1", + "target": "src_validation_vrptw_engine", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_rationale_56", + "target": "src_validation_vrptw_engine_timematrix", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L56", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_rationale_60", + "target": "src_validation_vrptw_engine_timematrix_get_travel_time", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L60", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_rationale_64", + "target": "src_validation_vrptw_engine_haversinematrix", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L64", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_rationale_92", + "target": "src_validation_vrptw_engine_cachedroutematrix", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L92", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_rationale_145", + "target": "src_validation_vrptw_engine_simresult", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L145", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_rationale_161", + "target": "src_validation_vrptw_engine_simulate_day", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L161", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_rationale_221", + "target": "src_validation_vrptw_engine_compute_day_total_minutes", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L221", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_rationale_249", + "target": "src_validation_vrptw_engine_solve_vrptw_ortools", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L249", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_rationale_320", + "target": "src_validation_vrptw_engine_check_depot_constraints", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L320", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_rationale_379", + "target": "src_validation_vrptw_engine_vrptwengine", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L379", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_warning", + "target": "src_data_models", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/validation/warning.py", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_warning", + "target": "src_data_party_config", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/validation/warning.py", + "source_location": "L5", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_warning", + "target": "src_utils_geo", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/validation/warning.py", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_warning", + "target": "src_validation_warning_cosine_distance", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/validation/warning.py", + "source_location": "L28", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_warning", + "target": "src_validation_warning_warningdetector", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/validation/warning.py", + "source_location": "L39", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_warning_warningdetector", + "target": "src_validation_warning_warningdetector_detect", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/validation/warning.py", + "source_location": "L51", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_warning_warningdetector_detect", + "target": "src_data_models_itineraryplan", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "src/validation/warning.py", + "source_location": "L51", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_warning_warningdetector_detect", + "target": "src_data_models_poi", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/validation/warning.py", + "source_location": "L51", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_warning_warningdetector_detect", + "target": "src_data_models_warning", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/validation/warning.py", + "source_location": "L51", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_warning_warningdetector", + "target": "src_validation_warning_warningdetector_check_dense_schedule", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/validation/warning.py", + "source_location": "L73", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_warning_warningdetector_check_dense_schedule", + "target": "src_data_models_itineraryplan", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "src/validation/warning.py", + "source_location": "L73", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_warning_warningdetector_check_dense_schedule", + "target": "src_data_models_poi", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/validation/warning.py", + "source_location": "L73", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_warning_warningdetector_check_dense_schedule", + "target": "src_data_models_warning", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/validation/warning.py", + "source_location": "L73", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_warning_warningdetector", + "target": "src_validation_warning_warningdetector_check_inefficient_route", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/validation/warning.py", + "source_location": "L100", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_warning_warningdetector_check_inefficient_route", + "target": "src_data_models_poi", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/validation/warning.py", + "source_location": "L100", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_warning_warningdetector_check_inefficient_route", + "target": "src_data_models_warning", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/validation/warning.py", + "source_location": "L100", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_warning_warningdetector", + "target": "src_validation_warning_warningdetector_check_physical_strain", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/validation/warning.py", + "source_location": "L124", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_warning_warningdetector_check_physical_strain", + "target": "src_data_models_itineraryplan", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "src/validation/warning.py", + "source_location": "L124", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_warning_warningdetector_check_physical_strain", + "target": "src_data_models_poi", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/validation/warning.py", + "source_location": "L124", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_warning_warningdetector_check_physical_strain", + "target": "src_data_models_warning", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/validation/warning.py", + "source_location": "L124", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_warning_warningdetector", + "target": "src_validation_warning_warningdetector_check_purpose_mismatch", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/validation/warning.py", + "source_location": "L145", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_warning_warningdetector_check_purpose_mismatch", + "target": "src_data_models_itineraryplan", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "src/validation/warning.py", + "source_location": "L145", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_warning_warningdetector_check_purpose_mismatch", + "target": "src_data_models_poi", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/validation/warning.py", + "source_location": "L145", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_warning_warningdetector_check_purpose_mismatch", + "target": "src_data_models_warning", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/validation/warning.py", + "source_location": "L145", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_warning_warningdetector", + "target": "src_validation_warning_warningdetector_check_cumulative_fatigue", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/validation/warning.py", + "source_location": "L176", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_warning_warningdetector_check_cumulative_fatigue", + "target": "src_data_models_itineraryplan", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "src/validation/warning.py", + "source_location": "L176", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_warning_warningdetector_check_cumulative_fatigue", + "target": "src_data_models_poi", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/validation/warning.py", + "source_location": "L176", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_warning_warningdetector_check_cumulative_fatigue", + "target": "src_data_models_warning", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/validation/warning.py", + "source_location": "L176", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_warning_warningdetector", + "target": "src_validation_warning_warningdetector_check_area_revisit", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/validation/warning.py", + "source_location": "L240", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_warning_warningdetector_check_area_revisit", + "target": "src_data_models_poi", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/validation/warning.py", + "source_location": "L240", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_warning_warningdetector_check_area_revisit", + "target": "src_data_models_warning", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "src/validation/warning.py", + "source_location": "L240", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_warning_warningdetector_detect", + "target": "src_validation_warning_warningdetector_check_dense_schedule", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/validation/warning.py", + "source_location": "L61", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_warning_warningdetector_detect", + "target": "src_validation_warning_warningdetector_check_inefficient_route", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/validation/warning.py", + "source_location": "L62", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_warning_warningdetector_detect", + "target": "src_validation_warning_warningdetector_check_physical_strain", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/validation/warning.py", + "source_location": "L63", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_warning_warningdetector_detect", + "target": "src_validation_warning_warningdetector_check_purpose_mismatch", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/validation/warning.py", + "source_location": "L64", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_warning_warningdetector_detect", + "target": "src_validation_warning_warningdetector_check_area_revisit", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/validation/warning.py", + "source_location": "L65", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_warning_warningdetector_check_dense_schedule", + "target": "src_data_models_warning", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/validation/warning.py", + "source_location": "L91", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_warning_warningdetector_check_inefficient_route", + "target": "src_data_models_warning", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/validation/warning.py", + "source_location": "L115", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_warning_warningdetector_check_physical_strain", + "target": "src_data_models_warning", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/validation/warning.py", + "source_location": "L136", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_warning_warningdetector_check_purpose_mismatch", + "target": "src_validation_warning_cosine_distance", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/validation/warning.py", + "source_location": "L163", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_warning_warningdetector_check_purpose_mismatch", + "target": "src_data_models_warning", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/validation/warning.py", + "source_location": "L167", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_warning_warningdetector_check_cumulative_fatigue", + "target": "src_data_models_warning", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/validation/warning.py", + "source_location": "L211", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_warning_warningdetector_check_area_revisit", + "target": "src_data_models_warning", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/validation/warning.py", + "source_location": "L257", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_warning_rationale_1", + "target": "src_validation_warning", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/validation/warning.py", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_warning_rationale_40", + "target": "src_validation_warning_warningdetector", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/validation/warning.py", + "source_location": "L40", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_warning_rationale_58", + "target": "src_validation_warning_warningdetector_detect", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/validation/warning.py", + "source_location": "L58", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_warning_rationale_182", + "target": "src_validation_warning_warningdetector_check_cumulative_fatigue", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "src/validation/warning.py", + "source_location": "L182", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_conftest", + "target": "pytest", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/conftest.py", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_conftest_clean_anthropic_api_key", + "target": "tests_conftest_py_fixture", + "relation": "references", + "confidence": "EXTRACTED", + "source_file": "tests/conftest.py", + "source_location": "L10", + "weight": 1.0, + "context": "decorator", + "_origin": "ast" + }, + { + "source": "tests_conftest", + "target": "tests_conftest_clean_anthropic_api_key", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/conftest.py", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_conftest_rationale_1", + "target": "tests_conftest", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "tests/conftest.py", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_alternatives", + "target": "pytest", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_alternatives.py", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_alternatives", + "target": "src_data_models", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_alternatives.py", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_alternatives", + "target": "src_validation_alternatives", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_alternatives.py", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_alternatives", + "target": "tests_test_alternatives_poi", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_alternatives.py", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_alternatives", + "target": "tests_test_alternatives_hardfail", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_alternatives.py", + "source_location": "L29", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_alternatives", + "target": "tests_test_alternatives_testfindalternatives", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_alternatives.py", + "source_location": "L39", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_alternatives_testfindalternatives", + "target": "tests_test_alternatives_testfindalternatives_test_returns_nearby_same_category", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_alternatives.py", + "source_location": "L40", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_alternatives_testfindalternatives", + "target": "tests_test_alternatives_testfindalternatives_test_excludes_failed_poi_itself", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_alternatives.py", + "source_location": "L50", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_alternatives_testfindalternatives", + "target": "tests_test_alternatives_testfindalternatives_test_respects_max_alternatives", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_alternatives.py", + "source_location": "L57", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_alternatives_testfindalternatives", + "target": "tests_test_alternatives_testfindalternatives_test_respects_search_radius", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_alternatives.py", + "source_location": "L64", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_alternatives_testfindalternatives", + "target": "tests_test_alternatives_testfindalternatives_test_distance_km_is_correct", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_alternatives.py", + "source_location": "L72", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_alternatives_testfindalternatives", + "target": "tests_test_alternatives_testfindalternatives_test_same_category_sorted_before_different", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_alternatives.py", + "source_location": "L80", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_alternatives", + "target": "tests_test_alternatives_testbuildalternativesmap", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_alternatives.py", + "source_location": "L91", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_alternatives_testbuildalternativesmap", + "target": "tests_test_alternatives_testbuildalternativesmap_test_maps_failed_poi_to_alternatives", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_alternatives.py", + "source_location": "L92", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_alternatives_testbuildalternativesmap", + "target": "tests_test_alternatives_testbuildalternativesmap_test_default_no_substitution", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_alternatives.py", + "source_location": "L102", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_alternatives_testbuildalternativesmap", + "target": "tests_test_alternatives_testbuildalternativesmap_test_skips_none_poi_name", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_alternatives.py", + "source_location": "L110", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_alternatives_testbuildalternativesmap", + "target": "tests_test_alternatives_testbuildalternativesmap_test_no_duplicate_keys", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_alternatives.py", + "source_location": "L116", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_alternatives_testbuildalternativesmap", + "target": "tests_test_alternatives_testbuildalternativesmap_test_excludes_plan_pois_from_alternatives", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_alternatives.py", + "source_location": "L123", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_alternatives_testfindalternatives_test_returns_nearby_same_category", + "target": "tests_test_alternatives_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_alternatives.py", + "source_location": "L42", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_alternatives_testfindalternatives_test_excludes_failed_poi_itself", + "target": "tests_test_alternatives_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_alternatives.py", + "source_location": "L51", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_alternatives_testfindalternatives_test_respects_max_alternatives", + "target": "tests_test_alternatives_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_alternatives.py", + "source_location": "L58", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_alternatives_testfindalternatives_test_respects_search_radius", + "target": "tests_test_alternatives_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_alternatives.py", + "source_location": "L65", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_alternatives_testfindalternatives_test_distance_km_is_correct", + "target": "tests_test_alternatives_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_alternatives.py", + "source_location": "L73", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_alternatives_testfindalternatives_test_same_category_sorted_before_different", + "target": "tests_test_alternatives_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_alternatives.py", + "source_location": "L82", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_alternatives_testbuildalternativesmap_test_maps_failed_poi_to_alternatives", + "target": "tests_test_alternatives_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_alternatives.py", + "source_location": "L93", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_alternatives_testbuildalternativesmap_test_maps_failed_poi_to_alternatives", + "target": "tests_test_alternatives_hardfail", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_alternatives.py", + "source_location": "L96", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_alternatives_testbuildalternativesmap_test_default_no_substitution", + "target": "tests_test_alternatives_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_alternatives.py", + "source_location": "L103", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_alternatives_testbuildalternativesmap_test_default_no_substitution", + "target": "tests_test_alternatives_hardfail", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_alternatives.py", + "source_location": "L106", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_alternatives_testbuildalternativesmap_test_skips_none_poi_name", + "target": "tests_test_alternatives_hardfail", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_alternatives.py", + "source_location": "L112", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_alternatives_testbuildalternativesmap_test_no_duplicate_keys", + "target": "tests_test_alternatives_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_alternatives.py", + "source_location": "L117", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_alternatives_testbuildalternativesmap_test_no_duplicate_keys", + "target": "tests_test_alternatives_hardfail", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_alternatives.py", + "source_location": "L119", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_alternatives_testbuildalternativesmap_test_excludes_plan_pois_from_alternatives", + "target": "tests_test_alternatives_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_alternatives.py", + "source_location": "L124", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_alternatives_testbuildalternativesmap_test_excludes_plan_pois_from_alternatives", + "target": "tests_test_alternatives_hardfail", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_alternatives.py", + "source_location": "L126", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_alternatives_rationale_1", + "target": "tests_test_alternatives", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "tests/test_alternatives.py", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine", + "target": "json", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine", + "target": "tempfile", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L5", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine", + "target": "pathlib", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine", + "target": "pytest", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine", + "target": "src_data_models", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine", + "target": "src_scoring_bonus_engine", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine", + "target": "tests_test_bonus_engine_make_poi", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine_make_poi", + "target": "src_data_models_poi", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine", + "target": "tests_test_bonus_engine_make_engine", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L34", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine_make_engine", + "target": "src_scoring_bonus_engine_bonusengine", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L34", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine", + "target": "tests_test_bonus_engine_testwellnessbonus", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L47", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine_testwellnessbonus", + "target": "tests_test_bonus_engine_testwellnessbonus_test_no_wellness_data_gives_zero", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L48", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine_testwellnessbonus", + "target": "tests_test_bonus_engine_testwellnessbonus_test_matching_poi_gives_bonus", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L54", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine_testwellnessbonus", + "target": "tests_test_bonus_engine_testwellnessbonus_test_two_matching_pois_give_double_bonus", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L60", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine_testwellnessbonus", + "target": "tests_test_bonus_engine_testwellnessbonus_test_wellness_bonus_capped", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L69", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine_testwellnessbonus", + "target": "tests_test_bonus_engine_testwellnessbonus_test_non_matching_poi_no_bonus", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L77", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine_testwellnessbonus", + "target": "tests_test_bonus_engine_testwellnessbonus_test_wellness_applies_to_all_party_types", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L83", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine", + "target": "tests_test_bonus_engine_testaccessibilitybonus", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L95", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine_testaccessibilitybonus", + "target": "tests_test_bonus_engine_testaccessibilitybonus_test_accessible_party_gets_bonus", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L96", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine_testaccessibilitybonus", + "target": "tests_test_bonus_engine_testaccessibilitybonus_test_non_accessible_party_no_bonus", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L103", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine_testaccessibilitybonus", + "target": "tests_test_bonus_engine_testaccessibilitybonus_test_accessibility_bonus_capped", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L110", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine", + "target": "tests_test_bonus_engine_testpetfriendlybonus", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L122", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine_testpetfriendlybonus", + "target": "tests_test_bonus_engine_testpetfriendlybonus_test_disabled_gives_zero_even_if_matched", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L123", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine_testpetfriendlybonus", + "target": "tests_test_bonus_engine_testpetfriendlybonus_test_enabled_and_flagged_gives_bonus", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L129", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine_testpetfriendlybonus", + "target": "tests_test_bonus_engine_testpetfriendlybonus_test_enabled_but_not_flagged_no_bonus_no_penalty", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L135", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine_testpetfriendlybonus", + "target": "tests_test_bonus_engine_testpetfriendlybonus_test_pet_friendly_bonus_capped", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L142", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine_testpetfriendlybonus", + "target": "tests_test_bonus_engine_testpetfriendlybonus_test_pet_friendly_matched_names_populated", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L148", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine", + "target": "tests_test_bonus_engine_testtotalbonuscap", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L159", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine_testtotalbonuscap", + "target": "tests_test_bonus_engine_testtotalbonuscap_test_combined_bonus_capped_at_cap", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L160", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine_testtotalbonuscap", + "target": "tests_test_bonus_engine_testtotalbonuscap_test_total_is_sum_when_under_cap", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L167", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine", + "target": "tests_test_bonus_engine_testfromdataset", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L187", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine_testfromdataset", + "target": "tests_test_bonus_engine_testfromdataset_test_missing_files_give_empty_engine", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L188", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine_testfromdataset", + "target": "tests_test_bonus_engine_testfromdataset_test_loads_from_json_files", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L197", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine_testfromdataset", + "target": "tests_test_bonus_engine_testfromdataset_test_zero_coords_skipped", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L211", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine", + "target": "tests_test_bonus_engine_testbonusresultfields", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L227", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine_testbonusresultfields", + "target": "tests_test_bonus_engine_testbonusresultfields_test_matched_names_populated", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L228", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine_testbonusresultfields", + "target": "tests_test_bonus_engine_testbonusresultfields_test_no_match_empty_lists", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L234", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine_make_poi", + "target": "src_data_models_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L25", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine_make_engine", + "target": "src_scoring_bonus_engine_bonusengine", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L40", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine_testwellnessbonus_test_no_wellness_data_gives_zero", + "target": "tests_test_bonus_engine_make_engine", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L49", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine_testwellnessbonus_test_no_wellness_data_gives_zero", + "target": "tests_test_bonus_engine_make_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L50", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine_testwellnessbonus_test_matching_poi_gives_bonus", + "target": "tests_test_bonus_engine_make_engine", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L55", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine_testwellnessbonus_test_matching_poi_gives_bonus", + "target": "tests_test_bonus_engine_make_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L56", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine_testwellnessbonus_test_two_matching_pois_give_double_bonus", + "target": "tests_test_bonus_engine_make_engine", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L61", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine_testwellnessbonus_test_two_matching_pois_give_double_bonus", + "target": "tests_test_bonus_engine_make_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L63", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine_testwellnessbonus_test_wellness_bonus_capped", + "target": "tests_test_bonus_engine_make_engine", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L72", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine_testwellnessbonus_test_wellness_bonus_capped", + "target": "tests_test_bonus_engine_make_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L73", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine_testwellnessbonus_test_non_matching_poi_no_bonus", + "target": "tests_test_bonus_engine_make_engine", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L78", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine_testwellnessbonus_test_non_matching_poi_no_bonus", + "target": "tests_test_bonus_engine_make_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L79", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine_testwellnessbonus_test_wellness_applies_to_all_party_types", + "target": "tests_test_bonus_engine_make_engine", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L84", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine_testwellnessbonus_test_wellness_applies_to_all_party_types", + "target": "tests_test_bonus_engine_make_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L85", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine_testaccessibilitybonus_test_accessible_party_gets_bonus", + "target": "tests_test_bonus_engine_make_engine", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L97", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine_testaccessibilitybonus_test_accessible_party_gets_bonus", + "target": "tests_test_bonus_engine_make_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L98", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine_testaccessibilitybonus_test_non_accessible_party_no_bonus", + "target": "tests_test_bonus_engine_make_engine", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L104", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine_testaccessibilitybonus_test_non_accessible_party_no_bonus", + "target": "tests_test_bonus_engine_make_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L105", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine_testaccessibilitybonus_test_accessibility_bonus_capped", + "target": "tests_test_bonus_engine_make_engine", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L112", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine_testaccessibilitybonus_test_accessibility_bonus_capped", + "target": "tests_test_bonus_engine_make_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L113", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine_testpetfriendlybonus_test_disabled_gives_zero_even_if_matched", + "target": "tests_test_bonus_engine_make_engine", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L124", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine_testpetfriendlybonus_test_disabled_gives_zero_even_if_matched", + "target": "tests_test_bonus_engine_make_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L125", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine_testpetfriendlybonus_test_enabled_and_flagged_gives_bonus", + "target": "tests_test_bonus_engine_make_engine", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L130", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine_testpetfriendlybonus_test_enabled_and_flagged_gives_bonus", + "target": "tests_test_bonus_engine_make_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L131", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine_testpetfriendlybonus_test_enabled_but_not_flagged_no_bonus_no_penalty", + "target": "tests_test_bonus_engine_make_engine", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L136", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine_testpetfriendlybonus_test_enabled_but_not_flagged_no_bonus_no_penalty", + "target": "tests_test_bonus_engine_make_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L137", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine_testpetfriendlybonus_test_pet_friendly_bonus_capped", + "target": "tests_test_bonus_engine_make_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L143", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine_testpetfriendlybonus_test_pet_friendly_bonus_capped", + "target": "tests_test_bonus_engine_make_engine", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L144", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine_testpetfriendlybonus_test_pet_friendly_matched_names_populated", + "target": "tests_test_bonus_engine_make_engine", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L149", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine_testpetfriendlybonus_test_pet_friendly_matched_names_populated", + "target": "tests_test_bonus_engine_make_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L150", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine_testtotalbonuscap_test_combined_bonus_capped_at_cap", + "target": "tests_test_bonus_engine_make_engine", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L162", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine_testtotalbonuscap_test_combined_bonus_capped_at_cap", + "target": "tests_test_bonus_engine_make_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L163", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine_testtotalbonuscap_test_total_is_sum_when_under_cap", + "target": "tests_test_bonus_engine_make_engine", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L168", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine_testtotalbonuscap_test_total_is_sum_when_under_cap", + "target": "tests_test_bonus_engine_make_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L173", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine_testfromdataset_test_missing_files_give_empty_engine", + "target": "tests_test_bonus_engine_make_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L193", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine_testfromdataset_test_loads_from_json_files", + "target": "tests_test_bonus_engine_make_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L206", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine_testfromdataset_test_zero_coords_skipped", + "target": "tests_test_bonus_engine_make_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L218", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine_testbonusresultfields_test_matched_names_populated", + "target": "tests_test_bonus_engine_make_engine", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L229", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine_testbonusresultfields_test_matched_names_populated", + "target": "tests_test_bonus_engine_make_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L230", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine_testbonusresultfields_test_no_match_empty_lists", + "target": "tests_test_bonus_engine_make_engine", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L235", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine_testbonusresultfields_test_no_match_empty_lists", + "target": "tests_test_bonus_engine_make_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L236", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine_rationale_1", + "target": "tests_test_bonus_engine", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_cluster_dispersion", + "target": "pytest", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_cluster_dispersion.py", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_cluster_dispersion", + "target": "src_data_models", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_cluster_dispersion.py", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_cluster_dispersion", + "target": "src_scoring_cluster_dispersion", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_cluster_dispersion.py", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_cluster_dispersion", + "target": "tests_test_cluster_dispersion_make_place", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_cluster_dispersion.py", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_cluster_dispersion", + "target": "tests_test_cluster_dispersion_test_compact_day_no_penalty", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_cluster_dispersion.py", + "source_location": "L24", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_cluster_dispersion", + "target": "tests_test_cluster_dispersion_test_lightning_pattern_high_penalty", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_cluster_dispersion.py", + "source_location": "L38", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_cluster_dispersion", + "target": "tests_test_cluster_dispersion_test_per_day_independence", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_cluster_dispersion.py", + "source_location": "L53", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_cluster_dispersion_test_geo_cluster_backtrack_gyeongju", + "target": "skipif", + "relation": "references", + "confidence": "EXTRACTED", + "source_file": "tests/test_cluster_dispersion.py", + "source_location": "L68", + "weight": 1.0, + "context": "decorator", + "_origin": "ast" + }, + { + "source": "tests_test_cluster_dispersion", + "target": "tests_test_cluster_dispersion_test_geo_cluster_backtrack_gyeongju", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_cluster_dispersion.py", + "source_location": "L69", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_cluster_dispersion_test_geo_cluster_no_false_positive_sequential", + "target": "skipif", + "relation": "references", + "confidence": "EXTRACTED", + "source_file": "tests/test_cluster_dispersion.py", + "source_location": "L89", + "weight": 1.0, + "context": "decorator", + "_origin": "ast" + }, + { + "source": "tests_test_cluster_dispersion", + "target": "tests_test_cluster_dispersion_test_geo_cluster_no_false_positive_sequential", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_cluster_dispersion.py", + "source_location": "L90", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_cluster_dispersion_test_geo_cluster_no_double_penalty_when_m3_fires", + "target": "skipif", + "relation": "references", + "confidence": "EXTRACTED", + "source_file": "tests/test_cluster_dispersion.py", + "source_location": "L102", + "weight": 1.0, + "context": "decorator", + "_origin": "ast" + }, + { + "source": "tests_test_cluster_dispersion", + "target": "tests_test_cluster_dispersion_test_geo_cluster_no_double_penalty_when_m3_fires", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_cluster_dispersion.py", + "source_location": "L103", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_cluster_dispersion", + "target": "tests_test_cluster_dispersion_test_sigungu_switches_only", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_cluster_dispersion.py", + "source_location": "L125", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_cluster_dispersion_test_compact_day_no_penalty", + "target": "tests_test_cluster_dispersion_make_place", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_cluster_dispersion.py", + "source_location": "L27", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_cluster_dispersion_test_lightning_pattern_high_penalty", + "target": "tests_test_cluster_dispersion_make_place", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_cluster_dispersion.py", + "source_location": "L41", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_cluster_dispersion_test_per_day_independence", + "target": "tests_test_cluster_dispersion_make_place", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_cluster_dispersion.py", + "source_location": "L56", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_cluster_dispersion_test_geo_cluster_backtrack_gyeongju", + "target": "tests_test_cluster_dispersion_make_place", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_cluster_dispersion.py", + "source_location": "L72", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_cluster_dispersion_test_geo_cluster_no_false_positive_sequential", + "target": "tests_test_cluster_dispersion_make_place", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_cluster_dispersion.py", + "source_location": "L93", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_cluster_dispersion_test_geo_cluster_no_double_penalty_when_m3_fires", + "target": "tests_test_cluster_dispersion_make_place", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_cluster_dispersion.py", + "source_location": "L111", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_cluster_dispersion_test_sigungu_switches_only", + "target": "tests_test_cluster_dispersion_make_place", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_cluster_dispersion.py", + "source_location": "L128", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_cluster_dispersion_rationale_1", + "target": "tests_test_cluster_dispersion", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "tests/test_cluster_dispersion.py", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_cluster_dispersion_rationale_25", + "target": "tests_test_cluster_dispersion_test_compact_day_no_penalty", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "tests/test_cluster_dispersion.py", + "source_location": "L25", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_cluster_dispersion_rationale_39", + "target": "tests_test_cluster_dispersion_test_lightning_pattern_high_penalty", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "tests/test_cluster_dispersion.py", + "source_location": "L39", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_cluster_dispersion_rationale_54", + "target": "tests_test_cluster_dispersion_test_per_day_independence", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "tests/test_cluster_dispersion.py", + "source_location": "L54", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_cluster_dispersion_rationale_70", + "target": "tests_test_cluster_dispersion_test_geo_cluster_backtrack_gyeongju", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "tests/test_cluster_dispersion.py", + "source_location": "L70", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_cluster_dispersion_rationale_91", + "target": "tests_test_cluster_dispersion_test_geo_cluster_no_false_positive_sequential", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "tests/test_cluster_dispersion.py", + "source_location": "L91", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_cluster_dispersion_rationale_104", + "target": "tests_test_cluster_dispersion_test_geo_cluster_no_double_penalty_when_m3_fires", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "tests/test_cluster_dispersion.py", + "source_location": "L104", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_cluster_dispersion_rationale_126", + "target": "tests_test_cluster_dispersion_test_sigungu_switches_only", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "tests/test_cluster_dispersion.py", + "source_location": "L126", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_congestion_engine", + "target": "pathlib", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_congestion_engine.py", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_congestion_engine", + "target": "unittest_mock", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_congestion_engine.py", + "source_location": "L5", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_congestion_engine", + "target": "pandas", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_congestion_engine.py", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_congestion_engine", + "target": "pytest", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_congestion_engine.py", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_congestion_engine", + "target": "src_scoring_congestion_engine", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_congestion_engine.py", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_congestion_engine_engine", + "target": "tests_test_congestion_engine_py_fixture", + "relation": "references", + "confidence": "EXTRACTED", + "source_file": "tests/test_congestion_engine.py", + "source_location": "L47", + "weight": 1.0, + "context": "decorator", + "_origin": "ast" + }, + { + "source": "tests_test_congestion_engine", + "target": "tests_test_congestion_engine_engine", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_congestion_engine.py", + "source_location": "L48", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_congestion_engine_test_score_to_level", + "target": "parametrize", + "relation": "references", + "confidence": "EXTRACTED", + "source_file": "tests/test_congestion_engine.py", + "source_location": "L58", + "weight": 1.0, + "context": "decorator", + "_origin": "ast" + }, + { + "source": "tests_test_congestion_engine", + "target": "tests_test_congestion_engine_test_score_to_level", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_congestion_engine.py", + "source_location": "L71", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_congestion_engine", + "target": "tests_test_congestion_engine_test_exact_match", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_congestion_engine.py", + "source_location": "L79", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_congestion_engine", + "target": "tests_test_congestion_engine_test_exact_match_low_season", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_congestion_engine.py", + "source_location": "L87", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_congestion_engine", + "target": "tests_test_congestion_engine_test_partial_match_substring", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_congestion_engine.py", + "source_location": "L98", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_congestion_engine", + "target": "tests_test_congestion_engine_test_partial_match_superstring", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_congestion_engine.py", + "source_location": "L104", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_congestion_engine", + "target": "tests_test_congestion_engine_test_global_fallback", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_congestion_engine.py", + "source_location": "L114", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_congestion_engine", + "target": "tests_test_congestion_engine_test_category_fallback", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_congestion_engine.py", + "source_location": "L120", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_congestion_engine", + "target": "tests_test_congestion_engine_test_invalid_month_raises", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_congestion_engine.py", + "source_location": "L130", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_congestion_engine", + "target": "tests_test_congestion_engine_test_result_is_dataclass", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_congestion_engine.py", + "source_location": "L137", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_congestion_engine", + "target": "tests_test_congestion_engine_test_is_crowded_true", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_congestion_engine.py", + "source_location": "L147", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_congestion_engine", + "target": "tests_test_congestion_engine_test_is_crowded_false", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_congestion_engine.py", + "source_location": "L151", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_congestion_engine", + "target": "tests_test_congestion_engine_test_score_itinerary", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_congestion_engine.py", + "source_location": "L155", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_congestion_engine", + "target": "tests_test_congestion_engine_test_missing_csv_raises", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_congestion_engine.py", + "source_location": "L165", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_congestion_engine_rationale_1", + "target": "tests_test_congestion_engine", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "tests/test_congestion_engine.py", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_dwell_db", + "target": "pytest", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_dwell_db.py", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_dwell_db", + "target": "src_data_dwell_db", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_dwell_db.py", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_dwell_db", + "target": "tests_test_dwell_db_testmanualoverride", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_dwell_db.py", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_dwell_db_testmanualoverride", + "target": "tests_test_dwell_db_testmanualoverride_test_\uacbd\ubcf5\uad81_returns_manual_source", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_dwell_db.py", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_dwell_db_testmanualoverride", + "target": "tests_test_dwell_db_testmanualoverride_test_normalization_handles_spaces", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_dwell_db.py", + "source_location": "L23", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_dwell_db_testmanualoverride", + "target": "tests_test_dwell_db_testmanualoverride_test_n_seoul_tower_alias", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_dwell_db.py", + "source_location": "L28", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_dwell_db", + "target": "tests_test_dwell_db_testlclssystm3", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_dwell_db.py", + "source_location": "L35", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_dwell_db_testlclssystm3", + "target": "tests_test_dwell_db_testlclssystm3_test_museum_code", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_dwell_db.py", + "source_location": "L36", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_dwell_db", + "target": "tests_test_dwell_db_testlclssystm1fallback", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_dwell_db.py", + "source_location": "L43", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_dwell_db_testlclssystm1fallback", + "target": "tests_test_dwell_db_testlclssystm1fallback_test_lcls3_unknown_falls_back_to_lcls1", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_dwell_db.py", + "source_location": "L44", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_dwell_db", + "target": "tests_test_dwell_db_testcontenttypefallback", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_dwell_db.py", + "source_location": "L51", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_dwell_db_testcontenttypefallback", + "target": "tests_test_dwell_db_testcontenttypefallback_test_content_type_used_when_no_lcls", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_dwell_db.py", + "source_location": "L52", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_dwell_db", + "target": "tests_test_dwell_db_testdefaultfallback", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_dwell_db.py", + "source_location": "L58", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_dwell_db_testdefaultfallback", + "target": "tests_test_dwell_db_testdefaultfallback_test_no_info_returns_default", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_dwell_db.py", + "source_location": "L59", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_dwell_db", + "target": "tests_test_dwell_db_testistooshort", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_dwell_db.py", + "source_location": "L65", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_dwell_db_testistooshort", + "target": "tests_test_dwell_db_testistooshort_test_below_50pct_is_too_short", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_dwell_db.py", + "source_location": "L66", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_dwell_db_rationale_1", + "target": "tests_test_dwell_db", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "tests/test_dwell_db.py", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_estimated_hardfail", + "target": "src_data_models", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_estimated_hardfail.py", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_estimated_hardfail", + "target": "src_validation_hard_fail", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_estimated_hardfail.py", + "source_location": "L5", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_estimated_hardfail", + "target": "tests_test_estimated_hardfail_poi", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_estimated_hardfail.py", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_estimated_hardfail", + "target": "tests_test_estimated_hardfail_plan", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_estimated_hardfail.py", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_estimated_hardfail_plan", + "target": "src_data_models_itineraryplan", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "tests/test_estimated_hardfail.py", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_estimated_hardfail", + "target": "tests_test_estimated_hardfail_test_estimated_hours_conflict_flagged_estimated", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_estimated_hardfail.py", + "source_location": "L31", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_estimated_hardfail", + "target": "tests_test_estimated_hardfail_test_verified_hours_conflict_not_estimated_and_message_unchanged", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_estimated_hardfail.py", + "source_location": "L41", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_estimated_hardfail_plan", + "target": "src_data_models_itineraryplan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_estimated_hardfail.py", + "source_location": "L23", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_estimated_hardfail_test_estimated_hours_conflict_flagged_estimated", + "target": "tests_test_estimated_hardfail_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_estimated_hardfail.py", + "source_location": "L33", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_estimated_hardfail_test_estimated_hours_conflict_flagged_estimated", + "target": "tests_test_estimated_hardfail_plan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_estimated_hardfail.py", + "source_location": "L34", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_estimated_hardfail_test_verified_hours_conflict_not_estimated_and_message_unchanged", + "target": "tests_test_estimated_hardfail_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_estimated_hardfail.py", + "source_location": "L43", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_estimated_hardfail_test_verified_hours_conflict_not_estimated_and_message_unchanged", + "target": "tests_test_estimated_hardfail_plan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_estimated_hardfail.py", + "source_location": "L44", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_estimated_hardfail_rationale_1", + "target": "tests_test_estimated_hardfail", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "tests/test_estimated_hardfail.py", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine", + "target": "json", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine", + "target": "unittest_mock", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L5", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine", + "target": "pytest", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine", + "target": "src_data_models", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine", + "target": "src_explain_explain_engine", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine", + "target": "tests_test_explain_engine_make_plan", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L34", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_make_plan", + "target": "src_data_models_itineraryplan", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L34", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine", + "target": "tests_test_explain_engine_make_scores", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L43", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_make_scores", + "target": "src_data_models_scores", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L43", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine", + "target": "tests_test_explain_engine_make_hard_fail", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L47", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_make_hard_fail", + "target": "src_data_models_hardfail", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L47", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine", + "target": "tests_test_explain_engine_make_warning", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L57", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_make_warning", + "target": "src_data_models_warning", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L57", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine", + "target": "tests_test_explain_engine_make_graph_stub", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L65", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine", + "target": "tests_test_explain_engine_make_disabled_graph_stub", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L83", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine", + "target": "tests_test_explain_engine_testcachekey", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L93", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testcachekey", + "target": "tests_test_explain_engine_testcachekey_test_same_inputs_same_key", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L94", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testcachekey", + "target": "tests_test_explain_engine_testcachekey_test_different_score_different_key", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L100", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testcachekey", + "target": "tests_test_explain_engine_testcachekey_test_empty_inputs", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L104", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testcachekey", + "target": "tests_test_explain_engine_testcachekey_test_different_day_index_different_key", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L108", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine", + "target": "tests_test_explain_engine_testgraphcontext", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L120", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testgraphcontext", + "target": "tests_test_explain_engine_testgraphcontext_test_none_graph_returns_none", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L121", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testgraphcontext", + "target": "tests_test_explain_engine_testgraphcontext_test_disabled_graph_returns_none", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L124", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testgraphcontext", + "target": "tests_test_explain_engine_testgraphcontext_test_empty_poi_name_returns_none", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L127", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testgraphcontext", + "target": "tests_test_explain_engine_testgraphcontext_test_no_match_returns_none", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L130", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testgraphcontext", + "target": "tests_test_explain_engine_testgraphcontext_test_match_includes_region_and_category", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L135", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testgraphcontext", + "target": "tests_test_explain_engine_testgraphcontext_test_match_includes_nearby_alternatives", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L140", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testgraphcontext", + "target": "tests_test_explain_engine_testgraphcontext_test_no_nearby_omits_key", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L145", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine", + "target": "tests_test_explain_engine_testbuilduserprompt", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L154", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuilduserprompt", + "target": "tests_test_explain_engine_testbuilduserprompt_test_contains_plan_info", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L155", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuilduserprompt", + "target": "tests_test_explain_engine_testbuilduserprompt_test_hard_fail_in_prompt", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L160", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuilduserprompt", + "target": "tests_test_explain_engine_testbuilduserprompt_test_warning_in_prompt", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L165", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuilduserprompt", + "target": "tests_test_explain_engine_testbuilduserprompt_test_penalty_in_prompt", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L169", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuilduserprompt", + "target": "tests_test_explain_engine_testbuilduserprompt_test_scores_included_when_provided", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L173", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuilduserprompt", + "target": "tests_test_explain_engine_testbuilduserprompt_test_overall_item_present", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L177", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuilduserprompt", + "target": "tests_test_explain_engine_testbuilduserprompt_test_graph_evidence_included_when_matched", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L182", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuilduserprompt", + "target": "tests_test_explain_engine_testbuilduserprompt_test_no_graph_omits_evidence_key", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L190", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuilduserprompt", + "target": "tests_test_explain_engine_testbuilduserprompt_test_day_index_included_for_hard_fail", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L194", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuilduserprompt", + "target": "tests_test_explain_engine_testbuilduserprompt_test_day_index_included_for_warning", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L200", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuilduserprompt", + "target": "tests_test_explain_engine_testbuilduserprompt_test_no_day_index_omits_day_field", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L209", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuilduserprompt", + "target": "tests_test_explain_engine_testbuilduserprompt_test_warning_graph_evidence_uses_first_poi_name", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L213", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine", + "target": "tests_test_explain_engine_testparsellmresponse", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L225", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testparsellmresponse", + "target": "tests_test_explain_engine_testparsellmresponse_test_parses_valid_json_array", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L226", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testparsellmresponse", + "target": "tests_test_explain_engine_testparsellmresponse_test_strips_code_block_wrapper", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L240", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testparsellmresponse", + "target": "tests_test_explain_engine_testparsellmresponse_test_multiple_items", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L246", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testparsellmresponse", + "target": "tests_test_explain_engine_testparsellmresponse_test_returns_explanation_items", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L254", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testparsellmresponse", + "target": "tests_test_explain_engine_testparsellmresponse_test_day_index_echoed_back", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L262", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testparsellmresponse", + "target": "tests_test_explain_engine_testparsellmresponse_test_missing_day_index_defaults_to_none", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L270", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine", + "target": "tests_test_explain_engine_testfallback", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L283", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testfallback", + "target": "tests_test_explain_engine_testfallback_test_hard_fail_becomes_critical", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L284", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testfallback", + "target": "tests_test_explain_engine_testfallback_test_warning_becomes_warning", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L289", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testfallback", + "target": "tests_test_explain_engine_testfallback_test_large_penalty_is_critical", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L294", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testfallback", + "target": "tests_test_explain_engine_testfallback_test_small_penalty_is_warning", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L299", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testfallback", + "target": "tests_test_explain_engine_testfallback_test_always_has_overall_item", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L304", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testfallback", + "target": "tests_test_explain_engine_testfallback_test_failed_overall_is_critical", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L314", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testfallback", + "target": "tests_test_explain_engine_testfallback_test_passed_overall_is_ok", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L319", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testfallback", + "target": "tests_test_explain_engine_testfallback_test_hard_fail_day_index_propagated_and_prefixed", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L324", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testfallback", + "target": "tests_test_explain_engine_testfallback_test_warning_day_index_propagated_and_prefixed", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L332", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testfallback", + "target": "tests_test_explain_engine_testfallback_test_no_day_index_no_prefix", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L340", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine", + "target": "tests_test_explain_engine_testexplainenginenollm", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L351", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testexplainenginenollm", + "target": "tests_test_explain_engine_testexplainenginenollm_setup_method", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L352", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testexplainenginenollm", + "target": "tests_test_explain_engine_testexplainenginenollm_test_is_available_false_without_key", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L356", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testexplainenginenollm", + "target": "tests_test_explain_engine_testexplainenginenollm_test_generate_returns_list_of_explanation_items", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L359", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testexplainenginenollm", + "target": "tests_test_explain_engine_testexplainenginenollm_test_no_issues_returns_ok_overall", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L372", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testexplainenginenollm", + "target": "tests_test_explain_engine_testexplainenginenollm_test_hard_fail_present_in_results", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L381", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testexplainenginenollm", + "target": "tests_test_explain_engine_testexplainenginenollm_test_warning_present_in_results", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L389", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testexplainenginenollm", + "target": "tests_test_explain_engine_testexplainenginenollm_test_penalty_present_in_results", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L397", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine", + "target": "tests_test_explain_engine_testexplainenginemockllm", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L410", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testexplainenginemockllm", + "target": "tests_test_explain_engine_testexplainenginemockllm_make_mock_client", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L411", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testexplainenginemockllm", + "target": "tests_test_explain_engine_testexplainenginemockllm_test_llm_response_used_when_available", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L421", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testexplainenginemockllm", + "target": "tests_test_explain_engine_testexplainenginemockllm_test_llm_failure_falls_back_gracefully", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L445", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testexplainenginemockllm", + "target": "tests_test_explain_engine_testexplainenginemockllm_test_cache_prevents_second_llm_call", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L456", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testexplainenginemockllm", + "target": "tests_test_explain_engine_testexplainenginemockllm_test_is_available_with_client", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L472", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testexplainenginemockllm", + "target": "tests_test_explain_engine_testexplainenginemockllm_test_graph_evidence_reaches_llm_prompt", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L477", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine", + "target": "tests_test_explain_engine_testexplainenginegraphdefault", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L496", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testexplainenginegraphdefault", + "target": "tests_test_explain_engine_testexplainenginegraphdefault_test_default_graph_disabled_without_env", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L497", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine", + "target": "tests_test_explain_engine_testbuildalternatives", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L507", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuildalternatives", + "target": "tests_test_explain_engine_testbuildalternatives_test_no_hard_fails_returns_empty", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L508", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuildalternatives", + "target": "tests_test_explain_engine_testbuildalternatives_test_disabled_graph_returns_empty", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L512", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuildalternatives", + "target": "tests_test_explain_engine_testbuildalternatives_test_hard_fail_without_poi_name_skipped", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L518", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuildalternatives", + "target": "tests_test_explain_engine_testbuildalternatives_test_match_returns_alternatives_keyed_by_poi_name", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L524", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuildalternatives", + "target": "tests_test_explain_engine_testbuildalternatives_test_no_nearby_omits_poi", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L532", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuildalternatives", + "target": "tests_test_explain_engine_testbuildalternatives_test_no_search_match_omits_poi", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L540", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuildalternatives", + "target": "tests_test_explain_engine_testbuildalternatives_test_duplicate_poi_name_only_looked_up_once", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L548", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_make_plan", + "target": "src_data_models_itineraryplan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L35", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_make_scores", + "target": "src_data_models_scores", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L44", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_make_hard_fail", + "target": "src_data_models_hardfail", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L48", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_make_warning", + "target": "src_data_models_warning", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L58", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testcachekey_test_same_inputs_same_key", + "target": "tests_test_explain_engine_make_hard_fail", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L95", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testcachekey_test_same_inputs_same_key", + "target": "tests_test_explain_engine_make_warning", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L96", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testcachekey_test_different_score_different_key", + "target": "tests_test_explain_engine_make_hard_fail", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L101", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testcachekey_test_different_day_index_different_key", + "target": "tests_test_explain_engine_make_hard_fail", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L109", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testgraphcontext_test_disabled_graph_returns_none", + "target": "tests_test_explain_engine_make_disabled_graph_stub", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L125", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testgraphcontext_test_empty_poi_name_returns_none", + "target": "tests_test_explain_engine_make_graph_stub", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L128", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testgraphcontext_test_no_match_returns_none", + "target": "tests_test_explain_engine_make_graph_stub", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L131", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testgraphcontext_test_match_includes_region_and_category", + "target": "tests_test_explain_engine_make_graph_stub", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L136", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testgraphcontext_test_match_includes_nearby_alternatives", + "target": "tests_test_explain_engine_make_graph_stub", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L141", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testgraphcontext_test_no_nearby_omits_key", + "target": "tests_test_explain_engine_make_graph_stub", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L146", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuilduserprompt_test_contains_plan_info", + "target": "tests_test_explain_engine_make_plan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L156", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuilduserprompt_test_hard_fail_in_prompt", + "target": "tests_test_explain_engine_make_hard_fail", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L161", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuilduserprompt_test_hard_fail_in_prompt", + "target": "tests_test_explain_engine_make_plan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L161", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuilduserprompt_test_warning_in_prompt", + "target": "tests_test_explain_engine_make_warning", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L166", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuilduserprompt_test_warning_in_prompt", + "target": "tests_test_explain_engine_make_plan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L166", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuilduserprompt_test_penalty_in_prompt", + "target": "tests_test_explain_engine_make_plan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L170", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuilduserprompt_test_scores_included_when_provided", + "target": "tests_test_explain_engine_make_scores", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L174", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuilduserprompt_test_scores_included_when_provided", + "target": "tests_test_explain_engine_make_plan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L174", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuilduserprompt_test_overall_item_present", + "target": "tests_test_explain_engine_make_plan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L178", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuilduserprompt_test_graph_evidence_included_when_matched", + "target": "tests_test_explain_engine_make_hard_fail", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L184", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuilduserprompt_test_graph_evidence_included_when_matched", + "target": "tests_test_explain_engine_make_plan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L184", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuilduserprompt_test_graph_evidence_included_when_matched", + "target": "tests_test_explain_engine_make_graph_stub", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L185", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuilduserprompt_test_no_graph_omits_evidence_key", + "target": "tests_test_explain_engine_make_hard_fail", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L191", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuilduserprompt_test_no_graph_omits_evidence_key", + "target": "tests_test_explain_engine_make_plan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L191", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuilduserprompt_test_day_index_included_for_hard_fail", + "target": "tests_test_explain_engine_make_hard_fail", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L195", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuilduserprompt_test_day_index_included_for_hard_fail", + "target": "tests_test_explain_engine_make_plan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L197", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuilduserprompt_test_day_index_included_for_warning", + "target": "tests_test_explain_engine_make_warning", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L201", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuilduserprompt_test_day_index_included_for_warning", + "target": "tests_test_explain_engine_make_plan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L204", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuilduserprompt_test_no_day_index_omits_day_field", + "target": "tests_test_explain_engine_make_hard_fail", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L210", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuilduserprompt_test_no_day_index_omits_day_field", + "target": "tests_test_explain_engine_make_warning", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L210", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuilduserprompt_test_no_day_index_omits_day_field", + "target": "tests_test_explain_engine_make_plan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L210", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuilduserprompt_test_warning_graph_evidence_uses_first_poi_name", + "target": "tests_test_explain_engine_make_warning", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L214", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuilduserprompt_test_warning_graph_evidence_uses_first_poi_name", + "target": "tests_test_explain_engine_make_plan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L216", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuilduserprompt_test_warning_graph_evidence_uses_first_poi_name", + "target": "tests_test_explain_engine_make_graph_stub", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L216", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testfallback_test_hard_fail_becomes_critical", + "target": "tests_test_explain_engine_make_hard_fail", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L285", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testfallback_test_warning_becomes_warning", + "target": "tests_test_explain_engine_make_warning", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L290", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testfallback_test_always_has_overall_item", + "target": "tests_test_explain_engine_make_hard_fail", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L306", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testfallback_test_always_has_overall_item", + "target": "tests_test_explain_engine_make_warning", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L307", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testfallback_test_failed_overall_is_critical", + "target": "tests_test_explain_engine_make_hard_fail", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L315", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testfallback_test_hard_fail_day_index_propagated_and_prefixed", + "target": "tests_test_explain_engine_make_hard_fail", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L325", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testfallback_test_warning_day_index_propagated_and_prefixed", + "target": "tests_test_explain_engine_make_warning", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L333", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testfallback_test_no_day_index_no_prefix", + "target": "tests_test_explain_engine_make_hard_fail", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L341", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testexplainenginenollm_test_generate_returns_list_of_explanation_items", + "target": "tests_test_explain_engine_make_hard_fail", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L361", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testexplainenginenollm_test_generate_returns_list_of_explanation_items", + "target": "tests_test_explain_engine_make_warning", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L362", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testexplainenginenollm_test_generate_returns_list_of_explanation_items", + "target": "tests_test_explain_engine_make_scores", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L365", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testexplainenginenollm_test_generate_returns_list_of_explanation_items", + "target": "tests_test_explain_engine_make_plan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L366", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testexplainenginenollm_test_no_issues_returns_ok_overall", + "target": "tests_test_explain_engine_make_scores", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L375", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testexplainenginenollm_test_no_issues_returns_ok_overall", + "target": "tests_test_explain_engine_make_plan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L375", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testexplainenginenollm_test_hard_fail_present_in_results", + "target": "tests_test_explain_engine_make_hard_fail", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L383", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testexplainenginenollm_test_hard_fail_present_in_results", + "target": "tests_test_explain_engine_make_plan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L384", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testexplainenginenollm_test_warning_present_in_results", + "target": "tests_test_explain_engine_make_warning", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L391", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testexplainenginenollm_test_warning_present_in_results", + "target": "tests_test_explain_engine_make_plan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L392", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testexplainenginenollm_test_penalty_present_in_results", + "target": "tests_test_explain_engine_make_plan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L400", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testexplainenginemockllm_test_llm_response_used_when_available", + "target": "tests_test_explain_engine_testexplainenginemockllm_make_mock_client", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L437", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testexplainenginemockllm_test_llm_response_used_when_available", + "target": "tests_test_explain_engine_make_hard_fail", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L439", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testexplainenginemockllm_test_llm_response_used_when_available", + "target": "tests_test_explain_engine_make_plan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L440", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testexplainenginemockllm_test_llm_failure_falls_back_gracefully", + "target": "tests_test_explain_engine_make_hard_fail", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L450", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testexplainenginemockllm_test_llm_failure_falls_back_gracefully", + "target": "tests_test_explain_engine_make_plan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L451", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testexplainenginemockllm_test_cache_prevents_second_llm_call", + "target": "tests_test_explain_engine_testexplainenginemockllm_make_mock_client", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L464", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testexplainenginemockllm_test_cache_prevents_second_llm_call", + "target": "tests_test_explain_engine_make_hard_fail", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L467", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testexplainenginemockllm_test_cache_prevents_second_llm_call", + "target": "tests_test_explain_engine_make_plan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L468", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testexplainenginemockllm_test_graph_evidence_reaches_llm_prompt", + "target": "tests_test_explain_engine_testexplainenginemockllm_make_mock_client", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L485", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testexplainenginemockllm_test_graph_evidence_reaches_llm_prompt", + "target": "tests_test_explain_engine_make_graph_stub", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L486", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testexplainenginemockllm_test_graph_evidence_reaches_llm_prompt", + "target": "tests_test_explain_engine_make_hard_fail", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L488", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testexplainenginemockllm_test_graph_evidence_reaches_llm_prompt", + "target": "tests_test_explain_engine_make_plan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L489", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuildalternatives_test_no_hard_fails_returns_empty", + "target": "tests_test_explain_engine_make_graph_stub", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L509", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuildalternatives_test_disabled_graph_returns_empty", + "target": "tests_test_explain_engine_make_disabled_graph_stub", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L513", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuildalternatives_test_disabled_graph_returns_empty", + "target": "tests_test_explain_engine_make_hard_fail", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L514", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuildalternatives_test_hard_fail_without_poi_name_skipped", + "target": "tests_test_explain_engine_make_graph_stub", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L519", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuildalternatives_test_hard_fail_without_poi_name_skipped", + "target": "tests_test_explain_engine_make_hard_fail", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L520", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuildalternatives_test_match_returns_alternatives_keyed_by_poi_name", + "target": "tests_test_explain_engine_make_graph_stub", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L525", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuildalternatives_test_match_returns_alternatives_keyed_by_poi_name", + "target": "tests_test_explain_engine_make_hard_fail", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L526", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuildalternatives_test_no_nearby_omits_poi", + "target": "tests_test_explain_engine_make_graph_stub", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L534", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuildalternatives_test_no_nearby_omits_poi", + "target": "tests_test_explain_engine_make_hard_fail", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L536", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuildalternatives_test_no_search_match_omits_poi", + "target": "tests_test_explain_engine_make_graph_stub", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L541", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuildalternatives_test_no_search_match_omits_poi", + "target": "tests_test_explain_engine_make_hard_fail", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L544", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuildalternatives_test_duplicate_poi_name_only_looked_up_once", + "target": "tests_test_explain_engine_make_graph_stub", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L549", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuildalternatives_test_duplicate_poi_name_only_looked_up_once", + "target": "tests_test_explain_engine_make_hard_fail", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L551", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_rationale_1", + "target": "tests_test_explain_engine", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_rationale_66", + "target": "tests_test_explain_engine_make_graph_stub", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L66", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_geo", + "target": "pytest", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_geo.py", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_geo", + "target": "src_data_models", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_geo.py", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_geo", + "target": "src_utils_geo", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_geo.py", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_geo", + "target": "tests_test_geo_make_poi", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_geo.py", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_geo_make_poi", + "target": "src_data_models_poi", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "tests/test_geo.py", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_geo", + "target": "tests_test_geo_testhaversinekm", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_geo.py", + "source_location": "L23", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_geo_testhaversinekm", + "target": "tests_test_geo_testhaversinekm_test_same_point_is_zero", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_geo.py", + "source_location": "L24", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_geo_testhaversinekm", + "target": "tests_test_geo_testhaversinekm_test_known_distance", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_geo.py", + "source_location": "L27", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_geo_testhaversinekm", + "target": "tests_test_geo_testhaversinekm_test_symmetric", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_geo.py", + "source_location": "L32", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_geo_testhaversinekm", + "target": "tests_test_geo_testhaversinekm_test_positive", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_geo.py", + "source_location": "L37", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_geo", + "target": "tests_test_geo_testbuilddistcache", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_geo.py", + "source_location": "L45", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_geo_testbuilddistcache", + "target": "tests_test_geo_testbuilddistcache_test_all_pairs_present", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_geo.py", + "source_location": "L46", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_geo_testbuilddistcache", + "target": "tests_test_geo_testbuilddistcache_test_no_self_pairs", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_geo.py", + "source_location": "L54", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_geo_testbuilddistcache", + "target": "tests_test_geo_testbuilddistcache_test_values_match_haversine", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_geo.py", + "source_location": "L60", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_geo_testbuilddistcache", + "target": "tests_test_geo_testbuilddistcache_test_single_poi_empty_cache", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_geo.py", + "source_location": "L70", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_geo_testbuilddistcache", + "target": "tests_test_geo_testbuilddistcache_test_empty_list_empty_cache", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_geo.py", + "source_location": "L75", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_geo", + "target": "tests_test_geo_testnnheuristickm", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_geo.py", + "source_location": "L83", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_geo_testnnheuristickm", + "target": "tests_test_geo_testnnheuristickm_test_single_poi_returns_zero", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_geo.py", + "source_location": "L84", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_geo_testnnheuristickm", + "target": "tests_test_geo_testnnheuristickm_test_two_pois_returns_distance", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_geo.py", + "source_location": "L88", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_geo_testnnheuristickm", + "target": "tests_test_geo_testnnheuristickm_test_nn_le_actual_for_suboptimal", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_geo.py", + "source_location": "L93", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_geo_testnnheuristickm", + "target": "tests_test_geo_testnnheuristickm_test_cache_gives_same_result", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_geo.py", + "source_location": "L109", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_geo_testnnheuristickm", + "target": "tests_test_geo_testnnheuristickm_test_collinear_optimal_order_matches_nn", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_geo.py", + "source_location": "L114", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_geo", + "target": "tests_test_geo_testgettravelmin", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_geo.py", + "source_location": "L128", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_geo_testgettravelmin", + "target": "tests_test_geo_testgettravelmin_test_uses_matrix_when_available", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_geo.py", + "source_location": "L129", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_geo_testgettravelmin", + "target": "tests_test_geo_testgettravelmin_test_haversine_fallback_when_no_matrix", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_geo.py", + "source_location": "L135", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_geo_testgettravelmin", + "target": "tests_test_geo_testgettravelmin_test_cache_fallback_when_no_matrix", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_geo.py", + "source_location": "L143", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_geo_testgettravelmin", + "target": "tests_test_geo_testgettravelmin_test_matrix_takes_priority_over_cache", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_geo.py", + "source_location": "L150", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_geo_make_poi", + "target": "src_data_models_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_geo.py", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_geo_testbuilddistcache_test_all_pairs_present", + "target": "tests_test_geo_make_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_geo.py", + "source_location": "L47", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_geo_testbuilddistcache_test_no_self_pairs", + "target": "tests_test_geo_make_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_geo.py", + "source_location": "L55", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_geo_testbuilddistcache_test_values_match_haversine", + "target": "tests_test_geo_make_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_geo.py", + "source_location": "L62", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_geo_testbuilddistcache_test_single_poi_empty_cache", + "target": "tests_test_geo_make_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_geo.py", + "source_location": "L71", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_geo_testnnheuristickm_test_single_poi_returns_zero", + "target": "tests_test_geo_make_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_geo.py", + "source_location": "L85", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_geo_testnnheuristickm_test_two_pois_returns_distance", + "target": "tests_test_geo_make_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_geo.py", + "source_location": "L89", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_geo_testnnheuristickm_test_nn_le_actual_for_suboptimal", + "target": "tests_test_geo_make_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_geo.py", + "source_location": "L96", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_geo_testnnheuristickm_test_cache_gives_same_result", + "target": "tests_test_geo_make_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_geo.py", + "source_location": "L110", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_geo_testnnheuristickm_test_collinear_optimal_order_matches_nn", + "target": "tests_test_geo_make_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_geo.py", + "source_location": "L116", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_geo_testgettravelmin_test_uses_matrix_when_available", + "target": "tests_test_geo_make_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_geo.py", + "source_location": "L130", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_geo_testgettravelmin_test_haversine_fallback_when_no_matrix", + "target": "tests_test_geo_make_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_geo.py", + "source_location": "L136", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_geo_testgettravelmin_test_cache_fallback_when_no_matrix", + "target": "tests_test_geo_make_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_geo.py", + "source_location": "L144", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_geo_testgettravelmin_test_matrix_takes_priority_over_cache", + "target": "tests_test_geo_make_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_geo.py", + "source_location": "L151", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_geo_rationale_1", + "target": "tests_test_geo", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "tests/test_geo.py", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_graph_retriever", + "target": "unittest_mock", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_graph_retriever.py", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_graph_retriever", + "target": "neo4j_exceptions", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_graph_retriever.py", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_graph_retriever", + "target": "src_data_graph_retriever", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_graph_retriever.py", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_graph_retriever", + "target": "src_data_models", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_graph_retriever.py", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_graph_retriever", + "target": "tests_test_graph_retriever_test_disabled_without_uri_returns_empty", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_graph_retriever.py", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_graph_retriever", + "target": "tests_test_graph_retriever_test_search_places_parses_records", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_graph_retriever.py", + "source_location": "L19", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_graph_retriever", + "target": "tests_test_graph_retriever_test_search_places_empty_query_skips_call", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_graph_retriever.py", + "source_location": "L39", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_graph_retriever", + "target": "tests_test_graph_retriever_test_search_places_neo4j_error_returns_empty", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_graph_retriever.py", + "source_location": "L46", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_graph_retriever", + "target": "tests_test_graph_retriever_test_find_nearby_parses_and_converts_distance", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_graph_retriever.py", + "source_location": "L53", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_graph_retriever", + "target": "tests_test_graph_retriever_test_repeated_failures_skip_driver_call_during_cooldown", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_graph_retriever.py", + "source_location": "L68", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_graph_retriever", + "target": "tests_test_graph_retriever_test_close_closes_driver", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_graph_retriever.py", + "source_location": "L79", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_graph_retriever", + "target": "tests_test_graph_retriever_test_from_env_reads_variables", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_graph_retriever.py", + "source_location": "L86", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_graph_retriever_rationale_1", + "target": "tests_test_graph_retriever", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "tests/test_graph_retriever.py", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail", + "target": "pytest", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail", + "target": "src_data_models", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail", + "target": "src_validation_hard_fail", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail", + "target": "tests_test_hard_fail_make_poi", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail_make_poi", + "target": "src_data_models_poi", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail", + "target": "tests_test_hard_fail_make_plan", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L30", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail_make_plan", + "target": "src_data_models_itineraryplan", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L30", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail", + "target": "tests_test_hard_fail_make_matrix", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L41", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail_detector", + "target": "tests_test_hard_fail_py_fixture", + "relation": "references", + "confidence": "EXTRACTED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L57", + "weight": 1.0, + "context": "decorator", + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail", + "target": "tests_test_hard_fail_detector", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L58", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail_detector", + "target": "src_validation_hard_fail_hardfaildetector", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L58", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail_open_poi", + "target": "tests_test_hard_fail_py_fixture", + "relation": "references", + "confidence": "EXTRACTED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L62", + "weight": 1.0, + "context": "decorator", + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail", + "target": "tests_test_hard_fail_open_poi", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L63", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail_open_poi", + "target": "src_data_models_poi", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L63", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail", + "target": "tests_test_hard_fail_testhelpers", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L71", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail_testhelpers", + "target": "tests_test_hard_fail_testhelpers_test_time_to_min", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L72", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail_testhelpers", + "target": "tests_test_hard_fail_testhelpers_test_min_to_time", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L75", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail_testhelpers", + "target": "tests_test_hard_fail_testhelpers_test_time_to_min_midnight", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L78", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail_testhelpers", + "target": "tests_test_hard_fail_testhelpers_test_min_to_time_midnight", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L81", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail_testhelpers", + "target": "tests_test_hard_fail_testhelpers_test_min_to_time_wraps_past_24h", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L84", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail", + "target": "tests_test_hard_fail_testoperatinghours", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L92", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail_testoperatinghours", + "target": "tests_test_hard_fail_testoperatinghours_test_no_fail_within_hours", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L93", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail_testoperatinghours", + "target": "tests_test_hard_fail_testoperatinghours_test_fail_arrive_before_open", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L101", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail_testoperatinghours", + "target": "tests_test_hard_fail_testoperatinghours_test_fail_arrive_after_close", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L112", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail_testoperatinghours", + "target": "tests_test_hard_fail_testoperatinghours_test_no_fail_for_fallback_hours", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L121", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail", + "target": "tests_test_hard_fail_testtraveltimeimpossible", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L135", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail_testtraveltimeimpossible", + "target": "tests_test_hard_fail_testtraveltimeimpossible_test_travel_impossible", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L136", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail_testtraveltimeimpossible", + "target": "tests_test_hard_fail_testtraveltimeimpossible_test_no_fail_sufficient_window", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L150", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail", + "target": "tests_test_hard_fail_testscheduleinfeasible", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L165", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail_testscheduleinfeasible", + "target": "tests_test_hard_fail_testscheduleinfeasible_test_schedule_exceeds_24h", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L166", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail_testscheduleinfeasible", + "target": "tests_test_hard_fail_testscheduleinfeasible_test_schedule_within_24h", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L184", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail", + "target": "tests_test_hard_fail_testnormalplan", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L201", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail_testnormalplan", + "target": "tests_test_hard_fail_testnormalplan_test_normal_plan_no_fails", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L202", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail", + "target": "tests_test_hard_fail_testdayindex", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L221", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail_testdayindex", + "target": "tests_test_hard_fail_testdayindex_test_day_index_defaults_to_none", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L222", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail_testdayindex", + "target": "tests_test_hard_fail_testdayindex_test_day_index_set_when_passed", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L229", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail_make_poi", + "target": "src_data_models_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L23", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail_make_plan", + "target": "src_data_models_itineraryplan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L32", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail_detector", + "target": "src_validation_hard_fail_hardfaildetector", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L59", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail_open_poi", + "target": "tests_test_hard_fail_make_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L64", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail_testoperatinghours_test_no_fail_within_hours", + "target": "tests_test_hard_fail_make_plan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L96", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail_testoperatinghours_test_fail_arrive_before_open", + "target": "tests_test_hard_fail_make_plan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L104", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail_testoperatinghours_test_fail_arrive_after_close", + "target": "tests_test_hard_fail_make_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L114", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail_testoperatinghours_test_fail_arrive_after_close", + "target": "tests_test_hard_fail_make_plan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L116", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail_testoperatinghours_test_no_fail_for_fallback_hours", + "target": "tests_test_hard_fail_make_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L123", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail_testoperatinghours_test_no_fail_for_fallback_hours", + "target": "tests_test_hard_fail_make_plan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L125", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail_testtraveltimeimpossible_test_travel_impossible", + "target": "tests_test_hard_fail_make_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L139", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail_testtraveltimeimpossible_test_travel_impossible", + "target": "tests_test_hard_fail_make_matrix", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L142", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail_testtraveltimeimpossible_test_travel_impossible", + "target": "tests_test_hard_fail_make_plan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L143", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail_testtraveltimeimpossible_test_no_fail_sufficient_window", + "target": "tests_test_hard_fail_make_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L151", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail_testtraveltimeimpossible_test_no_fail_sufficient_window", + "target": "tests_test_hard_fail_make_matrix", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L154", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail_testtraveltimeimpossible_test_no_fail_sufficient_window", + "target": "tests_test_hard_fail_make_plan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L155", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail_testscheduleinfeasible_test_schedule_exceeds_24h", + "target": "tests_test_hard_fail_make_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L169", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail_testscheduleinfeasible_test_schedule_exceeds_24h", + "target": "tests_test_hard_fail_make_matrix", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L175", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail_testscheduleinfeasible_test_schedule_exceeds_24h", + "target": "tests_test_hard_fail_make_plan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L178", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail_testscheduleinfeasible_test_schedule_within_24h", + "target": "tests_test_hard_fail_make_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L186", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail_testscheduleinfeasible_test_schedule_within_24h", + "target": "tests_test_hard_fail_make_matrix", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L189", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail_testscheduleinfeasible_test_schedule_within_24h", + "target": "tests_test_hard_fail_make_plan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L190", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail_testnormalplan_test_normal_plan_no_fails", + "target": "tests_test_hard_fail_make_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L204", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail_testnormalplan_test_normal_plan_no_fails", + "target": "tests_test_hard_fail_make_matrix", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L209", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail_testnormalplan_test_normal_plan_no_fails", + "target": "tests_test_hard_fail_make_plan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L212", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail_testdayindex_test_day_index_defaults_to_none", + "target": "tests_test_hard_fail_make_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L223", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail_testdayindex_test_day_index_defaults_to_none", + "target": "tests_test_hard_fail_make_plan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L224", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail_testdayindex_test_day_index_set_when_passed", + "target": "tests_test_hard_fail_make_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L230", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail_testdayindex_test_day_index_set_when_passed", + "target": "tests_test_hard_fail_make_plan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L231", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail_rationale_1", + "target": "tests_test_hard_fail", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_local", + "target": "unittest_mock", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_local.py", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_local", + "target": "src_data_kakao_local", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_local.py", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_local", + "target": "src_data_models", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_local.py", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_local", + "target": "tests_test_kakao_local_ok_response", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_local.py", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_local", + "target": "tests_test_kakao_local_test_disabled_without_key_returns_none", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_local.py", + "source_location": "L29", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_local", + "target": "tests_test_kakao_local_test_search_parses_first_document", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_local.py", + "source_location": "L35", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_local", + "target": "tests_test_kakao_local_test_result_is_cached", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_local.py", + "source_location": "L46", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_local", + "target": "tests_test_kakao_local_test_empty_documents_returns_none", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_local.py", + "source_location": "L55", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_local", + "target": "tests_test_kakao_local_test_http_error_falls_back_to_none", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_local.py", + "source_location": "L64", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_local", + "target": "tests_test_kakao_local_multi_response", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_local.py", + "source_location": "L73", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_local", + "target": "tests_test_kakao_local_test_search_keyword_list_parses_all", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_local.py", + "source_location": "L87", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_local", + "target": "tests_test_kakao_local_test_search_keyword_list_disabled_returns_empty", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_local.py", + "source_location": "L96", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_local", + "target": "tests_test_kakao_local_address_response", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_local.py", + "source_location": "L101", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_local", + "target": "tests_test_kakao_local_test_geocode_address_parses_lat_lng", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_local.py", + "source_location": "L116", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_local", + "target": "tests_test_kakao_local_test_geocode_address_disabled_without_key_returns_none", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_local.py", + "source_location": "L124", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_local", + "target": "tests_test_kakao_local_test_geocode_address_is_cached", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_local.py", + "source_location": "L129", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_local", + "target": "tests_test_kakao_local_test_geocode_address_empty_documents_returns_none", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_local.py", + "source_location": "L138", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_local", + "target": "tests_test_kakao_local_test_geocode_address_http_error_falls_back_to_none", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_local.py", + "source_location": "L147", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_local_test_search_parses_first_document", + "target": "tests_test_kakao_local_ok_response", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_local.py", + "source_location": "L37", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_local_test_result_is_cached", + "target": "tests_test_kakao_local_ok_response", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_local.py", + "source_location": "L48", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_local_test_search_keyword_list_parses_all", + "target": "tests_test_kakao_local_multi_response", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_local.py", + "source_location": "L89", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_local_test_geocode_address_parses_lat_lng", + "target": "tests_test_kakao_local_address_response", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_local.py", + "source_location": "L118", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_local_test_geocode_address_is_cached", + "target": "tests_test_kakao_local_address_response", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_local.py", + "source_location": "L131", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_local_rationale_1", + "target": "tests_test_kakao_local", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_local.py", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix", + "target": "json", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix", + "target": "unittest_mock", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L5", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix", + "target": "pytest", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix", + "target": "src_data_models", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix", + "target": "src_validation_kakao_matrix", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix", + "target": "tests_test_kakao_matrix_place", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix_place", + "target": "src_data_models_vrptwplace", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix", + "target": "tests_test_kakao_matrix_ok_response", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix", + "target": "tests_test_kakao_matrix_httpx_sync_client", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L33", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix", + "target": "tests_test_kakao_matrix_testsamepoint", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L47", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix_testsamepoint", + "target": "tests_test_kakao_matrix_testsamepoint_test_same_coords_returns_zero", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L48", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix", + "target": "tests_test_kakao_matrix_testapicall", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L58", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix_testapicall", + "target": "tests_test_kakao_matrix_testapicall_test_sync_call_populates_cache", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L59", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix_testapicall", + "target": "tests_test_kakao_matrix_testapicall_test_get_travel_time_uses_cache_after_sync_call", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L71", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix_testapicall", + "target": "tests_test_kakao_matrix_testapicall_test_get_travel_time_second_call_cache_hit", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L85", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix_testapicall", + "target": "tests_test_kakao_matrix_testapicall_test_reverse_direction_also_cached", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L98", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix", + "target": "tests_test_kakao_matrix_testquotaexhaustion", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L116", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix_testquotaexhaustion", + "target": "tests_test_kakao_matrix_testquotaexhaustion_test_429_sets_quota_exhausted", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L117", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix_testquotaexhaustion", + "target": "tests_test_kakao_matrix_testquotaexhaustion_test_get_travel_time_haversine_fallback_when_no_cache", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L132", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix_testquotaexhaustion", + "target": "tests_test_kakao_matrix_testquotaexhaustion_test_after_quota_exhausted_get_travel_time_falls_back", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L141", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix", + "target": "tests_test_kakao_matrix_testautherror", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L155", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix_testautherror", + "target": "tests_test_kakao_matrix_testautherror_test_401_raises", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L156", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix", + "target": "tests_test_kakao_matrix_testcachepersistence", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L174", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix_testcachepersistence", + "target": "tests_test_kakao_matrix_testcachepersistence_test_save_and_load_cache", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L175", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix", + "target": "tests_test_kakao_matrix_testfromenv", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L201", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix_testfromenv", + "target": "tests_test_kakao_matrix_testfromenv_test_no_key_raises", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L202", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix_testfromenv", + "target": "tests_test_kakao_matrix_testfromenv_test_uses_mobility_key_first", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L208", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix_testfromenv", + "target": "tests_test_kakao_matrix_testfromenv_test_falls_back_to_rest_key", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L214", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix", + "target": "tests_test_kakao_matrix_testasyncprefetch", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L225", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix_testasyncprefetch", + "target": "tests_test_kakao_matrix_testasyncprefetch_test_aprefetch_populates_cache_and_hit_on_get", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L226", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix_testasyncprefetch", + "target": "tests_test_kakao_matrix_testasyncprefetch_test_aprefetch_deduplicates_bidirectional", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L241", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix_place", + "target": "src_data_models_vrptwplace", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix_testsamepoint_test_same_coords_returns_zero", + "target": "tests_test_kakao_matrix_place", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L50", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix_testapicall_test_sync_call_populates_cache", + "target": "tests_test_kakao_matrix_place", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L61", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix_testapicall_test_sync_call_populates_cache", + "target": "tests_test_kakao_matrix_httpx_sync_client", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L65", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix_testapicall_test_sync_call_populates_cache", + "target": "tests_test_kakao_matrix_ok_response", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L65", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix_testapicall_test_get_travel_time_uses_cache_after_sync_call", + "target": "tests_test_kakao_matrix_place", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L73", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix_testapicall_test_get_travel_time_uses_cache_after_sync_call", + "target": "tests_test_kakao_matrix_httpx_sync_client", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L77", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix_testapicall_test_get_travel_time_uses_cache_after_sync_call", + "target": "tests_test_kakao_matrix_ok_response", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L77", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix_testapicall_test_get_travel_time_second_call_cache_hit", + "target": "tests_test_kakao_matrix_place", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L87", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix_testapicall_test_get_travel_time_second_call_cache_hit", + "target": "tests_test_kakao_matrix_httpx_sync_client", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L91", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix_testapicall_test_get_travel_time_second_call_cache_hit", + "target": "tests_test_kakao_matrix_ok_response", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L91", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix_testapicall_test_reverse_direction_also_cached", + "target": "tests_test_kakao_matrix_place", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L100", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix_testapicall_test_reverse_direction_also_cached", + "target": "tests_test_kakao_matrix_httpx_sync_client", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L104", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix_testapicall_test_reverse_direction_also_cached", + "target": "tests_test_kakao_matrix_ok_response", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L104", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix_testquotaexhaustion_test_429_sets_quota_exhausted", + "target": "tests_test_kakao_matrix_place", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L119", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix_testquotaexhaustion_test_429_sets_quota_exhausted", + "target": "tests_test_kakao_matrix_httpx_sync_client", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L126", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix_testquotaexhaustion_test_get_travel_time_haversine_fallback_when_no_cache", + "target": "tests_test_kakao_matrix_place", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L134", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix_testquotaexhaustion_test_after_quota_exhausted_get_travel_time_falls_back", + "target": "tests_test_kakao_matrix_place", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L144", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix_testautherror_test_401_raises", + "target": "tests_test_kakao_matrix_place", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L161", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix_testautherror_test_401_raises", + "target": "tests_test_kakao_matrix_httpx_sync_client", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L165", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix_testcachepersistence_test_save_and_load_cache", + "target": "tests_test_kakao_matrix_place", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L179", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix_testcachepersistence_test_save_and_load_cache", + "target": "tests_test_kakao_matrix_httpx_sync_client", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L183", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix_testcachepersistence_test_save_and_load_cache", + "target": "tests_test_kakao_matrix_ok_response", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L183", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix_testasyncprefetch_test_aprefetch_populates_cache_and_hit_on_get", + "target": "tests_test_kakao_matrix_place", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L231", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix_testasyncprefetch_test_aprefetch_deduplicates_bidirectional", + "target": "tests_test_kakao_matrix_place", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L249", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix_rationale_1", + "target": "tests_test_kakao_matrix", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix_rationale_21", + "target": "tests_test_kakao_matrix_ok_response", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L21", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix_rationale_34", + "target": "tests_test_kakao_matrix_httpx_sync_client", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L34", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix_rationale_227", + "target": "tests_test_kakao_matrix_testasyncprefetch_test_aprefetch_populates_cache_and_hit_on_get", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L227", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix_rationale_242", + "target": "tests_test_kakao_matrix_testasyncprefetch_test_aprefetch_deduplicates_bidirectional", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L242", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_party_config", + "target": "pytest", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_party_config.py", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_party_config", + "target": "src_data_party_config", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_party_config.py", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_party_config", + "target": "tests_test_party_config_testpartyprofiles", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_party_config.py", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_party_config_testpartyprofiles", + "target": "tests_test_party_config_testpartyprofiles_test_all_types_defined", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_party_config.py", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_party_config_testpartyprofiles", + "target": "tests_test_party_config_testpartyprofiles_test_friends_speed_factor_one", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_party_config.py", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_party_config_testpartyprofiles", + "target": "tests_test_party_config_testpartyprofiles_test_baby_speed_factor_below_one", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_party_config.py", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_party_config_testpartyprofiles", + "target": "tests_test_party_config_testpartyprofiles_test_elderly_speed_factor_below_one", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_party_config.py", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_party_config_testpartyprofiles", + "target": "tests_test_party_config_testpartyprofiles_test_baby_fatigue_hours_lower_than_friends", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_party_config.py", + "source_location": "L23", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_party_config_testpartyprofiles", + "target": "tests_test_party_config_testpartyprofiles_test_elderly_fatigue_hours_lower_than_friends", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_party_config.py", + "source_location": "L28", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_party_config_testpartyprofiles", + "target": "tests_test_party_config_testpartyprofiles_test_family_fatigue_between_friends_and_baby", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_party_config.py", + "source_location": "L33", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_party_config_testpartyprofiles", + "target": "tests_test_party_config_testpartyprofiles_test_unknown_type_returns_default", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_party_config.py", + "source_location": "L39", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_party_config_testpartyprofiles", + "target": "tests_test_party_config_testpartyprofiles_test_profile_is_frozen", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_party_config.py", + "source_location": "L44", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_party_config", + "target": "tests_test_party_config_testpartyprofilevalues", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_party_config.py", + "source_location": "L50", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_party_config_testpartyprofilevalues", + "target": "tests_test_party_config_testpartyprofilevalues_test_friends_fatigue_12h", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_party_config.py", + "source_location": "L51", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_party_config_testpartyprofilevalues", + "target": "tests_test_party_config_testpartyprofilevalues_test_baby_fatigue_8h", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_party_config.py", + "source_location": "L54", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_party_config_testpartyprofilevalues", + "target": "tests_test_party_config_testpartyprofilevalues_test_elderly_fatigue_8h", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_party_config.py", + "source_location": "L57", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_party_config_testpartyprofilevalues", + "target": "tests_test_party_config_testpartyprofilevalues_test_family_fatigue_10h", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_party_config.py", + "source_location": "L60", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_party_config_testpartyprofilevalues", + "target": "tests_test_party_config_testpartyprofilevalues_test_baby_speed_factor_is_point_eight", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_party_config.py", + "source_location": "L63", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_party_config_testpartyprofilevalues", + "target": "tests_test_party_config_testpartyprofilevalues_test_family_speed_factor_is_point_nine", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_party_config.py", + "source_location": "L66", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_party_config", + "target": "tests_test_party_config_teststrainthresholdlogic", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_party_config.py", + "source_location": "L70", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_party_config_teststrainthresholdlogic", + "target": "tests_test_party_config_teststrainthresholdlogic_test_baby_threshold_lower_than_friends", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_party_config.py", + "source_location": "L75", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_party_config_teststrainthresholdlogic", + "target": "tests_test_party_config_teststrainthresholdlogic_test_baby_threshold_is_24km", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_party_config.py", + "source_location": "L80", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_party_config_teststrainthresholdlogic", + "target": "tests_test_party_config_teststrainthresholdlogic_test_friends_threshold_unchanged", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_party_config.py", + "source_location": "L84", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_party_config_rationale_1", + "target": "tests_test_party_config", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "tests/test_party_config.py", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_party_config_rationale_71", + "target": "tests_test_party_config_teststrainthresholdlogic", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "tests/test_party_config.py", + "source_location": "L71", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator", + "target": "unittest_mock", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator", + "target": "pytest", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator", + "target": "src_data_models", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator", + "target": "src_explain_pipeline", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator", + "target": "src_scoring_bonus_engine", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator", + "target": "tests_test_pipeline_orchestrator_make_poi", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_make_poi", + "target": "src_data_models_poi", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator", + "target": "tests_test_pipeline_orchestrator_make_plan", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L33", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_make_plan", + "target": "src_data_models_itineraryplan", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L33", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator", + "target": "tests_test_pipeline_orchestrator_make_multi_day_plan", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L47", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_make_multi_day_plan", + "target": "src_data_models_itineraryplan", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L47", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator", + "target": "tests_test_pipeline_orchestrator_make_empty_bonus_engine", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L56", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_make_empty_bonus_engine", + "target": "src_scoring_bonus_engine_bonusengine", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L56", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_pipeline", + "target": "tests_test_pipeline_orchestrator_py_fixture", + "relation": "references", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L60", + "weight": 1.0, + "context": "decorator", + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator", + "target": "tests_test_pipeline_orchestrator_pipeline", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L61", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_pipeline", + "target": "src_explain_pipeline_validatorpipeline", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L61", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_sample_pois", + "target": "tests_test_pipeline_orchestrator_py_fixture", + "relation": "references", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L65", + "weight": 1.0, + "context": "decorator", + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator", + "target": "tests_test_pipeline_orchestrator_sample_pois", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L66", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_sample_pois", + "target": "src_data_models_poi", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L66", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_sample_plan", + "target": "tests_test_pipeline_orchestrator_py_fixture", + "relation": "references", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L75", + "weight": 1.0, + "context": "decorator", + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator", + "target": "tests_test_pipeline_orchestrator_sample_plan", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L76", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_sample_plan", + "target": "src_data_models_poi", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L76", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_sample_plan", + "target": "src_data_models_itineraryplan", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L76", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator", + "target": "tests_test_pipeline_orchestrator_testtovrptwday", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L84", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testtovrptwday", + "target": "tests_test_pipeline_orchestrator_testtovrptwday_test_converts_poi_fields", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L85", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testtovrptwday", + "target": "tests_test_pipeline_orchestrator_testtovrptwday_test_is_depot_false", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L94", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator", + "target": "tests_test_pipeline_orchestrator_testpipelinebasic", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L104", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinebasic", + "target": "tests_test_pipeline_orchestrator_testpipelinebasic_test_returns_validation_result", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L105", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinebasic", + "target": "tests_test_pipeline_orchestrator_testpipelinebasic_test_final_score_in_range", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L113", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinebasic", + "target": "tests_test_pipeline_orchestrator_testpipelinebasic_test_plan_id_matches", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L121", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinebasic", + "target": "tests_test_pipeline_orchestrator_testpipelinebasic_test_scores_populated", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L129", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinebasic", + "target": "tests_test_pipeline_orchestrator_testpipelinebasic_test_empty_pois_returns_zero_score", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L138", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinebasic", + "target": "tests_test_pipeline_orchestrator_testpipelinebasic_test_base_score_populated", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L143", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator", + "target": "tests_test_pipeline_orchestrator_testpipelinehardfail", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L156", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinehardfail", + "target": "tests_test_pipeline_orchestrator_testpipelinehardfail_test_open_hours_conflict_caps_score", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L157", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinehardfail", + "target": "tests_test_pipeline_orchestrator_testpipelinehardfail_test_no_hard_fail_score_above_59_possible", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L173", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinehardfail", + "target": "tests_test_pipeline_orchestrator_testpipelinehardfail_test_hard_fail_day_index_matches_offending_day", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L181", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinehardfail", + "target": "tests_test_pipeline_orchestrator_testpipelinehardfail_test_alternatives_populated_from_explain_engine", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L196", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinehardfail", + "target": "tests_test_pipeline_orchestrator_testpipelinehardfail_test_alternatives_not_computed_without_hard_fails", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L215", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator", + "target": "tests_test_pipeline_orchestrator_testpipelinebreakdown", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L225", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinebreakdown", + "target": "tests_test_pipeline_orchestrator_testpipelinebreakdown_test_breakdown_fields_are_dicts", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L226", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinebreakdown", + "target": "tests_test_pipeline_orchestrator_testpipelinebreakdown_test_wellness_bonus_reflected_in_breakdown", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L235", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinebreakdown", + "target": "tests_test_pipeline_orchestrator_testpipelinebreakdown_test_accessibility_bonus_for_accessible_party", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L246", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinebreakdown", + "target": "tests_test_pipeline_orchestrator_testpipelinebreakdown_test_pet_friendly_bonus_when_enabled", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L257", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinebreakdown", + "target": "tests_test_pipeline_orchestrator_testpipelinebreakdown_test_pet_friendly_bonus_absent_when_disabled", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L266", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinebreakdown", + "target": "tests_test_pipeline_orchestrator_testpipelinebreakdown_test_wellness_matched_exposed_on_result", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L274", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator", + "target": "tests_test_pipeline_orchestrator_testpipelinemultiday", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L289", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinemultiday", + "target": "tests_test_pipeline_orchestrator_testpipelinemultiday_test_multi_day_runs_without_error", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L290", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinemultiday", + "target": "tests_test_pipeline_orchestrator_testpipelinemultiday_test_sigungu_codes_accepted", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L301", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator", + "target": "tests_test_pipeline_orchestrator_testpipelinevrptw", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L318", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinevrptw", + "target": "tests_test_pipeline_orchestrator_testpipelinevrptw_test_vrptw_fields_present", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L319", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinevrptw", + "target": "tests_test_pipeline_orchestrator_testpipelinevrptw_test_vrptw_efficiency_gap_is_float_or_none", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L329", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinevrptw", + "target": "tests_test_pipeline_orchestrator_testpipelinevrptw_test_vrptw_efficiency_gap_non_negative", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L337", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinevrptw", + "target": "tests_test_pipeline_orchestrator_testpipelinevrptw_test_vrptw_optimal_route_per_day_count", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L346", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinevrptw", + "target": "tests_test_pipeline_orchestrator_testpipelinevrptw_test_vrptw_penalty_in_breakdown_when_gap_exceeds_threshold", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L359", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinevrptw", + "target": "tests_test_pipeline_orchestrator_testpipelinevrptw_test_vrptw_penalty_does_not_double_count_with_single_poi", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L373", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator", + "target": "tests_test_pipeline_orchestrator_testpipelinerepairgainestimation", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L385", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinerepairgainestimation", + "target": "tests_test_pipeline_orchestrator_testpipelinerepairgainestimation_test_deletion_suggestion_carries_gain_and_resolves_flag", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L386", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinerepairgainestimation", + "target": "tests_test_pipeline_orchestrator_testpipelinerepairgainestimation_test_no_repair_no_gain_fields_needed", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L406", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_make_poi", + "target": "src_data_models_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L24", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_make_plan", + "target": "src_data_models_itineraryplan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L38", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_make_multi_day_plan", + "target": "src_data_models_itineraryplan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L48", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_make_empty_bonus_engine", + "target": "src_scoring_bonus_engine_bonusengine", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L57", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_pipeline", + "target": "src_explain_pipeline_validatorpipeline", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L62", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_pipeline", + "target": "tests_test_pipeline_orchestrator_make_empty_bonus_engine", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L62", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_sample_pois", + "target": "tests_test_pipeline_orchestrator_make_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L68", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_sample_plan", + "target": "tests_test_pipeline_orchestrator_make_plan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L77", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testtovrptwday_test_converts_poi_fields", + "target": "tests_test_pipeline_orchestrator_make_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L86", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testtovrptwday_test_is_depot_false", + "target": "tests_test_pipeline_orchestrator_make_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L95", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinebasic_test_empty_pois_returns_zero_score", + "target": "tests_test_pipeline_orchestrator_make_plan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L139", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinehardfail_test_open_hours_conflict_caps_score", + "target": "src_data_models_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L160", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinehardfail_test_open_hours_conflict_caps_score", + "target": "tests_test_pipeline_orchestrator_make_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L166", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinehardfail_test_open_hours_conflict_caps_score", + "target": "tests_test_pipeline_orchestrator_make_plan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L168", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinehardfail_test_hard_fail_day_index_matches_offending_day", + "target": "tests_test_pipeline_orchestrator_make_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L183", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinehardfail_test_hard_fail_day_index_matches_offending_day", + "target": "src_data_models_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L184", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinehardfail_test_hard_fail_day_index_matches_offending_day", + "target": "tests_test_pipeline_orchestrator_make_multi_day_plan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L191", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinehardfail_test_alternatives_populated_from_explain_engine", + "target": "src_explain_pipeline_validatorpipeline", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L202", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinehardfail_test_alternatives_populated_from_explain_engine", + "target": "tests_test_pipeline_orchestrator_make_empty_bonus_engine", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L203", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinehardfail_test_alternatives_populated_from_explain_engine", + "target": "src_data_models_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L205", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinehardfail_test_alternatives_populated_from_explain_engine", + "target": "tests_test_pipeline_orchestrator_make_plan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L209", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinebreakdown_test_wellness_bonus_reflected_in_breakdown", + "target": "src_scoring_bonus_engine_bonusengine", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L237", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinebreakdown_test_wellness_bonus_reflected_in_breakdown", + "target": "src_explain_pipeline_validatorpipeline", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L238", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinebreakdown_test_wellness_bonus_reflected_in_breakdown", + "target": "tests_test_pipeline_orchestrator_make_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L240", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinebreakdown_test_wellness_bonus_reflected_in_breakdown", + "target": "tests_test_pipeline_orchestrator_make_plan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L241", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinebreakdown_test_accessibility_bonus_for_accessible_party", + "target": "src_scoring_bonus_engine_bonusengine", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L248", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinebreakdown_test_accessibility_bonus_for_accessible_party", + "target": "src_explain_pipeline_validatorpipeline", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L249", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinebreakdown_test_accessibility_bonus_for_accessible_party", + "target": "tests_test_pipeline_orchestrator_make_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L251", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinebreakdown_test_accessibility_bonus_for_accessible_party", + "target": "tests_test_pipeline_orchestrator_make_plan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L252", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinebreakdown_test_pet_friendly_bonus_when_enabled", + "target": "tests_test_pipeline_orchestrator_make_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L258", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinebreakdown_test_pet_friendly_bonus_when_enabled", + "target": "tests_test_pipeline_orchestrator_make_plan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L259", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinebreakdown_test_pet_friendly_bonus_absent_when_disabled", + "target": "tests_test_pipeline_orchestrator_make_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L267", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinebreakdown_test_pet_friendly_bonus_absent_when_disabled", + "target": "tests_test_pipeline_orchestrator_make_plan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L268", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinebreakdown_test_wellness_matched_exposed_on_result", + "target": "src_scoring_bonus_engine_bonusengine", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L276", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinebreakdown_test_wellness_matched_exposed_on_result", + "target": "src_explain_pipeline_validatorpipeline", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L277", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinebreakdown_test_wellness_matched_exposed_on_result", + "target": "tests_test_pipeline_orchestrator_make_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L279", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinebreakdown_test_wellness_matched_exposed_on_result", + "target": "tests_test_pipeline_orchestrator_make_plan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L280", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinemultiday_test_multi_day_runs_without_error", + "target": "tests_test_pipeline_orchestrator_make_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L291", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinemultiday_test_multi_day_runs_without_error", + "target": "tests_test_pipeline_orchestrator_make_multi_day_plan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L293", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinemultiday_test_sigungu_codes_accepted", + "target": "tests_test_pipeline_orchestrator_make_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L302", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinemultiday_test_sigungu_codes_accepted", + "target": "tests_test_pipeline_orchestrator_make_plan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L303", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinevrptw_test_vrptw_optimal_route_per_day_count", + "target": "tests_test_pipeline_orchestrator_make_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L347", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinevrptw_test_vrptw_optimal_route_per_day_count", + "target": "tests_test_pipeline_orchestrator_make_multi_day_plan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L349", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinevrptw_test_vrptw_penalty_in_breakdown_when_gap_exceeds_threshold", + "target": "tests_test_pipeline_orchestrator_make_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L363", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinevrptw_test_vrptw_penalty_in_breakdown_when_gap_exceeds_threshold", + "target": "tests_test_pipeline_orchestrator_make_plan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L367", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinevrptw_test_vrptw_penalty_does_not_double_count_with_single_poi", + "target": "tests_test_pipeline_orchestrator_make_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L374", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinevrptw_test_vrptw_penalty_does_not_double_count_with_single_poi", + "target": "tests_test_pipeline_orchestrator_make_plan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L375", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinerepairgainestimation_test_deletion_suggestion_carries_gain_and_resolves_flag", + "target": "tests_test_pipeline_orchestrator_make_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L388", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinerepairgainestimation_test_deletion_suggestion_carries_gain_and_resolves_flag", + "target": "src_data_models_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L390", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinerepairgainestimation_test_deletion_suggestion_carries_gain_and_resolves_flag", + "target": "tests_test_pipeline_orchestrator_make_plan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L395", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_rationale_1", + "target": "tests_test_pipeline_orchestrator", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_rationale_387", + "target": "tests_test_pipeline_orchestrator_testpipelinerepairgainestimation_test_deletion_suggestion_carries_gain_and_resolves_flag", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L387", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_rationale_407", + "target": "tests_test_pipeline_orchestrator_testpipelinerepairgainestimation_test_no_repair_no_gain_fields_needed", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L407", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_plan_extractor", + "target": "unittest_mock", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_plan_extractor.py", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_plan_extractor", + "target": "pytest", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_plan_extractor.py", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_plan_extractor", + "target": "src_explain_plan_extractor", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_plan_extractor.py", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_plan_extractor", + "target": "tests_test_plan_extractor_client_returning", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_plan_extractor.py", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_plan_extractor", + "target": "tests_test_plan_extractor_test_extract_from_text_parses_llm_response", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_plan_extractor.py", + "source_location": "L19", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_plan_extractor", + "target": "tests_test_plan_extractor_test_extract_from_text_strips_code_fence", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_plan_extractor.py", + "source_location": "L32", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_plan_extractor", + "target": "tests_test_plan_extractor_test_extract_from_text_empty_raises", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_plan_extractor.py", + "source_location": "L41", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_plan_extractor", + "target": "tests_test_plan_extractor_test_extract_from_text_without_client_falls_back_to_heuristic", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_plan_extractor.py", + "source_location": "L47", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_plan_extractor", + "target": "tests_test_plan_extractor_test_extract_from_document_without_client_raises", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_plan_extractor.py", + "source_location": "L58", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_plan_extractor", + "target": "tests_test_plan_extractor_test_extract_from_document_empty_bytes_raises", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_plan_extractor.py", + "source_location": "L64", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_plan_extractor", + "target": "tests_test_plan_extractor_test_extract_from_document_sends_document_block_for_pdf", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_plan_extractor.py", + "source_location": "L70", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_plan_extractor", + "target": "tests_test_plan_extractor_test_extract_from_document_sends_image_block_for_png", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_plan_extractor.py", + "source_location": "L81", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_plan_extractor", + "target": "tests_test_plan_extractor_test_invalid_json_response_raises", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_plan_extractor.py", + "source_location": "L91", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_plan_extractor", + "target": "tests_test_plan_extractor_test_api_call_failure_raises_extraction_error", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_plan_extractor.py", + "source_location": "L97", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_plan_extractor", + "target": "tests_test_plan_extractor_test_system_prompt_uses_prompt_caching", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_plan_extractor.py", + "source_location": "L106", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_plan_extractor_test_extract_from_text_parses_llm_response", + "target": "tests_test_plan_extractor_client_returning", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_plan_extractor.py", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_plan_extractor_test_extract_from_text_strips_code_fence", + "target": "tests_test_plan_extractor_client_returning", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_plan_extractor.py", + "source_location": "L33", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_plan_extractor_test_extract_from_text_empty_raises", + "target": "tests_test_plan_extractor_client_returning", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_plan_extractor.py", + "source_location": "L42", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_plan_extractor_test_extract_from_document_empty_bytes_raises", + "target": "tests_test_plan_extractor_client_returning", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_plan_extractor.py", + "source_location": "L65", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_plan_extractor_test_extract_from_document_sends_document_block_for_pdf", + "target": "tests_test_plan_extractor_client_returning", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_plan_extractor.py", + "source_location": "L71", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_plan_extractor_test_extract_from_document_sends_image_block_for_png", + "target": "tests_test_plan_extractor_client_returning", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_plan_extractor.py", + "source_location": "L82", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_plan_extractor_test_invalid_json_response_raises", + "target": "tests_test_plan_extractor_client_returning", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_plan_extractor.py", + "source_location": "L92", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_plan_extractor_test_system_prompt_uses_prompt_caching", + "target": "tests_test_plan_extractor_client_returning", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_plan_extractor.py", + "source_location": "L108", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_plan_extractor_rationale_1", + "target": "tests_test_plan_extractor", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "tests/test_plan_extractor.py", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_plan_extractor_rationale_107", + "target": "tests_test_plan_extractor_test_system_prompt_uses_prompt_caching", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "tests/test_plan_extractor.py", + "source_location": "L107", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_region_config", + "target": "src_data_region_config", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_region_config.py", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_region_config", + "target": "tests_test_region_config_testgetthresholds", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_region_config.py", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_region_config_testgetthresholds", + "target": "tests_test_region_config_testgetthresholds_test_seoul_code_returns_high", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_region_config.py", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_region_config_testgetthresholds", + "target": "tests_test_region_config_testgetthresholds_test_busan_code_returns_high", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_region_config.py", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_region_config_testgetthresholds", + "target": "tests_test_region_config_testgetthresholds_test_daegu_code_returns_medium", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_region_config.py", + "source_location": "L19", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_region_config_testgetthresholds", + "target": "tests_test_region_config_testgetthresholds_test_rural_code_returns_low", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_region_config.py", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_region_config_testgetthresholds", + "target": "tests_test_region_config_testgetthresholds_test_none_returns_medium", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_region_config.py", + "source_location": "L25", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_region_config_testgetthresholds", + "target": "tests_test_region_config_testgetthresholds_test_unknown_code_returns_low", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_region_config.py", + "source_location": "L28", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_region_config_testgetthresholds", + "target": "tests_test_region_config_testgetthresholds_test_high_dist_warn_smaller_than_low", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_region_config.py", + "source_location": "L31", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_region_config_testgetthresholds", + "target": "tests_test_region_config_testgetthresholds_test_high_physical_strain_smaller_than_low", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_region_config.py", + "source_location": "L34", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_region_config_testgetthresholds", + "target": "tests_test_region_config_testgetthresholds_test_tier_fields_ordered", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_region_config.py", + "source_location": "L37", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_region_config_rationale_1", + "target": "tests_test_region_config", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "tests/test_region_config.py", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair", + "target": "src_data_models", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair", + "target": "src_data_restaurant_catalog", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L5", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair", + "target": "src_explain_repair", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair", + "target": "tests_test_repair_repairengine", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_repairengine", + "target": "src_data_restaurant_catalog_restaurantcatalog", + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_repairengine", + "target": "repairengineclass", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair", + "target": "tests_test_repair_poi", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair", + "target": "tests_test_repair_plan", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L31", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_plan", + "target": "src_data_models_itineraryplan", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L31", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair", + "target": "tests_test_repair_fail", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L42", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_fail", + "target": "src_data_models_hardfail", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L42", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair", + "target": "tests_test_repair_testrepairenginenoop", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L53", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testrepairenginenoop", + "target": "tests_test_repair_testrepairenginenoop_test_empty_when_no_hard_fails", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L54", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testrepairenginenoop", + "target": "tests_test_repair_testrepairenginenoop_test_empty_when_pois_list_is_empty", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L60", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair", + "target": "tests_test_repair_outlier_pois", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L74", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_outlier_pois", + "target": "tests_test_repair_poi", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L74", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair", + "target": "tests_test_repair_testdeletionsuggestion", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L88", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testdeletionsuggestion", + "target": "tests_test_repair_testdeletionsuggestion_test_identifies_geometric_outlier", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L89", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testdeletionsuggestion", + "target": "tests_test_repair_testdeletionsuggestion_test_outlier_deletion_has_positive_savings", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L97", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testdeletionsuggestion", + "target": "tests_test_repair_testdeletionsuggestion_test_no_deletion_for_two_pois", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L104", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testdeletionsuggestion", + "target": "tests_test_repair_testdeletionsuggestion_test_deletion_reason_mentions_candidate", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L110", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testdeletionsuggestion", + "target": "tests_test_repair_testdeletionsuggestion_test_deletion_recommends_nearby_restaurant_when_available", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L117", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testdeletionsuggestion", + "target": "tests_test_repair_testdeletionsuggestion_test_deletion_explains_when_no_restaurant_nearby", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L127", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair", + "target": "tests_test_repair_testtimetunesuggestion", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L140", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testtimetunesuggestion", + "target": "tests_test_repair_testtimetunesuggestion_test_no_tune_when_within_limit", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L141", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testtimetunesuggestion", + "target": "tests_test_repair_testtimetunesuggestion_test_tune_suggested_when_over_limit", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L149", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testtimetunesuggestion", + "target": "tests_test_repair_testtimetunesuggestion_test_adjusted_durations_above_minimum", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L158", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair", + "target": "tests_test_repair_testresultmodel", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L173", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testresultmodel", + "target": "tests_test_repair_testresultmodel_test_to_dict_is_serializable", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L174", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testresultmodel", + "target": "tests_test_repair_testresultmodel_test_is_empty_true_when_no_suggestions", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L182", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testresultmodel", + "target": "tests_test_repair_testresultmodel_test_is_empty_false_when_has_deletion", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L188", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair", + "target": "tests_test_repair_testtotalestimatedgain", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L199", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testtotalestimatedgain", + "target": "tests_test_repair_testtotalestimatedgain_test_sums_across_different_days", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L200", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testtotalestimatedgain", + "target": "tests_test_repair_testtotalestimatedgain_test_takes_max_of_alternatives_on_same_day", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L207", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testtotalestimatedgain", + "target": "tests_test_repair_testtotalestimatedgain_test_zero_when_empty", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L214", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testtotalestimatedgain", + "target": "tests_test_repair_testtotalestimatedgain_test_included_in_to_dict", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L217", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_repairengine", + "target": "repairengineclass", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_repairengine", + "target": "src_data_restaurant_catalog_restaurantcatalog", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_plan", + "target": "src_data_models_itineraryplan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L34", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_fail", + "target": "src_data_models_hardfail", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L43", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testrepairenginenoop_test_empty_when_no_hard_fails", + "target": "tests_test_repair_repairengine", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L55", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testrepairenginenoop_test_empty_when_no_hard_fails", + "target": "tests_test_repair_plan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L56", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testrepairenginenoop_test_empty_when_no_hard_fails", + "target": "tests_test_repair_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L57", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testrepairenginenoop_test_empty_when_pois_list_is_empty", + "target": "tests_test_repair_repairengine", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L61", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testrepairenginenoop_test_empty_when_pois_list_is_empty", + "target": "tests_test_repair_plan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L62", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testrepairenginenoop_test_empty_when_pois_list_is_empty", + "target": "tests_test_repair_fail", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L63", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_outlier_pois", + "target": "tests_test_repair_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L77", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testdeletionsuggestion_test_identifies_geometric_outlier", + "target": "tests_test_repair_repairengine", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L90", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testdeletionsuggestion_test_identifies_geometric_outlier", + "target": "tests_test_repair_plan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L91", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testdeletionsuggestion_test_identifies_geometric_outlier", + "target": "tests_test_repair_outlier_pois", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L92", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testdeletionsuggestion_test_identifies_geometric_outlier", + "target": "tests_test_repair_fail", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L93", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testdeletionsuggestion_test_outlier_deletion_has_positive_savings", + "target": "tests_test_repair_repairengine", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L98", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testdeletionsuggestion_test_outlier_deletion_has_positive_savings", + "target": "tests_test_repair_plan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L99", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testdeletionsuggestion_test_outlier_deletion_has_positive_savings", + "target": "tests_test_repair_outlier_pois", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L100", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testdeletionsuggestion_test_outlier_deletion_has_positive_savings", + "target": "tests_test_repair_fail", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L100", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testdeletionsuggestion_test_no_deletion_for_two_pois", + "target": "tests_test_repair_repairengine", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L105", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testdeletionsuggestion_test_no_deletion_for_two_pois", + "target": "tests_test_repair_plan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L106", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testdeletionsuggestion_test_no_deletion_for_two_pois", + "target": "tests_test_repair_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L107", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testdeletionsuggestion_test_no_deletion_for_two_pois", + "target": "tests_test_repair_fail", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L107", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testdeletionsuggestion_test_deletion_reason_mentions_candidate", + "target": "tests_test_repair_repairengine", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L111", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testdeletionsuggestion_test_deletion_reason_mentions_candidate", + "target": "tests_test_repair_plan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L112", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testdeletionsuggestion_test_deletion_reason_mentions_candidate", + "target": "tests_test_repair_outlier_pois", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L113", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testdeletionsuggestion_test_deletion_reason_mentions_candidate", + "target": "tests_test_repair_fail", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L113", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testdeletionsuggestion_test_deletion_recommends_nearby_restaurant_when_available", + "target": "src_data_restaurant_catalog_restaurantcatalog", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L118", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testdeletionsuggestion_test_deletion_recommends_nearby_restaurant_when_available", + "target": "tests_test_repair_repairengine", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L119", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testdeletionsuggestion_test_deletion_recommends_nearby_restaurant_when_available", + "target": "tests_test_repair_plan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L120", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testdeletionsuggestion_test_deletion_recommends_nearby_restaurant_when_available", + "target": "tests_test_repair_outlier_pois", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L121", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testdeletionsuggestion_test_deletion_recommends_nearby_restaurant_when_available", + "target": "tests_test_repair_fail", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L121", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testdeletionsuggestion_test_deletion_explains_when_no_restaurant_nearby", + "target": "tests_test_repair_repairengine", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L128", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testdeletionsuggestion_test_deletion_explains_when_no_restaurant_nearby", + "target": "src_data_restaurant_catalog_restaurantcatalog", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L128", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testdeletionsuggestion_test_deletion_explains_when_no_restaurant_nearby", + "target": "tests_test_repair_plan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L129", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testdeletionsuggestion_test_deletion_explains_when_no_restaurant_nearby", + "target": "tests_test_repair_outlier_pois", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L130", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testdeletionsuggestion_test_deletion_explains_when_no_restaurant_nearby", + "target": "tests_test_repair_fail", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L130", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testtimetunesuggestion_test_no_tune_when_within_limit", + "target": "tests_test_repair_repairengine", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L143", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testtimetunesuggestion_test_no_tune_when_within_limit", + "target": "tests_test_repair_plan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L144", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testtimetunesuggestion_test_no_tune_when_within_limit", + "target": "tests_test_repair_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L145", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testtimetunesuggestion_test_no_tune_when_within_limit", + "target": "tests_test_repair_fail", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L146", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testtimetunesuggestion_test_tune_suggested_when_over_limit", + "target": "tests_test_repair_repairengine", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L151", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testtimetunesuggestion_test_tune_suggested_when_over_limit", + "target": "tests_test_repair_plan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L152", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testtimetunesuggestion_test_tune_suggested_when_over_limit", + "target": "tests_test_repair_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L153", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testtimetunesuggestion_test_tune_suggested_when_over_limit", + "target": "tests_test_repair_fail", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L154", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testtimetunesuggestion_test_adjusted_durations_above_minimum", + "target": "tests_test_repair_repairengine", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L160", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testtimetunesuggestion_test_adjusted_durations_above_minimum", + "target": "tests_test_repair_plan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L161", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testtimetunesuggestion_test_adjusted_durations_above_minimum", + "target": "tests_test_repair_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L162", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testtimetunesuggestion_test_adjusted_durations_above_minimum", + "target": "tests_test_repair_fail", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L163", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testresultmodel_test_to_dict_is_serializable", + "target": "tests_test_repair_repairengine", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L175", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testresultmodel_test_to_dict_is_serializable", + "target": "tests_test_repair_plan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L176", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testresultmodel_test_to_dict_is_serializable", + "target": "tests_test_repair_outlier_pois", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L177", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testresultmodel_test_to_dict_is_serializable", + "target": "tests_test_repair_fail", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L177", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testresultmodel_test_is_empty_true_when_no_suggestions", + "target": "tests_test_repair_repairengine", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L183", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testresultmodel_test_is_empty_true_when_no_suggestions", + "target": "tests_test_repair_plan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L184", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testresultmodel_test_is_empty_true_when_no_suggestions", + "target": "tests_test_repair_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L185", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testresultmodel_test_is_empty_false_when_has_deletion", + "target": "tests_test_repair_repairengine", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L189", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testresultmodel_test_is_empty_false_when_has_deletion", + "target": "tests_test_repair_plan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L190", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testresultmodel_test_is_empty_false_when_has_deletion", + "target": "tests_test_repair_outlier_pois", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L191", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testresultmodel_test_is_empty_false_when_has_deletion", + "target": "tests_test_repair_fail", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L191", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_rationale_11", + "target": "tests_test_repair_repairengine", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_rationale_75", + "target": "tests_test_repair_outlier_pois", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L75", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_rationale_142", + "target": "tests_test_repair_testtimetunesuggestion_test_no_tune_when_within_limit", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L142", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_rationale_150", + "target": "tests_test_repair_testtimetunesuggestion_test_tune_suggested_when_over_limit", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L150", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_rationale_159", + "target": "tests_test_repair_testtimetunesuggestion_test_adjusted_durations_above_minimum", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L159", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_resolve_poi", + "target": "unittest_mock", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_resolve_poi.py", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_resolve_poi", + "target": "openpyxl", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_resolve_poi.py", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_resolve_poi", + "target": "pytest", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_resolve_poi.py", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_resolve_poi", + "target": "fastapi_testclient", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_resolve_poi.py", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_resolve_poi", + "target": "src_api", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_resolve_poi.py", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_resolve_poi", + "target": "src_api_main", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_resolve_poi.py", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_resolve_poi", + "target": "tests_test_resolve_poi_write_jeju_xlsx", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_resolve_poi.py", + "source_location": "L19", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_resolve_poi_jeju_xlsx_index", + "target": "tests_test_resolve_poi_py_fixture", + "relation": "references", + "confidence": "EXTRACTED", + "source_file": "tests/test_resolve_poi.py", + "source_location": "L28", + "weight": 1.0, + "context": "decorator", + "_origin": "ast" + }, + { + "source": "tests_test_resolve_poi", + "target": "tests_test_resolve_poi_jeju_xlsx_index", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_resolve_poi.py", + "source_location": "L29", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_resolve_poi", + "target": "tests_test_resolve_poi_test_jeju_index_prefers_tourapi_hours_over_legacy_text", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_resolve_poi.py", + "source_location": "L51", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_resolve_poi", + "target": "tests_test_resolve_poi_test_jeju_index_sets_contentid_when_tourapi_matched", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_resolve_poi.py", + "source_location": "L56", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_resolve_poi", + "target": "tests_test_resolve_poi_test_jeju_index_falls_back_to_legacy_hours_when_unmatched", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_resolve_poi.py", + "source_location": "L61", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_resolve_poi", + "target": "tests_test_resolve_poi_test_jeju_index_sets_pet_friendly_flag_when_y", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_resolve_poi.py", + "source_location": "L67", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_resolve_poi", + "target": "tests_test_resolve_poi_test_jeju_index_defaults_pet_friendly_false_when_blank", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_resolve_poi.py", + "source_location": "L72", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_resolve_poi", + "target": "tests_test_resolve_poi_test_resolve_poi_propagates_pet_friendly_flag", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_resolve_poi.py", + "source_location": "L77", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_resolve_poi", + "target": "tests_test_resolve_poi_test_geocode_fallback_used_when_keyword_search_fails", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_resolve_poi.py", + "source_location": "L94", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_resolve_poi", + "target": "tests_test_resolve_poi_test_seoul_fallback_when_geocode_also_fails", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_resolve_poi.py", + "source_location": "L110", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_resolve_poi", + "target": "tests_test_resolve_poi_test_resolve_coords_endpoint_returns_poi_per_place", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_resolve_poi.py", + "source_location": "L123", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_resolve_poi_jeju_xlsx_index", + "target": "tests_test_resolve_poi_write_jeju_xlsx", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_resolve_poi.py", + "source_location": "L31", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_resolve_poi_rationale_1", + "target": "tests_test_resolve_poi", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "tests/test_resolve_poi.py", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_resolve_poi_rationale_30", + "target": "tests_test_resolve_poi_jeju_xlsx_index", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "tests/test_resolve_poi.py", + "source_location": "L30", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_resolve_poi_rationale_78", + "target": "tests_test_resolve_poi_test_resolve_poi_propagates_pet_friendly_flag", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "tests/test_resolve_poi.py", + "source_location": "L78", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_resolve_poi_rationale_95", + "target": "tests_test_resolve_poi_test_geocode_fallback_used_when_keyword_search_fails", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "tests/test_resolve_poi.py", + "source_location": "L95", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_resolve_poi_rationale_111", + "target": "tests_test_resolve_poi_test_seoul_fallback_when_geocode_also_fails", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "tests/test_resolve_poi.py", + "source_location": "L111", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_resolve_poi_rationale_124", + "target": "tests_test_resolve_poi_test_resolve_coords_endpoint_returns_poi_per_place", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "tests/test_resolve_poi.py", + "source_location": "L124", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_restaurant_catalog", + "target": "src_data_restaurant_catalog", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_restaurant_catalog.py", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_restaurant_catalog", + "target": "tests_test_restaurant_catalog_catalog", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_restaurant_catalog.py", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_restaurant_catalog_catalog", + "target": "src_data_restaurant_catalog_restaurantcatalog", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "tests/test_restaurant_catalog.py", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_restaurant_catalog", + "target": "tests_test_restaurant_catalog_test_nearby_returns_within_radius_sorted_by_distance", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_restaurant_catalog.py", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_restaurant_catalog", + "target": "tests_test_restaurant_catalog_test_nearby_excludes_self", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_restaurant_catalog.py", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_restaurant_catalog", + "target": "tests_test_restaurant_catalog_test_nearby_empty_when_no_restaurants_in_radius", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_restaurant_catalog.py", + "source_location": "L27", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_restaurant_catalog_catalog", + "target": "src_data_restaurant_catalog_restaurantcatalog", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_restaurant_catalog.py", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_restaurant_catalog_test_nearby_returns_within_radius_sorted_by_distance", + "target": "tests_test_restaurant_catalog_catalog", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_restaurant_catalog.py", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_restaurant_catalog_test_nearby_excludes_self", + "target": "tests_test_restaurant_catalog_catalog", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_restaurant_catalog.py", + "source_location": "L23", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_restaurant_catalog_test_nearby_empty_when_no_restaurants_in_radius", + "target": "src_data_restaurant_catalog_restaurantcatalog", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_restaurant_catalog.py", + "source_location": "L28", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_restaurant_catalog_rationale_1", + "target": "tests_test_restaurant_catalog", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "tests/test_restaurant_catalog.py", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_reward_engine", + "target": "pytest", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_reward_engine.py", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_reward_engine", + "target": "src_data_models", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_reward_engine.py", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_reward_engine", + "target": "src_scoring_reward_engine", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_reward_engine.py", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_reward_engine", + "target": "tests_test_reward_engine_scores", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_reward_engine.py", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_reward_engine", + "target": "tests_test_reward_engine_testgeneraterewards", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_reward_engine.py", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_reward_engine_testgeneraterewards", + "target": "tests_test_reward_engine_testgeneraterewards_test_hard_fail_returns_empty", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_reward_engine.py", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_reward_engine_testgeneraterewards", + "target": "tests_test_reward_engine_testgeneraterewards_test_excellent_flow_generates_message", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_reward_engine.py", + "source_location": "L27", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_reward_engine_testgeneraterewards", + "target": "tests_test_reward_engine_testgeneraterewards_test_excellent_efficiency_generates_message", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_reward_engine.py", + "source_location": "L37", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_reward_engine_testgeneraterewards", + "target": "tests_test_reward_engine_testgeneraterewards_test_low_travel_ratio_generates_message", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_reward_engine.py", + "source_location": "L47", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_reward_engine_testgeneraterewards", + "target": "tests_test_reward_engine_testgeneraterewards_test_excellent_purpose_fit_generates_message", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_reward_engine.py", + "source_location": "L57", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_reward_engine_testgeneraterewards", + "target": "tests_test_reward_engine_testgeneraterewards_test_no_warnings_generates_message", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_reward_engine.py", + "source_location": "L67", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_reward_engine_testgeneraterewards", + "target": "tests_test_reward_engine_testgeneraterewards_test_zero_cluster_penalty_generates_message", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_reward_engine.py", + "source_location": "L77", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_reward_engine_testgeneraterewards", + "target": "tests_test_reward_engine_testgeneraterewards_test_perfect_plan_all_messages", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_reward_engine.py", + "source_location": "L87", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_reward_engine_testgeneraterewards", + "target": "tests_test_reward_engine_testgeneraterewards_test_mediocre_plan_few_messages", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_reward_engine.py", + "source_location": "L97", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_reward_engine_testgeneraterewards_test_hard_fail_returns_empty", + "target": "tests_test_reward_engine_scores", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_reward_engine.py", + "source_location": "L19", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_reward_engine_testgeneraterewards_test_excellent_flow_generates_message", + "target": "tests_test_reward_engine_scores", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_reward_engine.py", + "source_location": "L29", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_reward_engine_testgeneraterewards_test_excellent_efficiency_generates_message", + "target": "tests_test_reward_engine_scores", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_reward_engine.py", + "source_location": "L39", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_reward_engine_testgeneraterewards_test_low_travel_ratio_generates_message", + "target": "tests_test_reward_engine_scores", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_reward_engine.py", + "source_location": "L49", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_reward_engine_testgeneraterewards_test_excellent_purpose_fit_generates_message", + "target": "tests_test_reward_engine_scores", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_reward_engine.py", + "source_location": "L59", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_reward_engine_testgeneraterewards_test_no_warnings_generates_message", + "target": "tests_test_reward_engine_scores", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_reward_engine.py", + "source_location": "L69", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_reward_engine_testgeneraterewards_test_zero_cluster_penalty_generates_message", + "target": "tests_test_reward_engine_scores", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_reward_engine.py", + "source_location": "L79", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_reward_engine_testgeneraterewards_test_perfect_plan_all_messages", + "target": "tests_test_reward_engine_scores", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_reward_engine.py", + "source_location": "L89", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_reward_engine_testgeneraterewards_test_mediocre_plan_few_messages", + "target": "tests_test_reward_engine_scores", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_reward_engine.py", + "source_location": "L99", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_scoring", + "target": "pytest", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_scoring.py", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_scoring", + "target": "src_data_models", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_scoring.py", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_scoring", + "target": "src_validation_scoring", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_scoring.py", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_scoring", + "target": "tests_test_scoring_make_poi", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_scoring.py", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_make_poi", + "target": "src_data_models_poi", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "tests/test_scoring.py", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_scoring", + "target": "tests_test_scoring_make_plan", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_scoring.py", + "source_location": "L29", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_make_plan", + "target": "src_data_models_itineraryplan", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "tests/test_scoring.py", + "source_location": "L29", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_scoring", + "target": "tests_test_scoring_make_matrix", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_scoring.py", + "source_location": "L42", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_scoring", + "target": "tests_test_scoring_make_hard_fail", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_scoring.py", + "source_location": "L52", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_make_hard_fail", + "target": "src_data_models_hardfail", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "tests/test_scoring.py", + "source_location": "L52", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_calc", + "target": "tests_test_scoring_py_fixture", + "relation": "references", + "confidence": "EXTRACTED", + "source_file": "tests/test_scoring.py", + "source_location": "L65", + "weight": 1.0, + "context": "decorator", + "_origin": "ast" + }, + { + "source": "tests_test_scoring", + "target": "tests_test_scoring_calc", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_scoring.py", + "source_location": "L66", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_calc", + "target": "src_validation_scoring_scorecalculator", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "tests/test_scoring.py", + "source_location": "L66", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_sample_pois", + "target": "tests_test_scoring_py_fixture", + "relation": "references", + "confidence": "EXTRACTED", + "source_file": "tests/test_scoring.py", + "source_location": "L70", + "weight": 1.0, + "context": "decorator", + "_origin": "ast" + }, + { + "source": "tests_test_scoring", + "target": "tests_test_scoring_sample_pois", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_scoring.py", + "source_location": "L71", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_sample_pois", + "target": "src_data_models_poi", + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "tests/test_scoring.py", + "source_location": "L71", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_sample_matrix", + "target": "tests_test_scoring_py_fixture", + "relation": "references", + "confidence": "EXTRACTED", + "source_file": "tests/test_scoring.py", + "source_location": "L80", + "weight": 1.0, + "context": "decorator", + "_origin": "ast" + }, + { + "source": "tests_test_scoring", + "target": "tests_test_scoring_sample_matrix", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_scoring.py", + "source_location": "L81", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_sample_plan", + "target": "tests_test_scoring_py_fixture", + "relation": "references", + "confidence": "EXTRACTED", + "source_file": "tests/test_scoring.py", + "source_location": "L86", + "weight": 1.0, + "context": "decorator", + "_origin": "ast" + }, + { + "source": "tests_test_scoring", + "target": "tests_test_scoring_sample_plan", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_scoring.py", + "source_location": "L87", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_sample_plan", + "target": "src_data_models_itineraryplan", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "tests/test_scoring.py", + "source_location": "L87", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_scoring", + "target": "tests_test_scoring_testweights", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_scoring.py", + "source_location": "L95", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_testweights", + "target": "tests_test_scoring_testweights_test_weights_sum_to_one", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_scoring.py", + "source_location": "L96", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_testweights", + "target": "tests_test_scoring_testweights_test_weights_keys", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_scoring.py", + "source_location": "L100", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_scoring", + "target": "tests_test_scoring_testcompute", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_scoring.py", + "source_location": "L110", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_testcompute", + "target": "tests_test_scoring_testcompute_test_final_score_in_range", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_scoring.py", + "source_location": "L111", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_testcompute", + "target": "tests_test_scoring_testcompute_test_hard_fail_caps_score_at_59", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_scoring.py", + "source_location": "L115", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_testcompute", + "target": "tests_test_scoring_testcompute_test_no_hard_fail_can_exceed_59", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_scoring.py", + "source_location": "L121", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_testcompute", + "target": "tests_test_scoring_testcompute_test_scores_object_fields", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_scoring.py", + "source_location": "L127", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_scoring", + "target": "tests_test_scoring_testefficiency", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_scoring.py", + "source_location": "L140", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_testefficiency", + "target": "tests_test_scoring_testefficiency_test_optimal_order_is_one", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_scoring.py", + "source_location": "L141", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_testefficiency", + "target": "tests_test_scoring_testefficiency_test_suboptimal_order_below_one", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_scoring.py", + "source_location": "L150", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_testefficiency", + "target": "tests_test_scoring_testefficiency_test_single_poi_returns_one", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_scoring.py", + "source_location": "L161", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_scoring", + "target": "tests_test_scoring_testfeasibility", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_scoring.py", + "source_location": "L170", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_testfeasibility", + "target": "tests_test_scoring_testfeasibility_test_no_hard_fails_hard_is_one", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_scoring.py", + "source_location": "L171", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_testfeasibility", + "target": "tests_test_scoring_testfeasibility_test_hard_fail_reduces_feasibility", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_scoring.py", + "source_location": "L176", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_testfeasibility", + "target": "tests_test_scoring_testfeasibility_test_feasibility_in_range", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_scoring.py", + "source_location": "L181", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_scoring", + "target": "tests_test_scoring_testpurposefit", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_scoring.py", + "source_location": "L190", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_testpurposefit", + "target": "tests_test_scoring_testpurposefit_test_cultural_all_cultural_high", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_scoring.py", + "source_location": "L191", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_testpurposefit", + "target": "tests_test_scoring_testpurposefit_test_cultural_all_sports_low", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_scoring.py", + "source_location": "L197", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_testpurposefit", + "target": "tests_test_scoring_testpurposefit_test_no_travel_type_returns_half", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_scoring.py", + "source_location": "L203", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_scoring", + "target": "tests_test_scoring_testcosinedistance", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_scoring.py", + "source_location": "L213", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_testcosinedistance", + "target": "tests_test_scoring_testcosinedistance_test_identical_vectors", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_scoring.py", + "source_location": "L214", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_testcosinedistance", + "target": "tests_test_scoring_testcosinedistance_test_orthogonal_vectors", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_scoring.py", + "source_location": "L218", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_testcosinedistance", + "target": "tests_test_scoring_testcosinedistance_test_zero_vector", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_scoring.py", + "source_location": "L223", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_make_poi", + "target": "src_data_models_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_scoring.py", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_make_plan", + "target": "src_data_models_itineraryplan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_scoring.py", + "source_location": "L33", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_make_hard_fail", + "target": "src_data_models_hardfail", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_scoring.py", + "source_location": "L53", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_calc", + "target": "src_validation_scoring_scorecalculator", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_scoring.py", + "source_location": "L67", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_sample_pois", + "target": "tests_test_scoring_make_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_scoring.py", + "source_location": "L73", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_sample_matrix", + "target": "tests_test_scoring_make_matrix", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_scoring.py", + "source_location": "L83", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_sample_plan", + "target": "tests_test_scoring_make_plan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_scoring.py", + "source_location": "L88", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_testcompute_test_hard_fail_caps_score_at_59", + "target": "tests_test_scoring_make_hard_fail", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_scoring.py", + "source_location": "L117", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_testefficiency_test_optimal_order_is_one", + "target": "tests_test_scoring_make_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_scoring.py", + "source_location": "L144", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_testefficiency_test_suboptimal_order_below_one", + "target": "tests_test_scoring_make_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_scoring.py", + "source_location": "L153", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_testefficiency_test_single_poi_returns_one", + "target": "tests_test_scoring_make_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_scoring.py", + "source_location": "L162", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_testfeasibility_test_hard_fail_reduces_feasibility", + "target": "tests_test_scoring_make_hard_fail", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_scoring.py", + "source_location": "L177", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_testpurposefit_test_cultural_all_cultural_high", + "target": "tests_test_scoring_make_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_scoring.py", + "source_location": "L192", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_testpurposefit_test_cultural_all_cultural_high", + "target": "tests_test_scoring_make_plan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_scoring.py", + "source_location": "L193", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_testpurposefit_test_cultural_all_sports_low", + "target": "tests_test_scoring_make_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_scoring.py", + "source_location": "L198", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_testpurposefit_test_cultural_all_sports_low", + "target": "tests_test_scoring_make_plan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_scoring.py", + "source_location": "L199", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_testpurposefit_test_no_travel_type_returns_half", + "target": "tests_test_scoring_make_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_scoring.py", + "source_location": "L204", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_testpurposefit_test_no_travel_type_returns_half", + "target": "tests_test_scoring_make_plan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_scoring.py", + "source_location": "L205", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_rationale_1", + "target": "tests_test_scoring", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "tests/test_scoring.py", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_theme_alignment", + "target": "unittest_mock", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_theme_alignment.py", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_theme_alignment", + "target": "pytest", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_theme_alignment.py", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_theme_alignment", + "target": "src_data_theme_taxonomy", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_theme_alignment.py", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_theme_alignment", + "target": "src_scoring_theme_alignment", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_theme_alignment.py", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_theme_alignment_clear_cache", + "target": "tests_test_theme_alignment_py_fixture", + "relation": "references", + "confidence": "EXTRACTED", + "source_file": "tests/test_theme_alignment.py", + "source_location": "L21", + "weight": 1.0, + "context": "decorator", + "_origin": "ast" + }, + { + "source": "tests_test_theme_alignment", + "target": "tests_test_theme_alignment_clear_cache", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_theme_alignment.py", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_theme_alignment", + "target": "tests_test_theme_alignment_testnoapikey", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_theme_alignment.py", + "source_location": "L29", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_theme_alignment_testnoapikey", + "target": "tests_test_theme_alignment_testnoapikey_test_skip_returns_informational_only", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_theme_alignment.py", + "source_location": "L30", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_theme_alignment", + "target": "tests_test_theme_alignment_testclassifyscore", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_theme_alignment.py", + "source_location": "L41", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_theme_alignment_testclassifyscore", + "target": "tests_test_theme_alignment_testclassifyscore_test_high_score_no_penalty", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_theme_alignment.py", + "source_location": "L42", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_theme_alignment_testclassifyscore", + "target": "tests_test_theme_alignment_testclassifyscore_test_low_score_critical", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_theme_alignment.py", + "source_location": "L47", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_theme_alignment", + "target": "tests_test_theme_alignment_testparsellmresponse", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_theme_alignment.py", + "source_location": "L53", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_theme_alignment_testparsellmresponse", + "target": "tests_test_theme_alignment_testparsellmresponse_test_clean_json", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_theme_alignment.py", + "source_location": "L54", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_theme_alignment_testparsellmresponse", + "target": "tests_test_theme_alignment_testparsellmresponse_test_score_clamped_to_1", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_theme_alignment.py", + "source_location": "L61", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_theme_alignment_testparsellmresponse", + "target": "tests_test_theme_alignment_testparsellmresponse_test_code_block_stripped", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_theme_alignment.py", + "source_location": "L66", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_theme_alignment", + "target": "tests_test_theme_alignment_testevaluatewithmockclient", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_theme_alignment.py", + "source_location": "L72", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_theme_alignment_testevaluatewithmockclient", + "target": "tests_test_theme_alignment_testevaluatewithmockclient_test_high_alignment_no_penalty", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_theme_alignment.py", + "source_location": "L73", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_theme_alignment_testevaluatewithmockclient", + "target": "tests_test_theme_alignment_testevaluatewithmockclient_test_low_alignment_critical", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_theme_alignment.py", + "source_location": "L90", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_theme_alignment_testevaluatewithmockclient", + "target": "tests_test_theme_alignment_testevaluatewithmockclient_test_cache_hit_skips_second_call", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_theme_alignment.py", + "source_location": "L106", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_theme_alignment_testevaluatewithmockclient", + "target": "tests_test_theme_alignment_testevaluatewithmockclient_test_llm_failure_returns_informational", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_theme_alignment.py", + "source_location": "L121", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_theme_alignment_rationale_1", + "target": "tests_test_theme_alignment", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "tests/test_theme_alignment.py", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_theme_alignment_rationale_31", + "target": "tests_test_theme_alignment_testnoapikey_test_skip_returns_informational_only", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "tests/test_theme_alignment.py", + "source_location": "L31", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_theme_alignment_rationale_91", + "target": "tests_test_theme_alignment_testevaluatewithmockclient_test_low_alignment_critical", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "tests/test_theme_alignment.py", + "source_location": "L91", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_theme_alignment_rationale_107", + "target": "tests_test_theme_alignment_testevaluatewithmockclient_test_cache_hit_skips_second_call", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "tests/test_theme_alignment.py", + "source_location": "L107", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_theme_alignment_rationale_122", + "target": "tests_test_theme_alignment_testevaluatewithmockclient_test_llm_failure_returns_informational", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "tests/test_theme_alignment.py", + "source_location": "L122", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_theme_taxonomy", + "target": "pytest", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_theme_taxonomy.py", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_theme_taxonomy", + "target": "src_data_theme_taxonomy", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_theme_taxonomy.py", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_theme_taxonomy", + "target": "tests_test_theme_taxonomy_testplacetypecount", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_theme_taxonomy.py", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_theme_taxonomy_testplacetypecount", + "target": "tests_test_theme_taxonomy_testplacetypecount_test_9_place_types", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_theme_taxonomy.py", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_theme_taxonomy_testplacetypecount", + "target": "tests_test_theme_taxonomy_testplacetypecount_test_9_travel_styles", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_theme_taxonomy.py", + "source_location": "L21", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_theme_taxonomy", + "target": "tests_test_theme_taxonomy_testuserpreferences", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_theme_taxonomy.py", + "source_location": "L27", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_theme_taxonomy_testuserpreferences", + "target": "tests_test_theme_taxonomy_testuserpreferences_test_valid_input", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_theme_taxonomy.py", + "source_location": "L28", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_theme_taxonomy_testuserpreferences", + "target": "tests_test_theme_taxonomy_testuserpreferences_test_invalid_place_type_raises", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_theme_taxonomy.py", + "source_location": "L33", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_theme_taxonomy_testuserpreferences", + "target": "tests_test_theme_taxonomy_testuserpreferences_test_invalid_style_raises", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_theme_taxonomy.py", + "source_location": "L37", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_theme_taxonomy_testuserpreferences", + "target": "tests_test_theme_taxonomy_testuserpreferences_test_empty_both_axes_raises", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_theme_taxonomy.py", + "source_location": "L41", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_theme_taxonomy", + "target": "tests_test_theme_taxonomy_testmatchesplacetype", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_theme_taxonomy.py", + "source_location": "L46", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_theme_taxonomy_testmatchesplacetype", + "target": "tests_test_theme_taxonomy_testmatchesplacetype_test_mountain_matches_na04", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_theme_taxonomy.py", + "source_location": "L47", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_theme_taxonomy_testmatchesplacetype", + "target": "tests_test_theme_taxonomy_testmatchesplacetype_test_beach_matches_na12", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_theme_taxonomy.py", + "source_location": "L51", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_theme_taxonomy_testmatchesplacetype", + "target": "tests_test_theme_taxonomy_testmatchesplacetype_test_festival_matches_content_type_15", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_theme_taxonomy.py", + "source_location": "L54", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_theme_taxonomy_testmatchesplacetype", + "target": "tests_test_theme_taxonomy_testmatchesplacetype_test_no_match", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_theme_taxonomy.py", + "source_location": "L57", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_theme_taxonomy", + "target": "tests_test_theme_taxonomy_testgetplacetypesfor", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_theme_taxonomy.py", + "source_location": "L62", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_theme_taxonomy_testgetplacetypesfor", + "target": "tests_test_theme_taxonomy_testgetplacetypesfor_test_mountain_code_returns_list", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_theme_taxonomy.py", + "source_location": "L63", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_theme_taxonomy_testgetplacetypesfor", + "target": "tests_test_theme_taxonomy_testgetplacetypesfor_test_no_code_returns_empty", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_theme_taxonomy.py", + "source_location": "L67", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_theme_taxonomy_rationale_1", + "target": "tests_test_theme_taxonomy", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "tests/test_theme_taxonomy.py", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_travel_ratio", + "target": "pytest", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_travel_ratio.py", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_travel_ratio", + "target": "src_data_models", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_travel_ratio.py", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_travel_ratio", + "target": "src_scoring_travel_ratio", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_travel_ratio.py", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_travel_ratio", + "target": "src_validation_vrptw_engine", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_travel_ratio.py", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_travel_ratio", + "target": "tests_test_travel_ratio_make_place", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_travel_ratio.py", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_travel_ratio", + "target": "tests_test_travel_ratio_test_no_penalty_when_ratio_low", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_travel_ratio.py", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_travel_ratio", + "target": "tests_test_travel_ratio_test_penalty_when_ratio_high", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_travel_ratio.py", + "source_location": "L35", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_travel_ratio", + "target": "tests_test_travel_ratio_test_overall_ratio_aggregates_across_days", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_travel_ratio.py", + "source_location": "L48", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_travel_ratio_test_no_penalty_when_ratio_low", + "target": "tests_test_travel_ratio_make_place", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_travel_ratio.py", + "source_location": "L25", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_travel_ratio_test_penalty_when_ratio_high", + "target": "tests_test_travel_ratio_make_place", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_travel_ratio.py", + "source_location": "L38", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_travel_ratio_test_overall_ratio_aggregates_across_days", + "target": "tests_test_travel_ratio_make_place", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_travel_ratio.py", + "source_location": "L51", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_travel_ratio_rationale_1", + "target": "tests_test_travel_ratio", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "tests/test_travel_ratio.py", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_travel_ratio_rationale_23", + "target": "tests_test_travel_ratio_test_no_penalty_when_ratio_low", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "tests/test_travel_ratio.py", + "source_location": "L23", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_travel_ratio_rationale_36", + "target": "tests_test_travel_ratio_test_penalty_when_ratio_high", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "tests/test_travel_ratio.py", + "source_location": "L36", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine", + "target": "math", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine", + "target": "typing", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L5", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine", + "target": "unittest_mock", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine", + "target": "pytest", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine", + "target": "src_data_models", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine", + "target": "src_validation_vrptw_engine", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine", + "target": "tests_test_vrptw_engine_make_place", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L24", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_make_place", + "target": "src_data_models_vrptwplace", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L24", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine", + "target": "tests_test_vrptw_engine_testhaversinematrix", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L54", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testhaversinematrix", + "target": "tests_test_vrptw_engine_testhaversinematrix_test_same_point_is_zero", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L55", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testhaversinematrix", + "target": "tests_test_vrptw_engine_testhaversinematrix_test_known_distance", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L59", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testhaversinematrix", + "target": "tests_test_vrptw_engine_testhaversinematrix_test_symmetry", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L66", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine", + "target": "tests_test_vrptw_engine_testcachedroutematrix", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L75", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testcachedroutematrix", + "target": "tests_test_vrptw_engine_testcachedroutematrix_test_cache_hit", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L76", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testcachedroutematrix", + "target": "tests_test_vrptw_engine_testcachedroutematrix_test_cache_miss_falls_back_to_haversine", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L81", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testcachedroutematrix", + "target": "tests_test_vrptw_engine_testcachedroutematrix_test_reverse_key_fallback", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L87", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testcachedroutematrix", + "target": "tests_test_vrptw_engine_testcachedroutematrix_test_load_from_dict", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L93", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine", + "target": "tests_test_vrptw_engine_testdepotconstraint", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L105", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testdepotconstraint", + "target": "tests_test_vrptw_engine_testdepotconstraint_engine_with_haversine", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L106", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testdepotconstraint_engine_with_haversine", + "target": "src_validation_vrptw_engine_vrptwengine", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L106", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testdepotconstraint", + "target": "tests_test_vrptw_engine_testdepotconstraint_test_2n3d_day1_must_end_at_depot", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L109", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testdepotconstraint", + "target": "tests_test_vrptw_engine_testdepotconstraint_test_2n3d_middle_day_must_start_and_end_at_depot", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L126", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testdepotconstraint", + "target": "tests_test_vrptw_engine_testdepotconstraint_test_1n2d_no_depot_constraint_applied", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L139", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine", + "target": "tests_test_vrptw_engine_testtimewindowfeasibility", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L161", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testtimewindowfeasibility", + "target": "tests_test_vrptw_engine_testtimewindowfeasibility_engine", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L162", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testtimewindowfeasibility_engine", + "target": "src_validation_vrptw_engine_vrptwengine", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L162", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testtimewindowfeasibility", + "target": "tests_test_vrptw_engine_testtimewindowfeasibility_test_feasible_schedule_passes", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L165", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testtimewindowfeasibility", + "target": "tests_test_vrptw_engine_testtimewindowfeasibility_test_infeasible_close_time_triggers_critical", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L174", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testtimewindowfeasibility", + "target": "tests_test_vrptw_engine_testtimewindowfeasibility_test_safety_margin_warning", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L185", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine", + "target": "tests_test_vrptw_engine_testefficiencygap", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L203", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testefficiencygap", + "target": "tests_test_vrptw_engine_testefficiencygap_test_optimal_order_same_as_user_gives_zero_gap", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L204", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testefficiencygap", + "target": "tests_test_vrptw_engine_testefficiencygap_test_reversed_inefficient_route_shows_gap", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L212", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine", + "target": "tests_test_vrptw_engine_testfatiguescore", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L225", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testfatiguescore", + "target": "tests_test_vrptw_engine_testfatiguescore_test_12h_schedule_no_fatigue_penalty", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L226", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testfatiguescore", + "target": "tests_test_vrptw_engine_testfatiguescore_test_long_schedule_triggers_fatigue", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L239", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine", + "target": "tests_test_vrptw_engine_testortoolsdegradation", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L256", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testortoolsdegradation", + "target": "tests_test_vrptw_engine_testortoolsdegradation_test_missing_ortools_still_returns_result", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L257", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine", + "target": "tests_test_vrptw_engine_testriskscore", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L277", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testriskscore", + "target": "tests_test_vrptw_engine_testriskscore_test_risk_score_in_0_100", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L278", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testriskscore", + "target": "tests_test_vrptw_engine_testriskscore_test_pass_fail_threshold", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L284", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine", + "target": "tests_test_vrptw_engine_test_constants_accessible", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L298", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine", + "target": "tests_test_vrptw_engine_testmodelvalidation", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L308", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testmodelvalidation", + "target": "tests_test_vrptw_engine_testmodelvalidation_test_invalid_lat_raises", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L309", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testmodelvalidation", + "target": "tests_test_vrptw_engine_testmodelvalidation_test_invalid_lng_raises", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L313", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testmodelvalidation", + "target": "tests_test_vrptw_engine_testmodelvalidation_test_invalid_time_format_raises", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L317", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testmodelvalidation", + "target": "tests_test_vrptw_engine_testmodelvalidation_test_invalid_time_value_raises", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L321", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testmodelvalidation", + "target": "tests_test_vrptw_engine_testmodelvalidation_test_negative_stay_raises", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L325", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testmodelvalidation", + "target": "tests_test_vrptw_engine_testmodelvalidation_test_zero_stay_allowed_for_depot", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L329", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testmodelvalidation", + "target": "tests_test_vrptw_engine_testmodelvalidation_test_empty_day_raises", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L334", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testmodelvalidation", + "target": "tests_test_vrptw_engine_testmodelvalidation_test_empty_days_raises", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L338", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testmodelvalidation", + "target": "tests_test_vrptw_engine_testmodelvalidation_test_open_minutes_property", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L342", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testmodelvalidation", + "target": "tests_test_vrptw_engine_testmodelvalidation_test_close_minutes_property", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L346", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine", + "target": "tests_test_vrptw_engine_testefficiencygapthreshold", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L355", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testefficiencygapthreshold", + "target": "tests_test_vrptw_engine_testefficiencygapthreshold_test_gap_over_threshold_adds_warning", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L356", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine", + "target": "tests_test_vrptw_engine_testmultidayresult", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L376", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testmultidayresult", + "target": "tests_test_vrptw_engine_testmultidayresult_test_multi_day_returns_per_day_comparison", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L377", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testmultidayresult", + "target": "tests_test_vrptw_engine_testmultidayresult_test_multi_day_user_total_travel_is_sum", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L391", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testmultidayresult", + "target": "tests_test_vrptw_engine_testmultidayresult_test_single_place_day_no_travel", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L404", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine", + "target": "tests_test_vrptw_engine_test_summary_contains_score", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L415", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine", + "target": "tests_test_vrptw_engine_test_deep_dive_items_have_all_fields", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L427", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine", + "target": "tests_test_vrptw_engine_test_cached_matrix_from_actual_file", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L444", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_make_place", + "target": "src_data_models_vrptwplace", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L33", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testcachedroutematrix_test_load_from_dict", + "target": "tests_test_vrptw_engine_make_place", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L96", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testdepotconstraint_engine_with_haversine", + "target": "src_validation_vrptw_engine_vrptwengine", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L107", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testdepotconstraint_test_2n3d_day1_must_end_at_depot", + "target": "tests_test_vrptw_engine_testdepotconstraint_engine_with_haversine", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L118", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testdepotconstraint_test_2n3d_middle_day_must_start_and_end_at_depot", + "target": "tests_test_vrptw_engine_testdepotconstraint_engine_with_haversine", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L134", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testdepotconstraint_test_1n2d_no_depot_constraint_applied", + "target": "tests_test_vrptw_engine_testdepotconstraint_engine_with_haversine", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L147", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testtimewindowfeasibility_engine", + "target": "src_validation_vrptw_engine_vrptwengine", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L163", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testtimewindowfeasibility_test_feasible_schedule_passes", + "target": "tests_test_vrptw_engine_testtimewindowfeasibility_engine", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L169", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testtimewindowfeasibility_test_infeasible_close_time_triggers_critical", + "target": "tests_test_vrptw_engine_make_place", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L176", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testtimewindowfeasibility_test_infeasible_close_time_triggers_critical", + "target": "tests_test_vrptw_engine_testtimewindowfeasibility_engine", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L180", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testtimewindowfeasibility_test_safety_margin_warning", + "target": "tests_test_vrptw_engine_make_place", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L189", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testtimewindowfeasibility_test_safety_margin_warning", + "target": "tests_test_vrptw_engine_testtimewindowfeasibility_engine", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L193", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testefficiencygap_test_optimal_order_same_as_user_gives_zero_gap", + "target": "src_validation_vrptw_engine_vrptwengine", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L207", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testefficiencygap_test_reversed_inefficient_route_shows_gap", + "target": "src_validation_vrptw_engine_vrptwengine", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L215", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testfatiguescore_test_12h_schedule_no_fatigue_penalty", + "target": "tests_test_vrptw_engine_make_place", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L229", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testfatiguescore_test_12h_schedule_no_fatigue_penalty", + "target": "src_validation_vrptw_engine_vrptwengine", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L233", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testfatiguescore_test_long_schedule_triggers_fatigue", + "target": "tests_test_vrptw_engine_make_place", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L242", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testfatiguescore_test_long_schedule_triggers_fatigue", + "target": "src_validation_vrptw_engine_vrptwengine", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L246", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testortoolsdegradation_test_missing_ortools_still_returns_result", + "target": "src_validation_vrptw_engine_vrptwengine", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L265", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testriskscore_test_risk_score_in_0_100", + "target": "src_validation_vrptw_engine_vrptwengine", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L280", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testriskscore_test_pass_fail_threshold", + "target": "src_validation_vrptw_engine_vrptwengine", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L286", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testmodelvalidation_test_invalid_lat_raises", + "target": "src_data_models_vrptwplace", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L311", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testmodelvalidation_test_invalid_lng_raises", + "target": "src_data_models_vrptwplace", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L315", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testmodelvalidation_test_invalid_time_format_raises", + "target": "src_data_models_vrptwplace", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L319", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testmodelvalidation_test_invalid_time_value_raises", + "target": "src_data_models_vrptwplace", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L323", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testmodelvalidation_test_negative_stay_raises", + "target": "src_data_models_vrptwplace", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L327", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testmodelvalidation_test_zero_stay_allowed_for_depot", + "target": "src_data_models_vrptwplace", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L330", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testmodelvalidation_test_open_minutes_property", + "target": "tests_test_vrptw_engine_make_place", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L343", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testmodelvalidation_test_close_minutes_property", + "target": "tests_test_vrptw_engine_make_place", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L347", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testefficiencygapthreshold_test_gap_over_threshold_adds_warning", + "target": "tests_test_vrptw_engine_make_place", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L360", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testefficiencygapthreshold_test_gap_over_threshold_adds_warning", + "target": "src_validation_vrptw_engine_vrptwengine", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L364", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testmultidayresult_test_multi_day_returns_per_day_comparison", + "target": "src_validation_vrptw_engine_vrptwengine", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L384", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testmultidayresult_test_multi_day_user_total_travel_is_sum", + "target": "src_validation_vrptw_engine_vrptwengine", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L398", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testmultidayresult_test_single_place_day_no_travel", + "target": "src_validation_vrptw_engine_vrptwengine", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L406", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_test_summary_contains_score", + "target": "src_validation_vrptw_engine_vrptwengine", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L417", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_test_deep_dive_items_have_all_fields", + "target": "tests_test_vrptw_engine_make_place", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L429", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_test_deep_dive_items_have_all_fields", + "target": "src_validation_vrptw_engine_vrptwengine", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L431", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_test_cached_matrix_from_actual_file", + "target": "tests_test_vrptw_engine_make_place", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L454", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_rationale_1", + "target": "tests_test_vrptw_engine", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_rationale_88", + "target": "tests_test_vrptw_engine_testcachedroutematrix_test_reverse_key_fallback", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L88", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_rationale_110", + "target": "tests_test_vrptw_engine_testdepotconstraint_test_2n3d_day1_must_end_at_depot", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L110", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_rationale_140", + "target": "tests_test_vrptw_engine_testdepotconstraint_test_1n2d_no_depot_constraint_applied", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L140", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_rationale_175", + "target": "tests_test_vrptw_engine_testtimewindowfeasibility_test_infeasible_close_time_triggers_critical", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L175", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_rationale_186", + "target": "tests_test_vrptw_engine_testtimewindowfeasibility_test_safety_margin_warning", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L186", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_rationale_205", + "target": "tests_test_vrptw_engine_testefficiencygap_test_optimal_order_same_as_user_gives_zero_gap", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L205", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_rationale_213", + "target": "tests_test_vrptw_engine_testefficiencygap_test_reversed_inefficient_route_shows_gap", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L213", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_rationale_258", + "target": "tests_test_vrptw_engine_testortoolsdegradation_test_missing_ortools_still_returns_result", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L258", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_rationale_357", + "target": "tests_test_vrptw_engine_testefficiencygapthreshold_test_gap_over_threshold_adds_warning", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L357", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_rationale_428", + "target": "tests_test_vrptw_engine_test_deep_dive_items_have_all_fields", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L428", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_rationale_445", + "target": "tests_test_vrptw_engine_test_cached_matrix_from_actual_file", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L445", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_warning", + "target": "pytest", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_warning.py", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_warning", + "target": "src_data_models", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_warning.py", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_warning", + "target": "src_validation_warning", + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_warning.py", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_warning", + "target": "tests_test_warning_make_poi", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_warning.py", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_warning_make_poi", + "target": "src_data_models_poi", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "tests/test_warning.py", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_warning", + "target": "tests_test_warning_make_plan", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_warning.py", + "source_location": "L29", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_warning_make_plan", + "target": "src_data_models_itineraryplan", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "tests/test_warning.py", + "source_location": "L29", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_warning", + "target": "tests_test_warning_make_matrix", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_warning.py", + "source_location": "L44", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_warning_detector", + "target": "tests_test_warning_py_fixture", + "relation": "references", + "confidence": "EXTRACTED", + "source_file": "tests/test_warning.py", + "source_location": "L58", + "weight": 1.0, + "context": "decorator", + "_origin": "ast" + }, + { + "source": "tests_test_warning", + "target": "tests_test_warning_detector", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_warning.py", + "source_location": "L59", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_warning_detector", + "target": "src_validation_warning_warningdetector", + "relation": "references", + "context": "return_type", + "confidence": "EXTRACTED", + "source_file": "tests/test_warning.py", + "source_location": "L59", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_warning", + "target": "tests_test_warning_testdenseschedule", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_warning.py", + "source_location": "L67", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_warning_testdenseschedule", + "target": "tests_test_warning_testdenseschedule_test_dense_trigger_baby", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_warning.py", + "source_location": "L68", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_warning_testdenseschedule", + "target": "tests_test_warning_testdenseschedule_test_dense_trigger_friends_heavy", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_warning.py", + "source_location": "L77", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_warning_testdenseschedule", + "target": "tests_test_warning_testdenseschedule_test_no_dense_within_threshold", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_warning.py", + "source_location": "L86", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_warning_testdenseschedule", + "target": "tests_test_warning_testdenseschedule_test_dense_message_includes_party_type", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_warning.py", + "source_location": "L95", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_warning", + "target": "tests_test_warning_testphysicalstrain", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_warning.py", + "source_location": "L109", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_warning_testphysicalstrain", + "target": "tests_test_warning_testphysicalstrain_test_strain_trigger", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_warning.py", + "source_location": "L110", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_warning_testphysicalstrain", + "target": "tests_test_warning_testphysicalstrain_test_no_strain_short_distance", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_warning.py", + "source_location": "L123", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_warning", + "target": "tests_test_warning_testpurposemismatch", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_warning.py", + "source_location": "L138", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_warning_testpurposemismatch", + "target": "tests_test_warning_testpurposemismatch_test_mismatch_cultural_all_sports", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_warning.py", + "source_location": "L139", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_warning_testpurposemismatch", + "target": "tests_test_warning_testpurposemismatch_test_no_mismatch_cultural_all_cultural", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_warning.py", + "source_location": "L150", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_warning_testpurposemismatch", + "target": "tests_test_warning_testpurposemismatch_test_no_mismatch_when_no_travel_type", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_warning.py", + "source_location": "L161", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_warning", + "target": "tests_test_warning_testarearevisit", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_warning.py", + "source_location": "L173", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_warning_testarearevisit", + "target": "tests_test_warning_testarearevisit_test_consecutive_same_category_triggers", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_warning.py", + "source_location": "L174", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_warning_testarearevisit", + "target": "tests_test_warning_testarearevisit_test_all_different_no_revisit", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_warning.py", + "source_location": "L187", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_warning_testarearevisit", + "target": "tests_test_warning_testarearevisit_test_three_consecutive_triggers", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_warning.py", + "source_location": "L199", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_warning_testarearevisit", + "target": "tests_test_warning_testarearevisit_test_two_consecutive_no_trigger", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_warning.py", + "source_location": "L212", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_warning", + "target": "tests_test_warning_testwarningfields", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_warning.py", + "source_location": "L230", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_warning_testwarningfields", + "target": "tests_test_warning_testwarningfields_test_warning_has_confidence_from_types", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_warning.py", + "source_location": "L231", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_warning_testwarningfields", + "target": "tests_test_warning_testwarningfields_test_warning_message_not_empty", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_warning.py", + "source_location": "L242", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_warning", + "target": "tests_test_warning_testdayindex", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/test_warning.py", + "source_location": "L255", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_warning_testdayindex", + "target": "tests_test_warning_testdayindex_test_day_index_defaults_to_none", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_warning.py", + "source_location": "L256", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_warning_testdayindex", + "target": "tests_test_warning_testdayindex_test_day_index_and_poi_names_set_when_passed", + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/test_warning.py", + "source_location": "L266", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_warning_make_poi", + "target": "src_data_models_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_warning.py", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_warning_make_plan", + "target": "src_data_models_itineraryplan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_warning.py", + "source_location": "L35", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_warning_detector", + "target": "src_validation_warning_warningdetector", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_warning.py", + "source_location": "L60", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_warning_testdenseschedule_test_dense_trigger_baby", + "target": "tests_test_warning_make_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_warning.py", + "source_location": "L70", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_warning_testdenseschedule_test_dense_trigger_baby", + "target": "tests_test_warning_make_matrix", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_warning.py", + "source_location": "L71", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_warning_testdenseschedule_test_dense_trigger_baby", + "target": "tests_test_warning_make_plan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_warning.py", + "source_location": "L72", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_warning_testdenseschedule_test_dense_trigger_friends_heavy", + "target": "tests_test_warning_make_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_warning.py", + "source_location": "L79", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_warning_testdenseschedule_test_dense_trigger_friends_heavy", + "target": "tests_test_warning_make_matrix", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_warning.py", + "source_location": "L80", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_warning_testdenseschedule_test_dense_trigger_friends_heavy", + "target": "tests_test_warning_make_plan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_warning.py", + "source_location": "L81", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_warning_testdenseschedule_test_no_dense_within_threshold", + "target": "tests_test_warning_make_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_warning.py", + "source_location": "L88", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_warning_testdenseschedule_test_no_dense_within_threshold", + "target": "tests_test_warning_make_matrix", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_warning.py", + "source_location": "L89", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_warning_testdenseschedule_test_no_dense_within_threshold", + "target": "tests_test_warning_make_plan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_warning.py", + "source_location": "L90", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_warning_testdenseschedule_test_dense_message_includes_party_type", + "target": "tests_test_warning_make_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_warning.py", + "source_location": "L96", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_warning_testdenseschedule_test_dense_message_includes_party_type", + "target": "tests_test_warning_make_matrix", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_warning.py", + "source_location": "L97", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_warning_testdenseschedule_test_dense_message_includes_party_type", + "target": "tests_test_warning_make_plan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_warning.py", + "source_location": "L98", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_warning_testphysicalstrain_test_strain_trigger", + "target": "tests_test_warning_make_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_warning.py", + "source_location": "L113", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_warning_testphysicalstrain_test_strain_trigger", + "target": "tests_test_warning_make_plan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_warning.py", + "source_location": "L118", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_warning_testphysicalstrain_test_no_strain_short_distance", + "target": "tests_test_warning_make_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_warning.py", + "source_location": "L125", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_warning_testphysicalstrain_test_no_strain_short_distance", + "target": "tests_test_warning_make_plan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_warning.py", + "source_location": "L128", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_warning_testpurposemismatch_test_mismatch_cultural_all_sports", + "target": "tests_test_warning_make_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_warning.py", + "source_location": "L142", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_warning_testpurposemismatch_test_mismatch_cultural_all_sports", + "target": "tests_test_warning_make_plan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_warning.py", + "source_location": "L145", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_warning_testpurposemismatch_test_no_mismatch_cultural_all_cultural", + "target": "tests_test_warning_make_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_warning.py", + "source_location": "L153", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_warning_testpurposemismatch_test_no_mismatch_cultural_all_cultural", + "target": "tests_test_warning_make_plan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_warning.py", + "source_location": "L156", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_warning_testpurposemismatch_test_no_mismatch_when_no_travel_type", + "target": "tests_test_warning_make_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_warning.py", + "source_location": "L162", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_warning_testpurposemismatch_test_no_mismatch_when_no_travel_type", + "target": "tests_test_warning_make_plan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_warning.py", + "source_location": "L163", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_warning_testarearevisit_test_consecutive_same_category_triggers", + "target": "tests_test_warning_make_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_warning.py", + "source_location": "L177", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_warning_testarearevisit_test_consecutive_same_category_triggers", + "target": "tests_test_warning_make_plan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_warning.py", + "source_location": "L182", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_warning_testarearevisit_test_all_different_no_revisit", + "target": "tests_test_warning_make_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_warning.py", + "source_location": "L189", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_warning_testarearevisit_test_all_different_no_revisit", + "target": "tests_test_warning_make_plan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_warning.py", + "source_location": "L194", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_warning_testarearevisit_test_three_consecutive_triggers", + "target": "tests_test_warning_make_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_warning.py", + "source_location": "L202", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_warning_testarearevisit_test_three_consecutive_triggers", + "target": "tests_test_warning_make_plan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_warning.py", + "source_location": "L207", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_warning_testarearevisit_test_two_consecutive_no_trigger", + "target": "tests_test_warning_make_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_warning.py", + "source_location": "L215", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_warning_testarearevisit_test_two_consecutive_no_trigger", + "target": "tests_test_warning_make_plan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_warning.py", + "source_location": "L220", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_warning_testwarningfields_test_warning_has_confidence_from_types", + "target": "tests_test_warning_make_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_warning.py", + "source_location": "L233", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_warning_testwarningfields_test_warning_has_confidence_from_types", + "target": "tests_test_warning_make_plan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_warning.py", + "source_location": "L236", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_warning_testwarningfields_test_warning_message_not_empty", + "target": "tests_test_warning_make_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_warning.py", + "source_location": "L243", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_warning_testwarningfields_test_warning_message_not_empty", + "target": "tests_test_warning_make_matrix", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_warning.py", + "source_location": "L244", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_warning_testwarningfields_test_warning_message_not_empty", + "target": "tests_test_warning_make_plan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_warning.py", + "source_location": "L245", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_warning_testdayindex_test_day_index_defaults_to_none", + "target": "tests_test_warning_make_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_warning.py", + "source_location": "L257", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_warning_testdayindex_test_day_index_defaults_to_none", + "target": "tests_test_warning_make_matrix", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_warning.py", + "source_location": "L258", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_warning_testdayindex_test_day_index_defaults_to_none", + "target": "tests_test_warning_make_plan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_warning.py", + "source_location": "L259", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_warning_testdayindex_test_day_index_and_poi_names_set_when_passed", + "target": "tests_test_warning_make_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_warning.py", + "source_location": "L267", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_warning_testdayindex_test_day_index_and_poi_names_set_when_passed", + "target": "tests_test_warning_make_matrix", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_warning.py", + "source_location": "L268", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_warning_testdayindex_test_day_index_and_poi_names_set_when_passed", + "target": "tests_test_warning_make_plan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_warning.py", + "source_location": "L269", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_warning_rationale_1", + "target": "tests_test_warning", + "relation": "rationale_for", + "confidence": "EXTRACTED", + "source_file": "tests/test_warning.py", + "source_location": "L1", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_matrix_init", + "target": "src_matrix_redis_matrix", + "relation": "re_exports", + "context": "export", + "confidence": "EXTRACTED", + "source_file": "src/matrix/__init__.py", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_itinerary_excel", + "target": "src_data_dwell_db_get_recommended_dwell", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L41", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_itinerary_excel", + "target": "src_data_hours_db_resolve_hours", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L42", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_itinerary_excel", + "target": "src_data_hours_db_hoursspec", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L42", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_itinerary_excel", + "target": "src_data_hours_db_to_minutes", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L42", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_itinerary_excel", + "target": "src_data_models_vrptwday", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L43", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_itinerary_excel", + "target": "src_data_models_vrptwplace", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L43", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_itinerary_excel", + "target": "src_scoring_cluster_dispersion_evaluate_cluster_dispersion", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L44", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_itinerary_excel", + "target": "src_scoring_travel_ratio_evaluate_travel_ratio", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L45", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_itinerary_excel", + "target": "src_validation_kakao_matrix_kakaomobilitymatrix", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L46", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_itinerary_excel", + "target": "src_validation_vrptw_engine_haversinematrix", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L47", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_travel_matrix", + "target": "src_data_models_vrptwplace", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_travel_matrix.py", + "source_location": "L39", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_travel_matrix", + "target": "src_validation_kakao_matrix_kakaomobilitymatrix", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_travel_matrix.py", + "source_location": "L40", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_setup_and_test", + "target": "src_validation_kakao_matrix_kakaomobilitymatrix", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/setup_and_test.py", + "source_location": "L47", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_setup_and_test", + "target": "src_data_models_vrptwplace", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/setup_and_test.py", + "source_location": "L48", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_build_poi_dataset", + "target": "src_data_barrier_free_api_barrierfreeapiclient", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/build_poi_dataset.py", + "source_location": "L25", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_build_poi_dataset", + "target": "src_data_models_settings", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/build_poi_dataset.py", + "source_location": "L26", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_build_poi_dataset", + "target": "src_data_wellness_api_wellnessapiclient", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/build_poi_dataset.py", + "source_location": "L27", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_demo_live_e2e", + "target": "src_data_graph_retriever_graphretriever", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/demo_live_e2e.py", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_demo_live_e2e", + "target": "src_data_models_dayplan", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/demo_live_e2e.py", + "source_location": "L21", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_demo_live_e2e", + "target": "src_data_models_hardfail", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/demo_live_e2e.py", + "source_location": "L21", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_demo_live_e2e", + "target": "src_data_models_itineraryplan", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/demo_live_e2e.py", + "source_location": "L21", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_demo_live_e2e", + "target": "src_data_models_placeinput", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/demo_live_e2e.py", + "source_location": "L21", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_demo_live_e2e", + "target": "src_explain_explain_engine_explainengine", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/demo_live_e2e.py", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_fetch_jeju_hours", + "target": "src_data_models_settings", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/fetch_jeju_hours.py", + "source_location": "L28", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_fetch_jeju_hours", + "target": "src_data_tour_api_tourapiclient", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/fetch_jeju_hours.py", + "source_location": "L29", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_geocode_jeju_missing_coords", + "target": "src_data_kakao_local_kakaolocalclient", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/geocode_jeju_missing_coords.py", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_neo4j_coverage_analysis", + "target": "src_data_models_vrptwday", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/neo4j_coverage_analysis.py", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_neo4j_coverage_analysis", + "target": "src_data_models_vrptwplace", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/neo4j_coverage_analysis.py", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_neo4j_coverage_analysis", + "target": "src_data_models_vrptwrequest", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/neo4j_coverage_analysis.py", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_neo4j_coverage_analysis", + "target": "src_scoring_cluster_dispersion_evaluate_cluster_dispersion", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/neo4j_coverage_analysis.py", + "source_location": "L23", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_neo4j_coverage_analysis", + "target": "src_scoring_travel_ratio_evaluate_travel_ratio", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/neo4j_coverage_analysis.py", + "source_location": "L24", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_neo4j_coverage_analysis", + "target": "src_validation_vrptw_engine_haversinematrix", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/neo4j_coverage_analysis.py", + "source_location": "L25", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_neo4j_coverage_analysis", + "target": "src_validation_vrptw_engine_vrptwengine", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/neo4j_coverage_analysis.py", + "source_location": "L25", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_pipeline", + "target": "src_data_models_dayplan", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/test_pipeline.py", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_pipeline", + "target": "src_data_models_itineraryplan", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/test_pipeline.py", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_pipeline", + "target": "src_data_models_placeinput", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/test_pipeline.py", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_pipeline", + "target": "src_data_models_poi", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/test_pipeline.py", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_pipeline", + "target": "src_validation_hard_fail_hardfaildetector", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/test_pipeline.py", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_pipeline", + "target": "src_validation_warning_warningdetector", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/test_pipeline.py", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_pipeline", + "target": "src_validation_scoring_scorecalculator", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "scripts/test_pipeline.py", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router", + "target": "src_api_schemas_dayplanweb", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router", + "target": "src_api_schemas_parsedplanresponse", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router", + "target": "src_api_schemas_parsetextrequest", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router", + "target": "src_api_schemas_placeitem", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router", + "target": "src_api_schemas_placesresponse", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router", + "target": "src_api_schemas_poiinfo", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router", + "target": "src_api_schemas_validaterequest", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router", + "target": "src_api_schemas_validateresponse", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router", + "target": "src_data_graph_retriever_graphretriever", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L24", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router", + "target": "src_data_hours_db_resolve_hours", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L25", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router", + "target": "src_data_kakao_local_kakaolocalclient", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L26", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router", + "target": "src_data_models_poi", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L27", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router", + "target": "src_data_models_dayplan", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L27", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router", + "target": "src_data_models_itineraryplan", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L27", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router", + "target": "src_data_models_placeinput", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L27", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router", + "target": "src_explain_pipeline_validatorpipeline", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L28", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router", + "target": "src_explain_plan_extractor_planextractionerror", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L29", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router", + "target": "src_explain_plan_extractor_planextractor", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L29", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_barrier_free_api", + "target": "src_data_models_settings", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/data/barrier_free_api.py", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_graph_retriever", + "target": "src_data_models_alternativepoi", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/data/graph_retriever.py", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_graph_retriever", + "target": "src_data_models_placeevidence", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/data/graph_retriever.py", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_kakao_local", + "target": "src_data_models_kakaoplace", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/data/kakao_local.py", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_restaurant_catalog", + "target": "src_data_models_alternativepoi", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/data/restaurant_catalog.py", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_restaurant_catalog", + "target": "src_utils_geo_haversine_km", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/data/restaurant_catalog.py", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_seoul_citydata_client", + "target": "src_data_models_settings", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/data/seoul_citydata_client.py", + "source_location": "L95", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_tour_api", + "target": "src_data_models_poi", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/data/tour_api.py", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_tour_api", + "target": "src_data_models_settings", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/data/tour_api.py", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_wellness_api", + "target": "src_data_models_settings", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/data/wellness_api.py", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine", + "target": "src_data_graph_retriever_graphretriever", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L21", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine", + "target": "src_data_models_alternativepoi", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine", + "target": "src_data_models_explanationitem", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine", + "target": "src_data_models_hardfail", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine", + "target": "src_data_models_itineraryplan", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine", + "target": "src_data_models_scores", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine", + "target": "src_data_models_warning", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline", + "target": "src_data_models_poi", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/explain/pipeline.py", + "source_location": "L26", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline", + "target": "src_data_models_hardfail", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/explain/pipeline.py", + "source_location": "L26", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline", + "target": "src_data_models_itineraryplan", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/explain/pipeline.py", + "source_location": "L26", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline", + "target": "src_data_models_scores", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/explain/pipeline.py", + "source_location": "L26", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline", + "target": "src_data_models_validationresult", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/explain/pipeline.py", + "source_location": "L26", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline", + "target": "src_data_models_vrptwday", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/explain/pipeline.py", + "source_location": "L26", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline", + "target": "src_data_models_vrptwplace", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/explain/pipeline.py", + "source_location": "L26", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline", + "target": "src_data_models_vrptwrequest", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/explain/pipeline.py", + "source_location": "L26", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline", + "target": "src_data_theme_taxonomy_userpreferences", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/explain/pipeline.py", + "source_location": "L36", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline", + "target": "src_explain_explain_engine_explainengine", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/explain/pipeline.py", + "source_location": "L37", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline", + "target": "src_explain_repair_repairengine", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/explain/pipeline.py", + "source_location": "L38", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline", + "target": "src_explain_repair_repairresult", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/explain/pipeline.py", + "source_location": "L38", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline", + "target": "src_scoring_bonus_engine_bonusengine", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/explain/pipeline.py", + "source_location": "L39", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline", + "target": "src_scoring_bonus_engine_bonusresult", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/explain/pipeline.py", + "source_location": "L39", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline", + "target": "src_scoring_cluster_dispersion_evaluate_cluster_dispersion", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/explain/pipeline.py", + "source_location": "L40", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline", + "target": "src_scoring_reward_engine_generate_rewards", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/explain/pipeline.py", + "source_location": "L41", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline", + "target": "src_scoring_theme_alignment_poiwithcategory", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/explain/pipeline.py", + "source_location": "L42", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline", + "target": "src_scoring_theme_alignment_themealignmentjudge", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/explain/pipeline.py", + "source_location": "L42", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline", + "target": "src_scoring_travel_ratio_evaluate_travel_ratio", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/explain/pipeline.py", + "source_location": "L43", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline", + "target": "src_validation_hard_fail_hardfaildetector", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/explain/pipeline.py", + "source_location": "L44", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline", + "target": "src_validation_scoring_scorecalculator", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/explain/pipeline.py", + "source_location": "L45", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline", + "target": "src_validation_vrptw_engine_vrptwengine", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/explain/pipeline.py", + "source_location": "L46", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline", + "target": "src_validation_warning_warningdetector", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/explain/pipeline.py", + "source_location": "L47", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_plan_extractor", + "target": "src_api_schemas_parsedday", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/explain/plan_extractor.py", + "source_location": "L19", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_plan_extractor", + "target": "src_api_schemas_parsedplace", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/explain/plan_extractor.py", + "source_location": "L19", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_plan_extractor", + "target": "src_api_schemas_parsedplanresponse", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/explain/plan_extractor.py", + "source_location": "L19", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_repair", + "target": "src_data_models_poi", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/explain/repair.py", + "source_location": "L19", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_repair", + "target": "src_data_models_hardfail", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/explain/repair.py", + "source_location": "L19", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_repair", + "target": "src_data_models_itineraryplan", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/explain/repair.py", + "source_location": "L19", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_repair", + "target": "src_data_party_config_get_party_profile", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/explain/repair.py", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_repair", + "target": "src_data_restaurant_catalog_restaurantcatalog", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/explain/repair.py", + "source_location": "L21", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_repair", + "target": "src_utils_geo_build_dist_cache", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/explain/repair.py", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_repair", + "target": "src_utils_geo_get_travel_min", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/explain/repair.py", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_repair", + "target": "src_utils_geo_haversine_km", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/explain/repair.py", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_repair", + "target": "src_validation_hard_fail_hardfaildetector", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/explain/repair.py", + "source_location": "L23", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_matrix_init", + "target": "src_matrix_redis_matrix_redistimematrix", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/matrix/__init__.py", + "source_location": "L2", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_matrix_redis_matrix", + "target": "src_data_models_vrptwplace", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/matrix/redis_matrix.py", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_matrix_redis_matrix", + "target": "src_validation_vrptw_engine_haversinematrix", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/matrix/redis_matrix.py", + "source_location": "L23", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_matrix_redis_matrix", + "target": "src_validation_vrptw_engine_timematrix", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/matrix/redis_matrix.py", + "source_location": "L23", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_bonus_engine", + "target": "src_data_models_poi", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/scoring/bonus_engine.py", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_bonus_engine", + "target": "src_utils_geo_haversine_km", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/scoring/bonus_engine.py", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_cluster_dispersion", + "target": "src_data_models_deepdiveitem", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/scoring/cluster_dispersion.py", + "source_location": "L21", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_cluster_dispersion", + "target": "src_data_models_vrptwday", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/scoring/cluster_dispersion.py", + "source_location": "L21", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_cluster_dispersion", + "target": "src_data_models_vrptwplace", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/scoring/cluster_dispersion.py", + "source_location": "L21", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_cluster_dispersion", + "target": "src_utils_geo_haversine_km", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/scoring/cluster_dispersion.py", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_congestion_engine", + "target": "src_data_seoul_citydata_client_seoulcitydataclient", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/scoring/congestion_engine.py", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_reward_engine", + "target": "src_data_models_scores", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/scoring/reward_engine.py", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_theme_alignment", + "target": "src_data_models_deepdiveitem", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/scoring/theme_alignment.py", + "source_location": "L21", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_theme_alignment", + "target": "src_data_theme_taxonomy_userpreferences", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/scoring/theme_alignment.py", + "source_location": "L22", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_travel_ratio", + "target": "src_data_models_deepdiveitem", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/scoring/travel_ratio.py", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_travel_ratio", + "target": "src_data_models_vrptwday", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/scoring/travel_ratio.py", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_travel_ratio", + "target": "src_data_models_vrptwplace", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/scoring/travel_ratio.py", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_travel_ratio", + "target": "src_validation_vrptw_engine_haversinematrix", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/scoring/travel_ratio.py", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_travel_ratio", + "target": "src_validation_vrptw_engine_timematrix", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/scoring/travel_ratio.py", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_alternatives", + "target": "src_data_models_alternativepoi", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/validation/alternatives.py", + "source_location": "L26", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_alternatives", + "target": "src_data_models_hardfail", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/validation/alternatives.py", + "source_location": "L26", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_alternatives", + "target": "src_data_models_poi", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/validation/alternatives.py", + "source_location": "L26", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_hard_fail", + "target": "src_data_models_hardfail", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/validation/hard_fail.py", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_hard_fail", + "target": "src_data_models_itineraryplan", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/validation/hard_fail.py", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_hard_fail", + "target": "src_data_models_poi", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/validation/hard_fail.py", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_hard_fail", + "target": "src_utils_geo_build_dist_cache", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/validation/hard_fail.py", + "source_location": "L5", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_hard_fail", + "target": "src_utils_geo_get_travel_min", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/validation/hard_fail.py", + "source_location": "L5", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_kakao_matrix", + "target": "src_data_models_vrptwplace", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/validation/kakao_matrix.py", + "source_location": "L35", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_kakao_matrix", + "target": "src_validation_vrptw_engine_haversinematrix", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/validation/kakao_matrix.py", + "source_location": "L36", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_kakao_matrix", + "target": "src_validation_vrptw_engine_timematrix", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/validation/kakao_matrix.py", + "source_location": "L36", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_scoring", + "target": "src_data_models_hardfail", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/validation/scoring.py", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_scoring", + "target": "src_data_models_itineraryplan", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/validation/scoring.py", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_scoring", + "target": "src_data_models_poi", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/validation/scoring.py", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_scoring", + "target": "src_data_models_scores", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/validation/scoring.py", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_scoring", + "target": "src_data_party_config_get_party_profile", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/validation/scoring.py", + "source_location": "L5", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_scoring", + "target": "src_utils_geo_build_dist_cache", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/validation/scoring.py", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_scoring", + "target": "src_utils_geo_get_travel_min", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/validation/scoring.py", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_scoring", + "target": "src_utils_geo_nn_heuristic_km", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/validation/scoring.py", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_scoring", + "target": "src_validation_warning_cosine_distance", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/validation/scoring.py", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine", + "target": "src_data_models_dayroutecomparison", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine", + "target": "src_data_models_deepdiveitem", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine", + "target": "src_data_models_vrptwday", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine", + "target": "src_data_models_vrptwplace", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine", + "target": "src_data_models_vrptwrequest", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine", + "target": "src_data_models_vrptwresult", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_warning", + "target": "src_data_models_itineraryplan", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/validation/warning.py", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_warning", + "target": "src_data_models_poi", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/validation/warning.py", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_warning", + "target": "src_data_models_warning", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/validation/warning.py", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_warning", + "target": "src_data_party_config_get_party_profile", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/validation/warning.py", + "source_location": "L5", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_warning", + "target": "src_utils_geo_build_dist_cache", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/validation/warning.py", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_warning", + "target": "src_utils_geo_get_travel_min", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/validation/warning.py", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_warning", + "target": "src_utils_geo_haversine_km", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/validation/warning.py", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_warning", + "target": "src_utils_geo_nn_heuristic_km", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/validation/warning.py", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_alternatives", + "target": "src_data_models_alternativepoi", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_alternatives.py", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_alternatives", + "target": "src_data_models_hardfail", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_alternatives.py", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_alternatives", + "target": "src_data_models_poi", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_alternatives.py", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_alternatives", + "target": "src_validation_alternatives_alternativesfinder", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_alternatives.py", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine", + "target": "src_data_models_poi", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine", + "target": "src_scoring_bonus_engine_bonusengine", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine", + "target": "src_scoring_bonus_engine_placecoord", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_cluster_dispersion", + "target": "src_data_models_vrptwday", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_cluster_dispersion.py", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_cluster_dispersion", + "target": "src_data_models_vrptwplace", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_cluster_dispersion.py", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_cluster_dispersion", + "target": "src_scoring_cluster_dispersion_count_geo_cluster_backtracks", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_cluster_dispersion.py", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_cluster_dispersion", + "target": "src_scoring_cluster_dispersion_evaluate_cluster_dispersion", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_cluster_dispersion.py", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_congestion_engine", + "target": "src_scoring_congestion_engine_congestionengine", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_congestion_engine.py", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_congestion_engine", + "target": "src_scoring_congestion_engine_congestionlevel", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_congestion_engine.py", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_congestion_engine", + "target": "src_scoring_congestion_engine_congestionresult", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_congestion_engine.py", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_congestion_engine", + "target": "src_scoring_congestion_engine_score_to_level", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_congestion_engine.py", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_dwell_db", + "target": "src_data_dwell_db_dwellrecommendation", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_dwell_db.py", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_dwell_db", + "target": "src_data_dwell_db_get_recommended_dwell", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_dwell_db.py", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_estimated_hardfail", + "target": "src_data_models_dayplan", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_estimated_hardfail.py", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_estimated_hardfail", + "target": "src_data_models_itineraryplan", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_estimated_hardfail.py", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_estimated_hardfail", + "target": "src_data_models_placeinput", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_estimated_hardfail.py", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_estimated_hardfail", + "target": "src_data_models_poi", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_estimated_hardfail.py", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_estimated_hardfail", + "target": "src_validation_hard_fail_hardfaildetector", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_estimated_hardfail.py", + "source_location": "L5", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine", + "target": "src_data_models_alternativepoi", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine", + "target": "src_data_models_dayplan", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine", + "target": "src_data_models_explanationitem", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine", + "target": "src_data_models_hardfail", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine", + "target": "src_data_models_itineraryplan", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine", + "target": "src_data_models_placeevidence", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine", + "target": "src_data_models_placeinput", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine", + "target": "src_data_models_scores", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine", + "target": "src_data_models_warning", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine", + "target": "src_explain_explain_engine_explainengine", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine", + "target": "src_explain_explain_engine_build_user_prompt", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine", + "target": "src_explain_explain_engine_cache_key", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine", + "target": "src_explain_explain_engine_fallback", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine", + "target": "src_explain_explain_engine_graph_context", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine", + "target": "src_explain_explain_engine_parse_llm_response", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_geo", + "target": "src_data_models_poi", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_geo.py", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_geo", + "target": "src_utils_geo_build_dist_cache", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_geo.py", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_geo", + "target": "src_utils_geo_get_travel_min", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_geo.py", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_geo", + "target": "src_utils_geo_haversine_km", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_geo.py", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_geo", + "target": "src_utils_geo_nn_heuristic_km", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_geo.py", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_graph_retriever", + "target": "src_data_graph_retriever_graphretriever", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_graph_retriever.py", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_graph_retriever", + "target": "src_data_models_alternativepoi", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_graph_retriever.py", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_graph_retriever", + "target": "src_data_models_placeevidence", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_graph_retriever.py", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail", + "target": "src_data_models_poi", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail", + "target": "src_data_models_dayplan", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail", + "target": "src_data_models_itineraryplan", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail", + "target": "src_data_models_placeinput", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail", + "target": "src_validation_hard_fail_hardfaildetector", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_local", + "target": "src_data_kakao_local_kakaolocalclient", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_local.py", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_local", + "target": "src_data_models_kakaoplace", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_local.py", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix", + "target": "src_data_models_vrptwplace", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix", + "target": "src_validation_kakao_matrix_kakaomobilitymatrix", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_party_config", + "target": "src_data_party_config_partyprofile", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_party_config.py", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_party_config", + "target": "src_data_party_config_get_party_profile", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_party_config.py", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator", + "target": "src_data_models_alternativepoi", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator", + "target": "src_data_models_dayplan", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator", + "target": "src_data_models_hardfail", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator", + "target": "src_data_models_itineraryplan", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator", + "target": "src_data_models_placeinput", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator", + "target": "src_data_models_poi", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator", + "target": "src_data_models_validationresult", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator", + "target": "src_explain_pipeline_validatorpipeline", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator", + "target": "src_explain_pipeline_to_vrptw_day", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator", + "target": "src_scoring_bonus_engine_bonusengine", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator", + "target": "src_scoring_bonus_engine_placecoord", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_plan_extractor", + "target": "src_explain_plan_extractor_planextractionerror", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_plan_extractor.py", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_plan_extractor", + "target": "src_explain_plan_extractor_planextractor", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_plan_extractor.py", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_region_config", + "target": "src_data_region_config_get_thresholds", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_region_config.py", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair", + "target": "src_data_models_poi", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair", + "target": "src_data_models_dayplan", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair", + "target": "src_data_models_hardfail", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair", + "target": "src_data_models_itineraryplan", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair", + "target": "src_data_models_placeinput", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair", + "target": "src_data_restaurant_catalog_restaurantcatalog", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L5", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair", + "target": "src_explain_repair_deletionsuggestion", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair", + "target": "src_explain_repair_repairresult", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair", + "target": "src_explain_repair_repairengine", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_restaurant_catalog", + "target": "src_data_restaurant_catalog_restaurantcatalog", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_restaurant_catalog.py", + "source_location": "L4", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_reward_engine", + "target": "src_data_models_scores", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_reward_engine.py", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_reward_engine", + "target": "src_scoring_reward_engine_generate_rewards", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_reward_engine.py", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_scoring", + "target": "src_data_models_dayplan", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_scoring.py", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_scoring", + "target": "src_data_models_hardfail", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_scoring.py", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_scoring", + "target": "src_data_models_itineraryplan", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_scoring.py", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_scoring", + "target": "src_data_models_placeinput", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_scoring.py", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_scoring", + "target": "src_data_models_poi", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_scoring.py", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_scoring", + "target": "src_data_models_scores", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_scoring.py", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_scoring", + "target": "src_validation_scoring_scorecalculator", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_scoring.py", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_theme_alignment", + "target": "src_data_theme_taxonomy_userpreferences", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_theme_alignment.py", + "source_location": "L8", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_theme_alignment", + "target": "src_scoring_theme_alignment_poiwithcategory", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_theme_alignment.py", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_theme_alignment", + "target": "src_scoring_theme_alignment_themealignmentjudge", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_theme_alignment.py", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_theme_alignment", + "target": "src_scoring_theme_alignment_themejudgment", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_theme_alignment.py", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_theme_alignment", + "target": "src_scoring_theme_alignment_classify_score", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_theme_alignment.py", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_theme_alignment", + "target": "src_scoring_theme_alignment_parse_llm_response", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_theme_alignment.py", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_theme_taxonomy", + "target": "src_data_theme_taxonomy_userpreferences", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_theme_taxonomy.py", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_theme_taxonomy", + "target": "src_data_theme_taxonomy_get_place_types_for", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_theme_taxonomy.py", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_theme_taxonomy", + "target": "src_data_theme_taxonomy_matches_place_type", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_theme_taxonomy.py", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_travel_ratio", + "target": "src_data_models_vrptwday", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_travel_ratio.py", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_travel_ratio", + "target": "src_data_models_vrptwplace", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_travel_ratio.py", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_travel_ratio", + "target": "src_scoring_travel_ratio_evaluate_travel_ratio", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_travel_ratio.py", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_travel_ratio", + "target": "src_validation_vrptw_engine_haversinematrix", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_travel_ratio.py", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine", + "target": "src_data_models_vrptwday", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine", + "target": "src_data_models_vrptwplace", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine", + "target": "src_data_models_vrptwrequest", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine", + "target": "src_data_models_vrptwresult", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine", + "target": "src_validation_vrptw_engine_cachedroutematrix", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine", + "target": "src_validation_vrptw_engine_haversinematrix", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine", + "target": "src_validation_vrptw_engine_vrptwengine", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L11", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_warning", + "target": "src_data_models_dayplan", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_warning.py", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_warning", + "target": "src_data_models_itineraryplan", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_warning.py", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_warning", + "target": "src_data_models_placeinput", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_warning.py", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_warning", + "target": "src_data_models_poi", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_warning.py", + "source_location": "L6", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_warning", + "target": "src_validation_warning_warningdetector", + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/test_warning.py", + "source_location": "L7", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_resolve_poi", + "target": "src_api_router", + "relation": "imports_from", + "context": "submodule_import", + "confidence": "EXTRACTED", + "source_file": "tests/test_resolve_poi.py", + "source_location": "L10", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_itinerary_excel_check_hours_violations", + "target": "src_data_hours_db_to_minutes", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L132", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_itinerary_excel_process_one_day", + "target": "src_data_hours_db_to_minutes", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L262", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_itinerary_excel_process_one_day", + "target": "src_data_hours_db_resolve_hours", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L276", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_itinerary_excel_process_one_day", + "target": "src_data_models_vrptwday", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L306", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_itinerary_excel_process_one_day", + "target": "src_scoring_cluster_dispersion_evaluate_cluster_dispersion", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L307", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_itinerary_excel_process_one_day", + "target": "src_scoring_travel_ratio_evaluate_travel_ratio", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L316", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_itinerary_excel_main", + "target": "src_data_dwell_db_get_recommended_dwell", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L405", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_itinerary_excel_main", + "target": "src_data_hours_db_resolve_hours", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L415", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_itinerary_excel_main", + "target": "src_validation_vrptw_engine_haversinematrix", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L451", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_build_poi_dataset_main", + "target": "src_data_models_settings", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/build_poi_dataset.py", + "source_location": "L67", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_demo_live_e2e_main", + "target": "src_explain_explain_engine_explainengine", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/demo_live_e2e.py", + "source_location": "L29", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_demo_live_e2e_main", + "target": "src_data_models_itineraryplan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/demo_live_e2e.py", + "source_location": "L44", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_demo_live_e2e_main", + "target": "src_data_models_dayplan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/demo_live_e2e.py", + "source_location": "L45", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_demo_live_e2e_main", + "target": "src_data_models_placeinput", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/demo_live_e2e.py", + "source_location": "L45", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_demo_live_e2e_main", + "target": "src_data_models_hardfail", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/demo_live_e2e.py", + "source_location": "L48", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_fetch_jeju_hours_main", + "target": "src_data_models_settings", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/fetch_jeju_hours.py", + "source_location": "L44", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_neo4j_coverage_analysis_neo4j_timeslot_density", + "target": "src_validation_vrptw_engine_haversinematrix", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/neo4j_coverage_analysis.py", + "source_location": "L89", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_neo4j_coverage_analysis_run_vrptw", + "target": "src_validation_vrptw_engine_vrptwengine", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/neo4j_coverage_analysis.py", + "source_location": "L128", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_neo4j_coverage_analysis_run_vrptw", + "target": "src_data_models_vrptwday", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/neo4j_coverage_analysis.py", + "source_location": "L129", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_neo4j_coverage_analysis_run_vrptw", + "target": "src_data_models_vrptwrequest", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/neo4j_coverage_analysis.py", + "source_location": "L130", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_neo4j_coverage_analysis_run_vrptw", + "target": "src_scoring_cluster_dispersion_evaluate_cluster_dispersion", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/neo4j_coverage_analysis.py", + "source_location": "L134", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_neo4j_coverage_analysis_run_vrptw", + "target": "src_scoring_travel_ratio_evaluate_travel_ratio", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/neo4j_coverage_analysis.py", + "source_location": "L136", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_pipeline_build_itinerary", + "target": "src_data_models_placeinput", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/test_pipeline.py", + "source_location": "L311", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_pipeline_build_itinerary", + "target": "src_data_models_dayplan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/test_pipeline.py", + "source_location": "L314", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_pipeline_run_pipeline", + "target": "src_validation_hard_fail_hardfaildetector", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/test_pipeline.py", + "source_location": "L366", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_pipeline_run_pipeline", + "target": "src_validation_warning_warningdetector", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/test_pipeline.py", + "source_location": "L367", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_test_pipeline_run_pipeline", + "target": "src_validation_scoring_scorecalculator", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "scripts/test_pipeline.py", + "source_location": "L368", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router_resolve_poi", + "target": "src_data_hours_db_resolve_hours", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/api/router.py", + "source_location": "L675", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_to_vrptw_day", + "target": "src_data_models_vrptwplace", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/explain/pipeline.py", + "source_location": "L56", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_plan_extractor_fallback_text_parse", + "target": "src_api_schemas_parsedday", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/explain/plan_extractor.py", + "source_location": "L99", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_plan_extractor_fallback_text_parse", + "target": "src_api_schemas_parsedplace", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/explain/plan_extractor.py", + "source_location": "L99", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_bonus_engine_nearest_km", + "target": "src_utils_geo_haversine_km", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/scoring/bonus_engine.py", + "source_location": "L138", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_cluster_dispersion_compute_day_dispersion", + "target": "src_utils_geo_haversine_km", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/scoring/cluster_dispersion.py", + "source_location": "L146", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_cluster_dispersion_evaluate_cluster_dispersion", + "target": "src_data_models_deepdiveitem", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/scoring/cluster_dispersion.py", + "source_location": "L228", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_travel_ratio_evaluate_travel_ratio", + "target": "src_validation_vrptw_engine_haversinematrix", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/scoring/travel_ratio.py", + "source_location": "L86", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_travel_ratio_evaluate_travel_ratio", + "target": "src_data_models_deepdiveitem", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/scoring/travel_ratio.py", + "source_location": "L105", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_alternatives_poi", + "target": "src_data_models_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_alternatives.py", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_alternatives_hardfail", + "target": "src_data_models_hardfail", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_alternatives.py", + "source_location": "L30", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine_make_engine", + "target": "src_scoring_bonus_engine_placecoord", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L38", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_cluster_dispersion_make_place", + "target": "src_data_models_vrptwplace", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_cluster_dispersion.py", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_cluster_dispersion_test_compact_day_no_penalty", + "target": "src_data_models_vrptwday", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_cluster_dispersion.py", + "source_location": "L26", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_cluster_dispersion_test_compact_day_no_penalty", + "target": "src_scoring_cluster_dispersion_evaluate_cluster_dispersion", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_cluster_dispersion.py", + "source_location": "L32", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_cluster_dispersion_test_lightning_pattern_high_penalty", + "target": "src_data_models_vrptwday", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_cluster_dispersion.py", + "source_location": "L40", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_cluster_dispersion_test_lightning_pattern_high_penalty", + "target": "src_scoring_cluster_dispersion_evaluate_cluster_dispersion", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_cluster_dispersion.py", + "source_location": "L46", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_cluster_dispersion_test_per_day_independence", + "target": "src_data_models_vrptwday", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_cluster_dispersion.py", + "source_location": "L55", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_cluster_dispersion_test_per_day_independence", + "target": "src_scoring_cluster_dispersion_evaluate_cluster_dispersion", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_cluster_dispersion.py", + "source_location": "L64", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_cluster_dispersion_test_sigungu_switches_only", + "target": "src_data_models_vrptwday", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_cluster_dispersion.py", + "source_location": "L127", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_cluster_dispersion_test_sigungu_switches_only", + "target": "src_scoring_cluster_dispersion_evaluate_cluster_dispersion", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_cluster_dispersion.py", + "source_location": "L135", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_congestion_engine_test_missing_csv_raises", + "target": "src_scoring_congestion_engine_congestionengine", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_congestion_engine.py", + "source_location": "L166", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_estimated_hardfail_poi", + "target": "src_data_models_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_estimated_hardfail.py", + "source_location": "L9", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_estimated_hardfail_plan", + "target": "src_data_models_dayplan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_estimated_hardfail.py", + "source_location": "L24", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_estimated_hardfail_plan", + "target": "src_data_models_placeinput", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_estimated_hardfail.py", + "source_location": "L24", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_estimated_hardfail_test_estimated_hours_conflict_flagged_estimated", + "target": "src_validation_hard_fail_hardfaildetector", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_estimated_hardfail.py", + "source_location": "L34", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_estimated_hardfail_test_verified_hours_conflict_not_estimated_and_message_unchanged", + "target": "src_validation_hard_fail_hardfaildetector", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_estimated_hardfail.py", + "source_location": "L44", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_make_plan", + "target": "src_data_models_dayplan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L36", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_make_plan", + "target": "src_data_models_placeinput", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L36", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_make_graph_stub", + "target": "src_data_models_placeevidence", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L70", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_make_graph_stub", + "target": "src_data_models_alternativepoi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L77", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_graph_retriever_test_disabled_without_uri_returns_empty", + "target": "src_data_graph_retriever_graphretriever", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_graph_retriever.py", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_graph_retriever_test_search_places_parses_records", + "target": "src_data_graph_retriever_graphretriever", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_graph_retriever.py", + "source_location": "L21", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_graph_retriever_test_search_places_empty_query_skips_call", + "target": "src_data_graph_retriever_graphretriever", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_graph_retriever.py", + "source_location": "L41", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_graph_retriever_test_search_places_neo4j_error_returns_empty", + "target": "src_data_graph_retriever_graphretriever", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_graph_retriever.py", + "source_location": "L48", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_graph_retriever_test_find_nearby_parses_and_converts_distance", + "target": "src_data_graph_retriever_graphretriever", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_graph_retriever.py", + "source_location": "L55", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_graph_retriever_test_repeated_failures_skip_driver_call_during_cooldown", + "target": "src_data_graph_retriever_graphretriever", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_graph_retriever.py", + "source_location": "L70", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_graph_retriever_test_close_closes_driver", + "target": "src_data_graph_retriever_graphretriever", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_graph_retriever.py", + "source_location": "L81", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail_make_plan", + "target": "src_data_models_dayplan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L33", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail_make_plan", + "target": "src_data_models_placeinput", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L33", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_local_test_disabled_without_key_returns_none", + "target": "src_data_kakao_local_kakaolocalclient", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_local.py", + "source_location": "L30", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_local_test_search_parses_first_document", + "target": "src_data_kakao_local_kakaolocalclient", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_local.py", + "source_location": "L36", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_local_test_result_is_cached", + "target": "src_data_kakao_local_kakaolocalclient", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_local.py", + "source_location": "L47", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_local_test_empty_documents_returns_none", + "target": "src_data_kakao_local_kakaolocalclient", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_local.py", + "source_location": "L56", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_local_test_http_error_falls_back_to_none", + "target": "src_data_kakao_local_kakaolocalclient", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_local.py", + "source_location": "L67", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_local_test_search_keyword_list_parses_all", + "target": "src_data_kakao_local_kakaolocalclient", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_local.py", + "source_location": "L88", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_local_test_search_keyword_list_disabled_returns_empty", + "target": "src_data_kakao_local_kakaolocalclient", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_local.py", + "source_location": "L97", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_local_test_geocode_address_parses_lat_lng", + "target": "src_data_kakao_local_kakaolocalclient", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_local.py", + "source_location": "L117", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_local_test_geocode_address_disabled_without_key_returns_none", + "target": "src_data_kakao_local_kakaolocalclient", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_local.py", + "source_location": "L125", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_local_test_geocode_address_is_cached", + "target": "src_data_kakao_local_kakaolocalclient", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_local.py", + "source_location": "L130", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_local_test_geocode_address_empty_documents_returns_none", + "target": "src_data_kakao_local_kakaolocalclient", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_local.py", + "source_location": "L139", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_local_test_geocode_address_http_error_falls_back_to_none", + "target": "src_data_kakao_local_kakaolocalclient", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_kakao_local.py", + "source_location": "L150", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_make_plan", + "target": "src_data_models_dayplan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L39", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_make_plan", + "target": "src_data_models_placeinput", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L39", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_make_multi_day_plan", + "target": "src_data_models_dayplan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L49", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_make_multi_day_plan", + "target": "src_data_models_placeinput", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L49", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_plan_extractor_test_extract_from_text_parses_llm_response", + "target": "src_explain_plan_extractor_planextractor", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_plan_extractor.py", + "source_location": "L23", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_plan_extractor_test_extract_from_text_strips_code_fence", + "target": "src_explain_plan_extractor_planextractor", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_plan_extractor.py", + "source_location": "L34", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_plan_extractor_test_extract_from_text_empty_raises", + "target": "src_explain_plan_extractor_planextractor", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_plan_extractor.py", + "source_location": "L42", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_plan_extractor_test_extract_from_text_without_client_falls_back_to_heuristic", + "target": "src_explain_plan_extractor_planextractor", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_plan_extractor.py", + "source_location": "L48", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_plan_extractor_test_extract_from_document_without_client_raises", + "target": "src_explain_plan_extractor_planextractor", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_plan_extractor.py", + "source_location": "L59", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_plan_extractor_test_extract_from_document_empty_bytes_raises", + "target": "src_explain_plan_extractor_planextractor", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_plan_extractor.py", + "source_location": "L65", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_plan_extractor_test_extract_from_document_sends_document_block_for_pdf", + "target": "src_explain_plan_extractor_planextractor", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_plan_extractor.py", + "source_location": "L72", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_plan_extractor_test_extract_from_document_sends_image_block_for_png", + "target": "src_explain_plan_extractor_planextractor", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_plan_extractor.py", + "source_location": "L83", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_plan_extractor_test_invalid_json_response_raises", + "target": "src_explain_plan_extractor_planextractor", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_plan_extractor.py", + "source_location": "L92", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_plan_extractor_test_api_call_failure_raises_extraction_error", + "target": "src_explain_plan_extractor_planextractor", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_plan_extractor.py", + "source_location": "L100", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_plan_extractor_test_system_prompt_uses_prompt_caching", + "target": "src_explain_plan_extractor_planextractor", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_plan_extractor.py", + "source_location": "L109", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_repairengine", + "target": "src_explain_repair_repairengine", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L12", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_poi", + "target": "src_data_models_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L24", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_plan", + "target": "src_data_models_dayplan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L35", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_plan", + "target": "src_data_models_placeinput", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_repair.py", + "source_location": "L35", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_reward_engine_scores", + "target": "src_data_models_scores", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_reward_engine.py", + "source_location": "L13", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_make_plan", + "target": "src_data_models_dayplan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_scoring.py", + "source_location": "L34", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_make_plan", + "target": "src_data_models_placeinput", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_scoring.py", + "source_location": "L34", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_travel_ratio_make_place", + "target": "src_data_models_vrptwplace", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_travel_ratio.py", + "source_location": "L16", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_travel_ratio_test_no_penalty_when_ratio_low", + "target": "src_data_models_vrptwday", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_travel_ratio.py", + "source_location": "L24", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_travel_ratio_test_no_penalty_when_ratio_low", + "target": "src_scoring_travel_ratio_evaluate_travel_ratio", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_travel_ratio.py", + "source_location": "L30", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_travel_ratio_test_no_penalty_when_ratio_low", + "target": "src_validation_vrptw_engine_haversinematrix", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_travel_ratio.py", + "source_location": "L30", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_travel_ratio_test_penalty_when_ratio_high", + "target": "src_data_models_vrptwday", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_travel_ratio.py", + "source_location": "L37", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_travel_ratio_test_penalty_when_ratio_high", + "target": "src_scoring_travel_ratio_evaluate_travel_ratio", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_travel_ratio.py", + "source_location": "L41", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_travel_ratio_test_penalty_when_ratio_high", + "target": "src_validation_vrptw_engine_haversinematrix", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_travel_ratio.py", + "source_location": "L41", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_travel_ratio_test_overall_ratio_aggregates_across_days", + "target": "src_data_models_vrptwday", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_travel_ratio.py", + "source_location": "L50", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_travel_ratio_test_overall_ratio_aggregates_across_days", + "target": "src_scoring_travel_ratio_evaluate_travel_ratio", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_travel_ratio.py", + "source_location": "L59", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_travel_ratio_test_overall_ratio_aggregates_across_days", + "target": "src_validation_vrptw_engine_haversinematrix", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_travel_ratio.py", + "source_location": "L59", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_test_summary_contains_score", + "target": "src_data_models_vrptwrequest", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L416", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_test_summary_contains_score", + "target": "src_data_models_vrptwday", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L416", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_test_summary_contains_score", + "target": "src_validation_vrptw_engine_haversinematrix", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L417", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_test_deep_dive_items_have_all_fields", + "target": "src_data_models_vrptwrequest", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L430", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_test_deep_dive_items_have_all_fields", + "target": "src_data_models_vrptwday", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L430", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_test_deep_dive_items_have_all_fields", + "target": "src_validation_vrptw_engine_haversinematrix", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L431", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_warning_make_plan", + "target": "src_data_models_dayplan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_warning.py", + "source_location": "L36", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_warning_make_plan", + "target": "src_data_models_placeinput", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/test_warning.py", + "source_location": "L36", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_itinerary_excel_poimatcher", + "target": "src_data_hours_db_hoursspec", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L42", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_itinerary_excel_poimatcher", + "target": "src_data_models_vrptwday", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L43", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_itinerary_excel_poimatcher", + "target": "src_data_models_vrptwplace", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L43", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_itinerary_excel_poimatcher", + "target": "src_validation_kakao_matrix_kakaomobilitymatrix", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L46", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_itinerary_excel_poimatcher", + "target": "src_validation_vrptw_engine_haversinematrix", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L47", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "scripts_neo4j_coverage_analysis_coverageresult", + "target": "src_data_models_vrptwday", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "scripts/neo4j_coverage_analysis.py", + "source_location": "L22", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "scripts_neo4j_coverage_analysis_coverageresult", + "target": "src_data_models_vrptwplace", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "scripts/neo4j_coverage_analysis.py", + "source_location": "L22", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "scripts_neo4j_coverage_analysis_coverageresult", + "target": "src_data_models_vrptwrequest", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "scripts/neo4j_coverage_analysis.py", + "source_location": "L22", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "scripts_neo4j_coverage_analysis_coverageresult", + "target": "src_validation_vrptw_engine_haversinematrix", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "scripts/neo4j_coverage_analysis.py", + "source_location": "L25", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "scripts_neo4j_coverage_analysis_coverageresult", + "target": "src_validation_vrptw_engine_vrptwengine", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "scripts/neo4j_coverage_analysis.py", + "source_location": "L25", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_data_barrier_free_api_barrierfreeplace", + "target": "src_data_models_settings", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/data/barrier_free_api.py", + "source_location": "L16", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_data_barrier_free_api_barrierfreedetail", + "target": "src_data_models_settings", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/data/barrier_free_api.py", + "source_location": "L16", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_data_barrier_free_api_barrierfreeapiclient", + "target": "src_data_models_settings", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/data/barrier_free_api.py", + "source_location": "L16", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_data_graph_retriever_graphretriever", + "target": "src_data_models_alternativepoi", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/data/graph_retriever.py", + "source_location": "L20", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_data_graph_retriever_graphretriever", + "target": "src_data_models_placeevidence", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/data/graph_retriever.py", + "source_location": "L20", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_data_kakao_local_kakaolocalclient", + "target": "src_data_models_kakaoplace", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/data/kakao_local.py", + "source_location": "L18", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_data_restaurant_catalog_restaurantcatalog", + "target": "src_data_models_alternativepoi", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/data/restaurant_catalog.py", + "source_location": "L14", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_data_seoul_citydata_client_forecastslot", + "target": "src_data_models_settings", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/data/seoul_citydata_client.py", + "source_location": "L95", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_data_seoul_citydata_client_seoulrealtimecongestion", + "target": "src_data_models_settings", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/data/seoul_citydata_client.py", + "source_location": "L95", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_data_seoul_citydata_client_seoulcitydataclient", + "target": "src_data_models_settings", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/data/seoul_citydata_client.py", + "source_location": "L95", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_data_tour_api_tourapiclient", + "target": "src_data_models_poi", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/data/tour_api.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_data_tour_api_tourapiclient", + "target": "src_data_models_settings", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/data/tour_api.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_data_wellness_api_wellnessplace", + "target": "src_data_models_settings", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/data/wellness_api.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_data_wellness_api_wellnessapiclient", + "target": "src_data_models_settings", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/data/wellness_api.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine_lrucache", + "target": "src_data_graph_retriever_graphretriever", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L21", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine_explainengine", + "target": "src_data_graph_retriever_graphretriever", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L21", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine_lrucache", + "target": "src_data_models_alternativepoi", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L22", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine_explainengine", + "target": "src_data_models_alternativepoi", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L22", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine_lrucache", + "target": "src_data_models_explanationitem", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L22", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine_explainengine", + "target": "src_data_models_explanationitem", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L22", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine_lrucache", + "target": "src_data_models_hardfail", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L22", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine_explainengine", + "target": "src_data_models_hardfail", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L22", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine_lrucache", + "target": "src_data_models_itineraryplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L22", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine_explainengine", + "target": "src_data_models_itineraryplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L22", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine_lrucache", + "target": "src_data_models_scores", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L22", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine_explainengine", + "target": "src_data_models_scores", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L22", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine_lrucache", + "target": "src_data_models_warning", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L22", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine_explainengine", + "target": "src_data_models_warning", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/explain/explain_engine.py", + "source_location": "L22", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_scorebundle", + "target": "src_data_models_poi", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/explain/pipeline.py", + "source_location": "L26", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_validatorpipeline", + "target": "src_data_models_poi", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/explain/pipeline.py", + "source_location": "L26", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_scorebundle", + "target": "src_data_models_hardfail", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/explain/pipeline.py", + "source_location": "L26", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_validatorpipeline", + "target": "src_data_models_hardfail", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/explain/pipeline.py", + "source_location": "L26", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_scorebundle", + "target": "src_data_models_itineraryplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/explain/pipeline.py", + "source_location": "L26", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_validatorpipeline", + "target": "src_data_models_itineraryplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/explain/pipeline.py", + "source_location": "L26", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_scorebundle", + "target": "src_data_models_scores", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/explain/pipeline.py", + "source_location": "L26", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_validatorpipeline", + "target": "src_data_models_scores", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/explain/pipeline.py", + "source_location": "L26", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_scorebundle", + "target": "src_data_models_validationresult", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/explain/pipeline.py", + "source_location": "L26", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_validatorpipeline", + "target": "src_data_models_validationresult", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/explain/pipeline.py", + "source_location": "L26", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_scorebundle", + "target": "src_data_models_vrptwday", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/explain/pipeline.py", + "source_location": "L26", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_validatorpipeline", + "target": "src_data_models_vrptwday", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/explain/pipeline.py", + "source_location": "L26", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_scorebundle", + "target": "src_data_models_vrptwplace", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/explain/pipeline.py", + "source_location": "L26", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_validatorpipeline", + "target": "src_data_models_vrptwplace", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/explain/pipeline.py", + "source_location": "L26", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_scorebundle", + "target": "src_data_models_vrptwrequest", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/explain/pipeline.py", + "source_location": "L26", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_validatorpipeline", + "target": "src_data_models_vrptwrequest", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/explain/pipeline.py", + "source_location": "L26", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_scorebundle", + "target": "src_data_theme_taxonomy_userpreferences", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/explain/pipeline.py", + "source_location": "L36", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_validatorpipeline", + "target": "src_data_theme_taxonomy_userpreferences", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/explain/pipeline.py", + "source_location": "L36", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_scorebundle", + "target": "src_explain_explain_engine_explainengine", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/explain/pipeline.py", + "source_location": "L37", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_validatorpipeline", + "target": "src_explain_explain_engine_explainengine", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/explain/pipeline.py", + "source_location": "L37", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_scorebundle", + "target": "src_explain_repair_repairengine", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/explain/pipeline.py", + "source_location": "L38", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_validatorpipeline", + "target": "src_explain_repair_repairengine", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/explain/pipeline.py", + "source_location": "L38", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_scorebundle", + "target": "src_explain_repair_repairresult", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/explain/pipeline.py", + "source_location": "L38", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_validatorpipeline", + "target": "src_explain_repair_repairresult", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/explain/pipeline.py", + "source_location": "L38", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_scorebundle", + "target": "src_scoring_bonus_engine_bonusengine", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/explain/pipeline.py", + "source_location": "L39", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_validatorpipeline", + "target": "src_scoring_bonus_engine_bonusengine", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/explain/pipeline.py", + "source_location": "L39", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_scorebundle", + "target": "src_scoring_bonus_engine_bonusresult", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/explain/pipeline.py", + "source_location": "L39", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_validatorpipeline", + "target": "src_scoring_bonus_engine_bonusresult", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/explain/pipeline.py", + "source_location": "L39", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_scorebundle", + "target": "src_scoring_theme_alignment_poiwithcategory", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/explain/pipeline.py", + "source_location": "L42", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_validatorpipeline", + "target": "src_scoring_theme_alignment_poiwithcategory", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/explain/pipeline.py", + "source_location": "L42", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_scorebundle", + "target": "src_scoring_theme_alignment_themealignmentjudge", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/explain/pipeline.py", + "source_location": "L42", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_validatorpipeline", + "target": "src_scoring_theme_alignment_themealignmentjudge", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/explain/pipeline.py", + "source_location": "L42", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_scorebundle", + "target": "src_validation_hard_fail_hardfaildetector", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/explain/pipeline.py", + "source_location": "L44", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_validatorpipeline", + "target": "src_validation_hard_fail_hardfaildetector", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/explain/pipeline.py", + "source_location": "L44", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_scorebundle", + "target": "src_validation_scoring_scorecalculator", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/explain/pipeline.py", + "source_location": "L45", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_validatorpipeline", + "target": "src_validation_scoring_scorecalculator", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/explain/pipeline.py", + "source_location": "L45", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_scorebundle", + "target": "src_validation_vrptw_engine_vrptwengine", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/explain/pipeline.py", + "source_location": "L46", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_validatorpipeline", + "target": "src_validation_vrptw_engine_vrptwengine", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/explain/pipeline.py", + "source_location": "L46", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_scorebundle", + "target": "src_validation_warning_warningdetector", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/explain/pipeline.py", + "source_location": "L47", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_validatorpipeline", + "target": "src_validation_warning_warningdetector", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/explain/pipeline.py", + "source_location": "L47", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_explain_plan_extractor_planextractionerror", + "target": "src_api_schemas_parsedday", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/explain/plan_extractor.py", + "source_location": "L19", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_explain_plan_extractor_planextractor", + "target": "src_api_schemas_parsedday", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/explain/plan_extractor.py", + "source_location": "L19", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_explain_plan_extractor_planextractionerror", + "target": "src_api_schemas_parsedplace", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/explain/plan_extractor.py", + "source_location": "L19", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_explain_plan_extractor_planextractor", + "target": "src_api_schemas_parsedplace", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/explain/plan_extractor.py", + "source_location": "L19", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_explain_plan_extractor_planextractionerror", + "target": "src_api_schemas_parsedplanresponse", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/explain/plan_extractor.py", + "source_location": "L19", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_explain_plan_extractor_planextractor", + "target": "src_api_schemas_parsedplanresponse", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/explain/plan_extractor.py", + "source_location": "L19", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_explain_repair_reordersuggestion", + "target": "src_data_models_poi", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/explain/repair.py", + "source_location": "L19", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_explain_repair_timetunesuggestion", + "target": "src_data_models_poi", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/explain/repair.py", + "source_location": "L19", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_explain_repair_deletionsuggestion", + "target": "src_data_models_poi", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/explain/repair.py", + "source_location": "L19", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_explain_repair_repairresult", + "target": "src_data_models_poi", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/explain/repair.py", + "source_location": "L19", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_explain_repair_repairengine", + "target": "src_data_models_poi", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/explain/repair.py", + "source_location": "L19", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_explain_repair_reordersuggestion", + "target": "src_data_models_hardfail", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/explain/repair.py", + "source_location": "L19", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_explain_repair_timetunesuggestion", + "target": "src_data_models_hardfail", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/explain/repair.py", + "source_location": "L19", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_explain_repair_deletionsuggestion", + "target": "src_data_models_hardfail", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/explain/repair.py", + "source_location": "L19", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_explain_repair_repairresult", + "target": "src_data_models_hardfail", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/explain/repair.py", + "source_location": "L19", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_explain_repair_repairengine", + "target": "src_data_models_hardfail", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/explain/repair.py", + "source_location": "L19", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_explain_repair_reordersuggestion", + "target": "src_data_models_itineraryplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/explain/repair.py", + "source_location": "L19", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_explain_repair_timetunesuggestion", + "target": "src_data_models_itineraryplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/explain/repair.py", + "source_location": "L19", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_explain_repair_deletionsuggestion", + "target": "src_data_models_itineraryplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/explain/repair.py", + "source_location": "L19", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_explain_repair_repairresult", + "target": "src_data_models_itineraryplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/explain/repair.py", + "source_location": "L19", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_explain_repair_repairengine", + "target": "src_data_models_itineraryplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/explain/repair.py", + "source_location": "L19", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_explain_repair_reordersuggestion", + "target": "src_data_restaurant_catalog_restaurantcatalog", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/explain/repair.py", + "source_location": "L21", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_explain_repair_timetunesuggestion", + "target": "src_data_restaurant_catalog_restaurantcatalog", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/explain/repair.py", + "source_location": "L21", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_explain_repair_deletionsuggestion", + "target": "src_data_restaurant_catalog_restaurantcatalog", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/explain/repair.py", + "source_location": "L21", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_explain_repair_repairresult", + "target": "src_data_restaurant_catalog_restaurantcatalog", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/explain/repair.py", + "source_location": "L21", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_explain_repair_repairengine", + "target": "src_data_restaurant_catalog_restaurantcatalog", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/explain/repair.py", + "source_location": "L21", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_explain_repair_reordersuggestion", + "target": "src_validation_hard_fail_hardfaildetector", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/explain/repair.py", + "source_location": "L23", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_explain_repair_timetunesuggestion", + "target": "src_validation_hard_fail_hardfaildetector", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/explain/repair.py", + "source_location": "L23", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_explain_repair_deletionsuggestion", + "target": "src_validation_hard_fail_hardfaildetector", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/explain/repair.py", + "source_location": "L23", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_explain_repair_repairresult", + "target": "src_validation_hard_fail_hardfaildetector", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/explain/repair.py", + "source_location": "L23", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_explain_repair_repairengine", + "target": "src_validation_hard_fail_hardfaildetector", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/explain/repair.py", + "source_location": "L23", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_matrix_redis_matrix_redistimematrix", + "target": "src_data_models_vrptwplace", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/matrix/redis_matrix.py", + "source_location": "L22", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_matrix_redis_matrix_redistimematrix", + "target": "src_validation_vrptw_engine_haversinematrix", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/matrix/redis_matrix.py", + "source_location": "L23", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_matrix_redis_matrix_redistimematrix", + "target": "src_validation_vrptw_engine_timematrix", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/matrix/redis_matrix.py", + "source_location": "L23", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_scoring_bonus_engine_bonusresult", + "target": "src_data_models_poi", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/scoring/bonus_engine.py", + "source_location": "L8", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_scoring_bonus_engine_placecoord", + "target": "src_data_models_poi", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/scoring/bonus_engine.py", + "source_location": "L8", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_scoring_bonus_engine_bonusengine", + "target": "src_data_models_poi", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/scoring/bonus_engine.py", + "source_location": "L8", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_scoring_cluster_dispersion_daydispersionmetric", + "target": "src_data_models_deepdiveitem", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/scoring/cluster_dispersion.py", + "source_location": "L21", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_scoring_cluster_dispersion_clusterdispersionreport", + "target": "src_data_models_deepdiveitem", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/scoring/cluster_dispersion.py", + "source_location": "L21", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_scoring_cluster_dispersion_daydispersionmetric", + "target": "src_data_models_vrptwday", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/scoring/cluster_dispersion.py", + "source_location": "L21", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_scoring_cluster_dispersion_clusterdispersionreport", + "target": "src_data_models_vrptwday", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/scoring/cluster_dispersion.py", + "source_location": "L21", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_scoring_cluster_dispersion_daydispersionmetric", + "target": "src_data_models_vrptwplace", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/scoring/cluster_dispersion.py", + "source_location": "L21", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_scoring_cluster_dispersion_clusterdispersionreport", + "target": "src_data_models_vrptwplace", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/scoring/cluster_dispersion.py", + "source_location": "L21", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_scoring_congestion_engine_congestionlevel", + "target": "src_data_seoul_citydata_client_seoulcitydataclient", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/scoring/congestion_engine.py", + "source_location": "L22", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_scoring_congestion_engine_congestionresult", + "target": "src_data_seoul_citydata_client_seoulcitydataclient", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/scoring/congestion_engine.py", + "source_location": "L22", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_scoring_congestion_engine_congestionengine", + "target": "src_data_seoul_citydata_client_seoulcitydataclient", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/scoring/congestion_engine.py", + "source_location": "L22", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_scoring_theme_alignment_poiwithcategory", + "target": "src_data_models_deepdiveitem", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/scoring/theme_alignment.py", + "source_location": "L21", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_scoring_theme_alignment_themejudgment", + "target": "src_data_models_deepdiveitem", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/scoring/theme_alignment.py", + "source_location": "L21", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_scoring_theme_alignment_themealignmentreport", + "target": "src_data_models_deepdiveitem", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/scoring/theme_alignment.py", + "source_location": "L21", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_scoring_theme_alignment_themealignmentjudge", + "target": "src_data_models_deepdiveitem", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/scoring/theme_alignment.py", + "source_location": "L21", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_scoring_theme_alignment_poiwithcategory", + "target": "src_data_theme_taxonomy_userpreferences", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/scoring/theme_alignment.py", + "source_location": "L22", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_scoring_theme_alignment_themejudgment", + "target": "src_data_theme_taxonomy_userpreferences", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/scoring/theme_alignment.py", + "source_location": "L22", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_scoring_theme_alignment_themealignmentreport", + "target": "src_data_theme_taxonomy_userpreferences", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/scoring/theme_alignment.py", + "source_location": "L22", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_scoring_theme_alignment_themealignmentjudge", + "target": "src_data_theme_taxonomy_userpreferences", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/scoring/theme_alignment.py", + "source_location": "L22", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_scoring_travel_ratio_dayratiometric", + "target": "src_data_models_deepdiveitem", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/scoring/travel_ratio.py", + "source_location": "L12", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_scoring_travel_ratio_travelratioreport", + "target": "src_data_models_deepdiveitem", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/scoring/travel_ratio.py", + "source_location": "L12", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_scoring_travel_ratio_dayratiometric", + "target": "src_data_models_vrptwday", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/scoring/travel_ratio.py", + "source_location": "L12", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_scoring_travel_ratio_travelratioreport", + "target": "src_data_models_vrptwday", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/scoring/travel_ratio.py", + "source_location": "L12", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_scoring_travel_ratio_dayratiometric", + "target": "src_data_models_vrptwplace", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/scoring/travel_ratio.py", + "source_location": "L12", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_scoring_travel_ratio_travelratioreport", + "target": "src_data_models_vrptwplace", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/scoring/travel_ratio.py", + "source_location": "L12", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_scoring_travel_ratio_dayratiometric", + "target": "src_validation_vrptw_engine_haversinematrix", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/scoring/travel_ratio.py", + "source_location": "L13", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_scoring_travel_ratio_travelratioreport", + "target": "src_validation_vrptw_engine_haversinematrix", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/scoring/travel_ratio.py", + "source_location": "L13", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_scoring_travel_ratio_dayratiometric", + "target": "src_validation_vrptw_engine_timematrix", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/scoring/travel_ratio.py", + "source_location": "L13", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_scoring_travel_ratio_travelratioreport", + "target": "src_validation_vrptw_engine_timematrix", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/scoring/travel_ratio.py", + "source_location": "L13", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_validation_alternatives_alternativesfinder", + "target": "src_data_models_alternativepoi", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/validation/alternatives.py", + "source_location": "L26", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_validation_alternatives_alternativesfinder", + "target": "src_data_models_hardfail", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/validation/alternatives.py", + "source_location": "L26", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_validation_alternatives_alternativesfinder", + "target": "src_data_models_poi", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/validation/alternatives.py", + "source_location": "L26", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_validation_hard_fail_hardfaildetector", + "target": "src_data_models_hardfail", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/validation/hard_fail.py", + "source_location": "L4", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_validation_hard_fail_hardfaildetector", + "target": "src_data_models_itineraryplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/validation/hard_fail.py", + "source_location": "L4", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_validation_hard_fail_hardfaildetector", + "target": "src_data_models_poi", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/validation/hard_fail.py", + "source_location": "L4", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_validation_kakao_matrix_kakaomobilitymatrix", + "target": "src_data_models_vrptwplace", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/validation/kakao_matrix.py", + "source_location": "L35", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_validation_kakao_matrix_kakaomobilitymatrix", + "target": "src_validation_vrptw_engine_haversinematrix", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/validation/kakao_matrix.py", + "source_location": "L36", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_validation_kakao_matrix_kakaomobilitymatrix", + "target": "src_validation_vrptw_engine_timematrix", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/validation/kakao_matrix.py", + "source_location": "L36", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_validation_scoring_scorecalculator", + "target": "src_data_models_hardfail", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/validation/scoring.py", + "source_location": "L4", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_validation_scoring_scorecalculator", + "target": "src_data_models_itineraryplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/validation/scoring.py", + "source_location": "L4", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_validation_scoring_scorecalculator", + "target": "src_data_models_poi", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/validation/scoring.py", + "source_location": "L4", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_validation_scoring_scorecalculator", + "target": "src_data_models_scores", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/validation/scoring.py", + "source_location": "L4", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_timematrix", + "target": "src_data_models_dayroutecomparison", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L18", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_haversinematrix", + "target": "src_data_models_dayroutecomparison", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L18", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_cachedroutematrix", + "target": "src_data_models_dayroutecomparison", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L18", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_simresult", + "target": "src_data_models_dayroutecomparison", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L18", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_vrptwengine", + "target": "src_data_models_dayroutecomparison", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L18", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_timematrix", + "target": "src_data_models_deepdiveitem", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L18", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_haversinematrix", + "target": "src_data_models_deepdiveitem", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L18", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_cachedroutematrix", + "target": "src_data_models_deepdiveitem", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L18", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_simresult", + "target": "src_data_models_deepdiveitem", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L18", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_vrptwengine", + "target": "src_data_models_deepdiveitem", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L18", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_timematrix", + "target": "src_data_models_vrptwday", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L18", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_haversinematrix", + "target": "src_data_models_vrptwday", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L18", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_cachedroutematrix", + "target": "src_data_models_vrptwday", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L18", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_simresult", + "target": "src_data_models_vrptwday", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L18", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_vrptwengine", + "target": "src_data_models_vrptwday", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L18", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_timematrix", + "target": "src_data_models_vrptwplace", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L18", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_haversinematrix", + "target": "src_data_models_vrptwplace", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L18", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_cachedroutematrix", + "target": "src_data_models_vrptwplace", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L18", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_simresult", + "target": "src_data_models_vrptwplace", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L18", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_vrptwengine", + "target": "src_data_models_vrptwplace", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L18", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_timematrix", + "target": "src_data_models_vrptwrequest", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L18", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_haversinematrix", + "target": "src_data_models_vrptwrequest", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L18", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_cachedroutematrix", + "target": "src_data_models_vrptwrequest", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L18", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_simresult", + "target": "src_data_models_vrptwrequest", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L18", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_vrptwengine", + "target": "src_data_models_vrptwrequest", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L18", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_timematrix", + "target": "src_data_models_vrptwresult", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L18", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_haversinematrix", + "target": "src_data_models_vrptwresult", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L18", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_cachedroutematrix", + "target": "src_data_models_vrptwresult", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L18", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_simresult", + "target": "src_data_models_vrptwresult", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L18", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_vrptwengine", + "target": "src_data_models_vrptwresult", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L18", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_validation_warning_warningdetector", + "target": "src_data_models_itineraryplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/validation/warning.py", + "source_location": "L4", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_validation_warning_warningdetector", + "target": "src_data_models_poi", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/validation/warning.py", + "source_location": "L4", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "src_validation_warning_warningdetector", + "target": "src_data_models_warning", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "src/validation/warning.py", + "source_location": "L4", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_alternatives_testfindalternatives", + "target": "src_data_models_alternativepoi", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_alternatives.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_alternatives_testbuildalternativesmap", + "target": "src_data_models_alternativepoi", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_alternatives.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_alternatives_testfindalternatives", + "target": "src_data_models_hardfail", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_alternatives.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_alternatives_testbuildalternativesmap", + "target": "src_data_models_hardfail", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_alternatives.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_alternatives_testfindalternatives", + "target": "src_data_models_poi", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_alternatives.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_alternatives_testbuildalternativesmap", + "target": "src_data_models_poi", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_alternatives.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_alternatives_testfindalternatives", + "target": "src_validation_alternatives_alternativesfinder", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_alternatives.py", + "source_location": "L7", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_alternatives_testbuildalternativesmap", + "target": "src_validation_alternatives_alternativesfinder", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_alternatives.py", + "source_location": "L7", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine_testwellnessbonus", + "target": "src_data_models_poi", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L10", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine_testaccessibilitybonus", + "target": "src_data_models_poi", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L10", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine_testpetfriendlybonus", + "target": "src_data_models_poi", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L10", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine_testtotalbonuscap", + "target": "src_data_models_poi", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L10", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine_testfromdataset", + "target": "src_data_models_poi", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L10", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine_testbonusresultfields", + "target": "src_data_models_poi", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L10", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine_testwellnessbonus", + "target": "src_scoring_bonus_engine_bonusengine", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L11", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine_testaccessibilitybonus", + "target": "src_scoring_bonus_engine_bonusengine", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L11", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine_testpetfriendlybonus", + "target": "src_scoring_bonus_engine_bonusengine", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L11", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine_testtotalbonuscap", + "target": "src_scoring_bonus_engine_bonusengine", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L11", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine_testfromdataset", + "target": "src_scoring_bonus_engine_bonusengine", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L11", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine_testbonusresultfields", + "target": "src_scoring_bonus_engine_bonusengine", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_bonus_engine.py", + "source_location": "L11", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_dwell_db_testmanualoverride", + "target": "src_data_dwell_db_dwellrecommendation", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_dwell_db.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_dwell_db_testlclssystm3", + "target": "src_data_dwell_db_dwellrecommendation", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_dwell_db.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_dwell_db_testlclssystm1fallback", + "target": "src_data_dwell_db_dwellrecommendation", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_dwell_db.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_dwell_db_testcontenttypefallback", + "target": "src_data_dwell_db_dwellrecommendation", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_dwell_db.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_dwell_db_testdefaultfallback", + "target": "src_data_dwell_db_dwellrecommendation", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_dwell_db.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_dwell_db_testistooshort", + "target": "src_data_dwell_db_dwellrecommendation", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_dwell_db.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testcachekey", + "target": "src_data_models_alternativepoi", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testgraphcontext", + "target": "src_data_models_alternativepoi", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuilduserprompt", + "target": "src_data_models_alternativepoi", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testparsellmresponse", + "target": "src_data_models_alternativepoi", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testfallback", + "target": "src_data_models_alternativepoi", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testexplainenginenollm", + "target": "src_data_models_alternativepoi", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testexplainenginemockllm", + "target": "src_data_models_alternativepoi", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testexplainenginegraphdefault", + "target": "src_data_models_alternativepoi", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuildalternatives", + "target": "src_data_models_alternativepoi", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testcachekey", + "target": "src_data_models_dayplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testgraphcontext", + "target": "src_data_models_dayplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuilduserprompt", + "target": "src_data_models_dayplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testparsellmresponse", + "target": "src_data_models_dayplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testfallback", + "target": "src_data_models_dayplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testexplainenginenollm", + "target": "src_data_models_dayplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testexplainenginemockllm", + "target": "src_data_models_dayplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testexplainenginegraphdefault", + "target": "src_data_models_dayplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuildalternatives", + "target": "src_data_models_dayplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testcachekey", + "target": "src_data_models_explanationitem", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testgraphcontext", + "target": "src_data_models_explanationitem", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuilduserprompt", + "target": "src_data_models_explanationitem", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testparsellmresponse", + "target": "src_data_models_explanationitem", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testfallback", + "target": "src_data_models_explanationitem", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testexplainenginenollm", + "target": "src_data_models_explanationitem", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testexplainenginemockllm", + "target": "src_data_models_explanationitem", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testexplainenginegraphdefault", + "target": "src_data_models_explanationitem", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuildalternatives", + "target": "src_data_models_explanationitem", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testcachekey", + "target": "src_data_models_hardfail", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testgraphcontext", + "target": "src_data_models_hardfail", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuilduserprompt", + "target": "src_data_models_hardfail", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testparsellmresponse", + "target": "src_data_models_hardfail", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testfallback", + "target": "src_data_models_hardfail", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testexplainenginenollm", + "target": "src_data_models_hardfail", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testexplainenginemockllm", + "target": "src_data_models_hardfail", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testexplainenginegraphdefault", + "target": "src_data_models_hardfail", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuildalternatives", + "target": "src_data_models_hardfail", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testcachekey", + "target": "src_data_models_itineraryplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testgraphcontext", + "target": "src_data_models_itineraryplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuilduserprompt", + "target": "src_data_models_itineraryplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testparsellmresponse", + "target": "src_data_models_itineraryplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testfallback", + "target": "src_data_models_itineraryplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testexplainenginenollm", + "target": "src_data_models_itineraryplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testexplainenginemockllm", + "target": "src_data_models_itineraryplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testexplainenginegraphdefault", + "target": "src_data_models_itineraryplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuildalternatives", + "target": "src_data_models_itineraryplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testcachekey", + "target": "src_data_models_placeevidence", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testgraphcontext", + "target": "src_data_models_placeevidence", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuilduserprompt", + "target": "src_data_models_placeevidence", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testparsellmresponse", + "target": "src_data_models_placeevidence", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testfallback", + "target": "src_data_models_placeevidence", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testexplainenginenollm", + "target": "src_data_models_placeevidence", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testexplainenginemockllm", + "target": "src_data_models_placeevidence", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testexplainenginegraphdefault", + "target": "src_data_models_placeevidence", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuildalternatives", + "target": "src_data_models_placeevidence", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testcachekey", + "target": "src_data_models_placeinput", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testgraphcontext", + "target": "src_data_models_placeinput", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuilduserprompt", + "target": "src_data_models_placeinput", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testparsellmresponse", + "target": "src_data_models_placeinput", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testfallback", + "target": "src_data_models_placeinput", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testexplainenginenollm", + "target": "src_data_models_placeinput", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testexplainenginemockllm", + "target": "src_data_models_placeinput", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testexplainenginegraphdefault", + "target": "src_data_models_placeinput", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuildalternatives", + "target": "src_data_models_placeinput", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testcachekey", + "target": "src_data_models_scores", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testgraphcontext", + "target": "src_data_models_scores", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuilduserprompt", + "target": "src_data_models_scores", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testparsellmresponse", + "target": "src_data_models_scores", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testfallback", + "target": "src_data_models_scores", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testexplainenginenollm", + "target": "src_data_models_scores", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testexplainenginemockllm", + "target": "src_data_models_scores", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testexplainenginegraphdefault", + "target": "src_data_models_scores", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuildalternatives", + "target": "src_data_models_scores", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testcachekey", + "target": "src_data_models_warning", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testgraphcontext", + "target": "src_data_models_warning", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuilduserprompt", + "target": "src_data_models_warning", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testparsellmresponse", + "target": "src_data_models_warning", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testfallback", + "target": "src_data_models_warning", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testexplainenginenollm", + "target": "src_data_models_warning", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testexplainenginemockllm", + "target": "src_data_models_warning", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testexplainenginegraphdefault", + "target": "src_data_models_warning", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuildalternatives", + "target": "src_data_models_warning", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testcachekey", + "target": "src_explain_explain_engine_explainengine", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L20", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testgraphcontext", + "target": "src_explain_explain_engine_explainengine", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L20", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuilduserprompt", + "target": "src_explain_explain_engine_explainengine", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L20", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testparsellmresponse", + "target": "src_explain_explain_engine_explainengine", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L20", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testfallback", + "target": "src_explain_explain_engine_explainengine", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L20", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testexplainenginenollm", + "target": "src_explain_explain_engine_explainengine", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L20", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testexplainenginemockllm", + "target": "src_explain_explain_engine_explainengine", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L20", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testexplainenginegraphdefault", + "target": "src_explain_explain_engine_explainengine", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L20", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuildalternatives", + "target": "src_explain_explain_engine_explainengine", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_explain_engine.py", + "source_location": "L20", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_geo_testhaversinekm", + "target": "src_data_models_poi", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_geo.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_geo_testbuilddistcache", + "target": "src_data_models_poi", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_geo.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_geo_testnnheuristickm", + "target": "src_data_models_poi", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_geo.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_geo_testgettravelmin", + "target": "src_data_models_poi", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_geo.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail_testhelpers", + "target": "src_data_models_poi", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail_testoperatinghours", + "target": "src_data_models_poi", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail_testtraveltimeimpossible", + "target": "src_data_models_poi", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail_testscheduleinfeasible", + "target": "src_data_models_poi", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail_testnormalplan", + "target": "src_data_models_poi", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail_testdayindex", + "target": "src_data_models_poi", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail_testhelpers", + "target": "src_data_models_dayplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail_testoperatinghours", + "target": "src_data_models_dayplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail_testtraveltimeimpossible", + "target": "src_data_models_dayplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail_testscheduleinfeasible", + "target": "src_data_models_dayplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail_testnormalplan", + "target": "src_data_models_dayplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail_testdayindex", + "target": "src_data_models_dayplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail_testhelpers", + "target": "src_data_models_itineraryplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail_testoperatinghours", + "target": "src_data_models_itineraryplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail_testtraveltimeimpossible", + "target": "src_data_models_itineraryplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail_testscheduleinfeasible", + "target": "src_data_models_itineraryplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail_testnormalplan", + "target": "src_data_models_itineraryplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail_testdayindex", + "target": "src_data_models_itineraryplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail_testhelpers", + "target": "src_data_models_placeinput", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail_testoperatinghours", + "target": "src_data_models_placeinput", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail_testtraveltimeimpossible", + "target": "src_data_models_placeinput", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail_testscheduleinfeasible", + "target": "src_data_models_placeinput", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail_testnormalplan", + "target": "src_data_models_placeinput", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail_testdayindex", + "target": "src_data_models_placeinput", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail_testhelpers", + "target": "src_validation_hard_fail_hardfaildetector", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L7", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail_testoperatinghours", + "target": "src_validation_hard_fail_hardfaildetector", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L7", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail_testtraveltimeimpossible", + "target": "src_validation_hard_fail_hardfaildetector", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L7", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail_testscheduleinfeasible", + "target": "src_validation_hard_fail_hardfaildetector", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L7", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail_testnormalplan", + "target": "src_validation_hard_fail_hardfaildetector", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L7", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail_testdayindex", + "target": "src_validation_hard_fail_hardfaildetector", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_hard_fail.py", + "source_location": "L7", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix_testsamepoint", + "target": "src_data_models_vrptwplace", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix_testapicall", + "target": "src_data_models_vrptwplace", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix_testquotaexhaustion", + "target": "src_data_models_vrptwplace", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix_testautherror", + "target": "src_data_models_vrptwplace", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix_testcachepersistence", + "target": "src_data_models_vrptwplace", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix_testfromenv", + "target": "src_data_models_vrptwplace", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix_testasyncprefetch", + "target": "src_data_models_vrptwplace", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix_testsamepoint", + "target": "src_validation_kakao_matrix_kakaomobilitymatrix", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L10", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix_testapicall", + "target": "src_validation_kakao_matrix_kakaomobilitymatrix", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L10", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix_testquotaexhaustion", + "target": "src_validation_kakao_matrix_kakaomobilitymatrix", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L10", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix_testautherror", + "target": "src_validation_kakao_matrix_kakaomobilitymatrix", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L10", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix_testcachepersistence", + "target": "src_validation_kakao_matrix_kakaomobilitymatrix", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L10", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix_testfromenv", + "target": "src_validation_kakao_matrix_kakaomobilitymatrix", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L10", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix_testasyncprefetch", + "target": "src_validation_kakao_matrix_kakaomobilitymatrix", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L10", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_party_config_testpartyprofiles", + "target": "src_data_party_config_partyprofile", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_party_config.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_party_config_testpartyprofilevalues", + "target": "src_data_party_config_partyprofile", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_party_config.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_party_config_teststrainthresholdlogic", + "target": "src_data_party_config_partyprofile", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_party_config.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testtovrptwday", + "target": "src_data_models_alternativepoi", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L8", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinebasic", + "target": "src_data_models_alternativepoi", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L8", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinehardfail", + "target": "src_data_models_alternativepoi", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L8", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinebreakdown", + "target": "src_data_models_alternativepoi", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L8", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinemultiday", + "target": "src_data_models_alternativepoi", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L8", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinevrptw", + "target": "src_data_models_alternativepoi", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L8", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinerepairgainestimation", + "target": "src_data_models_alternativepoi", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L8", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testtovrptwday", + "target": "src_data_models_dayplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L8", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinebasic", + "target": "src_data_models_dayplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L8", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinehardfail", + "target": "src_data_models_dayplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L8", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinebreakdown", + "target": "src_data_models_dayplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L8", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinemultiday", + "target": "src_data_models_dayplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L8", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinevrptw", + "target": "src_data_models_dayplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L8", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinerepairgainestimation", + "target": "src_data_models_dayplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L8", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testtovrptwday", + "target": "src_data_models_hardfail", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L8", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinebasic", + "target": "src_data_models_hardfail", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L8", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinehardfail", + "target": "src_data_models_hardfail", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L8", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinebreakdown", + "target": "src_data_models_hardfail", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L8", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinemultiday", + "target": "src_data_models_hardfail", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L8", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinevrptw", + "target": "src_data_models_hardfail", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L8", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinerepairgainestimation", + "target": "src_data_models_hardfail", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L8", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testtovrptwday", + "target": "src_data_models_itineraryplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L8", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinebasic", + "target": "src_data_models_itineraryplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L8", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinehardfail", + "target": "src_data_models_itineraryplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L8", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinebreakdown", + "target": "src_data_models_itineraryplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L8", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinemultiday", + "target": "src_data_models_itineraryplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L8", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinevrptw", + "target": "src_data_models_itineraryplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L8", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinerepairgainestimation", + "target": "src_data_models_itineraryplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L8", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testtovrptwday", + "target": "src_data_models_placeinput", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L8", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinebasic", + "target": "src_data_models_placeinput", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L8", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinehardfail", + "target": "src_data_models_placeinput", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L8", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinebreakdown", + "target": "src_data_models_placeinput", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L8", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinemultiday", + "target": "src_data_models_placeinput", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L8", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinevrptw", + "target": "src_data_models_placeinput", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L8", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinerepairgainestimation", + "target": "src_data_models_placeinput", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L8", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testtovrptwday", + "target": "src_data_models_poi", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L8", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinebasic", + "target": "src_data_models_poi", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L8", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinehardfail", + "target": "src_data_models_poi", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L8", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinebreakdown", + "target": "src_data_models_poi", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L8", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinemultiday", + "target": "src_data_models_poi", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L8", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinevrptw", + "target": "src_data_models_poi", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L8", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinerepairgainestimation", + "target": "src_data_models_poi", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L8", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testtovrptwday", + "target": "src_data_models_validationresult", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L8", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinebasic", + "target": "src_data_models_validationresult", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L8", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinehardfail", + "target": "src_data_models_validationresult", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L8", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinebreakdown", + "target": "src_data_models_validationresult", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L8", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinemultiday", + "target": "src_data_models_validationresult", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L8", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinevrptw", + "target": "src_data_models_validationresult", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L8", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinerepairgainestimation", + "target": "src_data_models_validationresult", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L8", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testtovrptwday", + "target": "src_explain_pipeline_validatorpipeline", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinebasic", + "target": "src_explain_pipeline_validatorpipeline", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinehardfail", + "target": "src_explain_pipeline_validatorpipeline", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinebreakdown", + "target": "src_explain_pipeline_validatorpipeline", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinemultiday", + "target": "src_explain_pipeline_validatorpipeline", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinevrptw", + "target": "src_explain_pipeline_validatorpipeline", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinerepairgainestimation", + "target": "src_explain_pipeline_validatorpipeline", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testtovrptwday", + "target": "src_scoring_bonus_engine_bonusengine", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L10", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinebasic", + "target": "src_scoring_bonus_engine_bonusengine", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L10", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinehardfail", + "target": "src_scoring_bonus_engine_bonusengine", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L10", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinebreakdown", + "target": "src_scoring_bonus_engine_bonusengine", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L10", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinemultiday", + "target": "src_scoring_bonus_engine_bonusengine", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L10", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinevrptw", + "target": "src_scoring_bonus_engine_bonusengine", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L10", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinerepairgainestimation", + "target": "src_scoring_bonus_engine_bonusengine", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L10", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testrepairenginenoop", + "target": "src_data_models_poi", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_repair.py", + "source_location": "L4", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testdeletionsuggestion", + "target": "src_data_models_poi", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_repair.py", + "source_location": "L4", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testtimetunesuggestion", + "target": "src_data_models_poi", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_repair.py", + "source_location": "L4", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testresultmodel", + "target": "src_data_models_poi", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_repair.py", + "source_location": "L4", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testtotalestimatedgain", + "target": "src_data_models_poi", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_repair.py", + "source_location": "L4", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testrepairenginenoop", + "target": "src_data_models_dayplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_repair.py", + "source_location": "L4", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testdeletionsuggestion", + "target": "src_data_models_dayplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_repair.py", + "source_location": "L4", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testtimetunesuggestion", + "target": "src_data_models_dayplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_repair.py", + "source_location": "L4", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testresultmodel", + "target": "src_data_models_dayplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_repair.py", + "source_location": "L4", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testtotalestimatedgain", + "target": "src_data_models_dayplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_repair.py", + "source_location": "L4", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testrepairenginenoop", + "target": "src_data_models_hardfail", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_repair.py", + "source_location": "L4", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testdeletionsuggestion", + "target": "src_data_models_hardfail", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_repair.py", + "source_location": "L4", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testtimetunesuggestion", + "target": "src_data_models_hardfail", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_repair.py", + "source_location": "L4", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testresultmodel", + "target": "src_data_models_hardfail", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_repair.py", + "source_location": "L4", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testtotalestimatedgain", + "target": "src_data_models_hardfail", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_repair.py", + "source_location": "L4", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testrepairenginenoop", + "target": "src_data_models_itineraryplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_repair.py", + "source_location": "L4", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testdeletionsuggestion", + "target": "src_data_models_itineraryplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_repair.py", + "source_location": "L4", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testtimetunesuggestion", + "target": "src_data_models_itineraryplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_repair.py", + "source_location": "L4", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testresultmodel", + "target": "src_data_models_itineraryplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_repair.py", + "source_location": "L4", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testtotalestimatedgain", + "target": "src_data_models_itineraryplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_repair.py", + "source_location": "L4", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testrepairenginenoop", + "target": "src_data_models_placeinput", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_repair.py", + "source_location": "L4", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testdeletionsuggestion", + "target": "src_data_models_placeinput", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_repair.py", + "source_location": "L4", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testtimetunesuggestion", + "target": "src_data_models_placeinput", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_repair.py", + "source_location": "L4", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testresultmodel", + "target": "src_data_models_placeinput", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_repair.py", + "source_location": "L4", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testtotalestimatedgain", + "target": "src_data_models_placeinput", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_repair.py", + "source_location": "L4", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testrepairenginenoop", + "target": "src_data_restaurant_catalog_restaurantcatalog", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_repair.py", + "source_location": "L5", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testdeletionsuggestion", + "target": "src_data_restaurant_catalog_restaurantcatalog", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_repair.py", + "source_location": "L5", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testtimetunesuggestion", + "target": "src_data_restaurant_catalog_restaurantcatalog", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_repair.py", + "source_location": "L5", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testresultmodel", + "target": "src_data_restaurant_catalog_restaurantcatalog", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_repair.py", + "source_location": "L5", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testtotalestimatedgain", + "target": "src_data_restaurant_catalog_restaurantcatalog", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_repair.py", + "source_location": "L5", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testrepairenginenoop", + "target": "src_explain_repair_deletionsuggestion", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_repair.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testdeletionsuggestion", + "target": "src_explain_repair_deletionsuggestion", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_repair.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testtimetunesuggestion", + "target": "src_explain_repair_deletionsuggestion", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_repair.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testresultmodel", + "target": "src_explain_repair_deletionsuggestion", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_repair.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testtotalestimatedgain", + "target": "src_explain_repair_deletionsuggestion", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_repair.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testrepairenginenoop", + "target": "src_explain_repair_repairresult", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_repair.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testdeletionsuggestion", + "target": "src_explain_repair_repairresult", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_repair.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testtimetunesuggestion", + "target": "src_explain_repair_repairresult", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_repair.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testresultmodel", + "target": "src_explain_repair_repairresult", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_repair.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testtotalestimatedgain", + "target": "src_explain_repair_repairresult", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_repair.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testrepairenginenoop", + "target": "src_explain_repair_repairengine", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_repair.py", + "source_location": "L7", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testdeletionsuggestion", + "target": "src_explain_repair_repairengine", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_repair.py", + "source_location": "L7", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testtimetunesuggestion", + "target": "src_explain_repair_repairengine", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_repair.py", + "source_location": "L7", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testresultmodel", + "target": "src_explain_repair_repairengine", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_repair.py", + "source_location": "L7", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testtotalestimatedgain", + "target": "src_explain_repair_repairengine", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_repair.py", + "source_location": "L7", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_reward_engine_testgeneraterewards", + "target": "src_data_models_scores", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_reward_engine.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_testweights", + "target": "src_data_models_dayplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_scoring.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_testcompute", + "target": "src_data_models_dayplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_scoring.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_testefficiency", + "target": "src_data_models_dayplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_scoring.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_testfeasibility", + "target": "src_data_models_dayplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_scoring.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_testpurposefit", + "target": "src_data_models_dayplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_scoring.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_testcosinedistance", + "target": "src_data_models_dayplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_scoring.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_testweights", + "target": "src_data_models_hardfail", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_scoring.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_testcompute", + "target": "src_data_models_hardfail", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_scoring.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_testefficiency", + "target": "src_data_models_hardfail", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_scoring.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_testfeasibility", + "target": "src_data_models_hardfail", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_scoring.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_testpurposefit", + "target": "src_data_models_hardfail", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_scoring.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_testcosinedistance", + "target": "src_data_models_hardfail", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_scoring.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_testweights", + "target": "src_data_models_itineraryplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_scoring.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_testcompute", + "target": "src_data_models_itineraryplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_scoring.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_testefficiency", + "target": "src_data_models_itineraryplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_scoring.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_testfeasibility", + "target": "src_data_models_itineraryplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_scoring.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_testpurposefit", + "target": "src_data_models_itineraryplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_scoring.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_testcosinedistance", + "target": "src_data_models_itineraryplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_scoring.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_testweights", + "target": "src_data_models_placeinput", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_scoring.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_testcompute", + "target": "src_data_models_placeinput", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_scoring.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_testefficiency", + "target": "src_data_models_placeinput", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_scoring.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_testfeasibility", + "target": "src_data_models_placeinput", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_scoring.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_testpurposefit", + "target": "src_data_models_placeinput", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_scoring.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_testcosinedistance", + "target": "src_data_models_placeinput", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_scoring.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_testweights", + "target": "src_data_models_poi", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_scoring.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_testcompute", + "target": "src_data_models_poi", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_scoring.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_testefficiency", + "target": "src_data_models_poi", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_scoring.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_testfeasibility", + "target": "src_data_models_poi", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_scoring.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_testpurposefit", + "target": "src_data_models_poi", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_scoring.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_testcosinedistance", + "target": "src_data_models_poi", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_scoring.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_testweights", + "target": "src_data_models_scores", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_scoring.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_testcompute", + "target": "src_data_models_scores", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_scoring.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_testefficiency", + "target": "src_data_models_scores", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_scoring.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_testfeasibility", + "target": "src_data_models_scores", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_scoring.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_testpurposefit", + "target": "src_data_models_scores", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_scoring.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_testcosinedistance", + "target": "src_data_models_scores", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_scoring.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_testweights", + "target": "src_validation_scoring_scorecalculator", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_scoring.py", + "source_location": "L7", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_testcompute", + "target": "src_validation_scoring_scorecalculator", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_scoring.py", + "source_location": "L7", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_testefficiency", + "target": "src_validation_scoring_scorecalculator", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_scoring.py", + "source_location": "L7", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_testfeasibility", + "target": "src_validation_scoring_scorecalculator", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_scoring.py", + "source_location": "L7", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_testpurposefit", + "target": "src_validation_scoring_scorecalculator", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_scoring.py", + "source_location": "L7", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_scoring_testcosinedistance", + "target": "src_validation_scoring_scorecalculator", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_scoring.py", + "source_location": "L7", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_theme_alignment_testnoapikey", + "target": "src_data_theme_taxonomy_userpreferences", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_theme_alignment.py", + "source_location": "L8", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_theme_alignment_testclassifyscore", + "target": "src_data_theme_taxonomy_userpreferences", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_theme_alignment.py", + "source_location": "L8", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_theme_alignment_testparsellmresponse", + "target": "src_data_theme_taxonomy_userpreferences", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_theme_alignment.py", + "source_location": "L8", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_theme_alignment_testevaluatewithmockclient", + "target": "src_data_theme_taxonomy_userpreferences", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_theme_alignment.py", + "source_location": "L8", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_theme_alignment_testnoapikey", + "target": "src_scoring_theme_alignment_poiwithcategory", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_theme_alignment.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_theme_alignment_testclassifyscore", + "target": "src_scoring_theme_alignment_poiwithcategory", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_theme_alignment.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_theme_alignment_testparsellmresponse", + "target": "src_scoring_theme_alignment_poiwithcategory", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_theme_alignment.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_theme_alignment_testevaluatewithmockclient", + "target": "src_scoring_theme_alignment_poiwithcategory", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_theme_alignment.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_theme_alignment_testnoapikey", + "target": "src_scoring_theme_alignment_themealignmentjudge", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_theme_alignment.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_theme_alignment_testclassifyscore", + "target": "src_scoring_theme_alignment_themealignmentjudge", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_theme_alignment.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_theme_alignment_testparsellmresponse", + "target": "src_scoring_theme_alignment_themealignmentjudge", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_theme_alignment.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_theme_alignment_testevaluatewithmockclient", + "target": "src_scoring_theme_alignment_themealignmentjudge", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_theme_alignment.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_theme_alignment_testnoapikey", + "target": "src_scoring_theme_alignment_themejudgment", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_theme_alignment.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_theme_alignment_testclassifyscore", + "target": "src_scoring_theme_alignment_themejudgment", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_theme_alignment.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_theme_alignment_testparsellmresponse", + "target": "src_scoring_theme_alignment_themejudgment", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_theme_alignment.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_theme_alignment_testevaluatewithmockclient", + "target": "src_scoring_theme_alignment_themejudgment", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_theme_alignment.py", + "source_location": "L9", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_theme_taxonomy_testplacetypecount", + "target": "src_data_theme_taxonomy_userpreferences", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_theme_taxonomy.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_theme_taxonomy_testuserpreferences", + "target": "src_data_theme_taxonomy_userpreferences", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_theme_taxonomy.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_theme_taxonomy_testmatchesplacetype", + "target": "src_data_theme_taxonomy_userpreferences", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_theme_taxonomy.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_theme_taxonomy_testgetplacetypesfor", + "target": "src_data_theme_taxonomy_userpreferences", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_theme_taxonomy.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testhaversinematrix", + "target": "src_data_models_vrptwday", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L10", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testcachedroutematrix", + "target": "src_data_models_vrptwday", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L10", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testdepotconstraint", + "target": "src_data_models_vrptwday", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L10", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testtimewindowfeasibility", + "target": "src_data_models_vrptwday", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L10", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testefficiencygap", + "target": "src_data_models_vrptwday", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L10", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testfatiguescore", + "target": "src_data_models_vrptwday", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L10", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testortoolsdegradation", + "target": "src_data_models_vrptwday", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L10", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testriskscore", + "target": "src_data_models_vrptwday", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L10", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testmodelvalidation", + "target": "src_data_models_vrptwday", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L10", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testefficiencygapthreshold", + "target": "src_data_models_vrptwday", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L10", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testmultidayresult", + "target": "src_data_models_vrptwday", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L10", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testhaversinematrix", + "target": "src_data_models_vrptwplace", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L10", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testcachedroutematrix", + "target": "src_data_models_vrptwplace", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L10", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testdepotconstraint", + "target": "src_data_models_vrptwplace", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L10", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testtimewindowfeasibility", + "target": "src_data_models_vrptwplace", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L10", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testefficiencygap", + "target": "src_data_models_vrptwplace", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L10", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testfatiguescore", + "target": "src_data_models_vrptwplace", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L10", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testortoolsdegradation", + "target": "src_data_models_vrptwplace", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L10", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testriskscore", + "target": "src_data_models_vrptwplace", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L10", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testmodelvalidation", + "target": "src_data_models_vrptwplace", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L10", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testefficiencygapthreshold", + "target": "src_data_models_vrptwplace", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L10", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testmultidayresult", + "target": "src_data_models_vrptwplace", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L10", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testhaversinematrix", + "target": "src_data_models_vrptwrequest", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L10", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testcachedroutematrix", + "target": "src_data_models_vrptwrequest", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L10", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testdepotconstraint", + "target": "src_data_models_vrptwrequest", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L10", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testtimewindowfeasibility", + "target": "src_data_models_vrptwrequest", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L10", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testefficiencygap", + "target": "src_data_models_vrptwrequest", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L10", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testfatiguescore", + "target": "src_data_models_vrptwrequest", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L10", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testortoolsdegradation", + "target": "src_data_models_vrptwrequest", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L10", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testriskscore", + "target": "src_data_models_vrptwrequest", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L10", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testmodelvalidation", + "target": "src_data_models_vrptwrequest", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L10", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testefficiencygapthreshold", + "target": "src_data_models_vrptwrequest", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L10", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testmultidayresult", + "target": "src_data_models_vrptwrequest", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L10", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testhaversinematrix", + "target": "src_data_models_vrptwresult", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L10", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testcachedroutematrix", + "target": "src_data_models_vrptwresult", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L10", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testdepotconstraint", + "target": "src_data_models_vrptwresult", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L10", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testtimewindowfeasibility", + "target": "src_data_models_vrptwresult", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L10", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testefficiencygap", + "target": "src_data_models_vrptwresult", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L10", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testfatiguescore", + "target": "src_data_models_vrptwresult", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L10", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testortoolsdegradation", + "target": "src_data_models_vrptwresult", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L10", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testriskscore", + "target": "src_data_models_vrptwresult", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L10", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testmodelvalidation", + "target": "src_data_models_vrptwresult", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L10", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testefficiencygapthreshold", + "target": "src_data_models_vrptwresult", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L10", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testmultidayresult", + "target": "src_data_models_vrptwresult", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L10", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testhaversinematrix", + "target": "src_validation_vrptw_engine_cachedroutematrix", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L11", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testcachedroutematrix", + "target": "src_validation_vrptw_engine_cachedroutematrix", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L11", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testdepotconstraint", + "target": "src_validation_vrptw_engine_cachedroutematrix", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L11", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testtimewindowfeasibility", + "target": "src_validation_vrptw_engine_cachedroutematrix", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L11", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testefficiencygap", + "target": "src_validation_vrptw_engine_cachedroutematrix", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L11", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testfatiguescore", + "target": "src_validation_vrptw_engine_cachedroutematrix", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L11", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testortoolsdegradation", + "target": "src_validation_vrptw_engine_cachedroutematrix", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L11", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testriskscore", + "target": "src_validation_vrptw_engine_cachedroutematrix", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L11", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testmodelvalidation", + "target": "src_validation_vrptw_engine_cachedroutematrix", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L11", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testefficiencygapthreshold", + "target": "src_validation_vrptw_engine_cachedroutematrix", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L11", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testmultidayresult", + "target": "src_validation_vrptw_engine_cachedroutematrix", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L11", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testhaversinematrix", + "target": "src_validation_vrptw_engine_haversinematrix", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L11", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testcachedroutematrix", + "target": "src_validation_vrptw_engine_haversinematrix", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L11", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testdepotconstraint", + "target": "src_validation_vrptw_engine_haversinematrix", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L11", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testtimewindowfeasibility", + "target": "src_validation_vrptw_engine_haversinematrix", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L11", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testefficiencygap", + "target": "src_validation_vrptw_engine_haversinematrix", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L11", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testfatiguescore", + "target": "src_validation_vrptw_engine_haversinematrix", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L11", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testortoolsdegradation", + "target": "src_validation_vrptw_engine_haversinematrix", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L11", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testriskscore", + "target": "src_validation_vrptw_engine_haversinematrix", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L11", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testmodelvalidation", + "target": "src_validation_vrptw_engine_haversinematrix", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L11", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testefficiencygapthreshold", + "target": "src_validation_vrptw_engine_haversinematrix", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L11", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testmultidayresult", + "target": "src_validation_vrptw_engine_haversinematrix", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L11", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testhaversinematrix", + "target": "src_validation_vrptw_engine_vrptwengine", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L11", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testcachedroutematrix", + "target": "src_validation_vrptw_engine_vrptwengine", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L11", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testdepotconstraint", + "target": "src_validation_vrptw_engine_vrptwengine", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L11", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testtimewindowfeasibility", + "target": "src_validation_vrptw_engine_vrptwengine", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L11", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testefficiencygap", + "target": "src_validation_vrptw_engine_vrptwengine", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L11", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testfatiguescore", + "target": "src_validation_vrptw_engine_vrptwengine", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L11", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testortoolsdegradation", + "target": "src_validation_vrptw_engine_vrptwengine", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L11", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testriskscore", + "target": "src_validation_vrptw_engine_vrptwengine", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L11", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testmodelvalidation", + "target": "src_validation_vrptw_engine_vrptwengine", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L11", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testefficiencygapthreshold", + "target": "src_validation_vrptw_engine_vrptwengine", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L11", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testmultidayresult", + "target": "src_validation_vrptw_engine_vrptwengine", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L11", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_warning_testdenseschedule", + "target": "src_data_models_dayplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_warning.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_warning_testphysicalstrain", + "target": "src_data_models_dayplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_warning.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_warning_testpurposemismatch", + "target": "src_data_models_dayplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_warning.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_warning_testarearevisit", + "target": "src_data_models_dayplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_warning.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_warning_testwarningfields", + "target": "src_data_models_dayplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_warning.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_warning_testdayindex", + "target": "src_data_models_dayplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_warning.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_warning_testdenseschedule", + "target": "src_data_models_itineraryplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_warning.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_warning_testphysicalstrain", + "target": "src_data_models_itineraryplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_warning.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_warning_testpurposemismatch", + "target": "src_data_models_itineraryplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_warning.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_warning_testarearevisit", + "target": "src_data_models_itineraryplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_warning.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_warning_testwarningfields", + "target": "src_data_models_itineraryplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_warning.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_warning_testdayindex", + "target": "src_data_models_itineraryplan", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_warning.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_warning_testdenseschedule", + "target": "src_data_models_placeinput", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_warning.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_warning_testphysicalstrain", + "target": "src_data_models_placeinput", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_warning.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_warning_testpurposemismatch", + "target": "src_data_models_placeinput", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_warning.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_warning_testarearevisit", + "target": "src_data_models_placeinput", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_warning.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_warning_testwarningfields", + "target": "src_data_models_placeinput", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_warning.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_warning_testdayindex", + "target": "src_data_models_placeinput", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_warning.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_warning_testdenseschedule", + "target": "src_data_models_poi", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_warning.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_warning_testphysicalstrain", + "target": "src_data_models_poi", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_warning.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_warning_testpurposemismatch", + "target": "src_data_models_poi", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_warning.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_warning_testarearevisit", + "target": "src_data_models_poi", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_warning.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_warning_testwarningfields", + "target": "src_data_models_poi", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_warning.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_warning_testdayindex", + "target": "src_data_models_poi", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_warning.py", + "source_location": "L6", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_warning_testdenseschedule", + "target": "src_validation_warning_warningdetector", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_warning.py", + "source_location": "L7", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_warning_testphysicalstrain", + "target": "src_validation_warning_warningdetector", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_warning.py", + "source_location": "L7", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_warning_testpurposemismatch", + "target": "src_validation_warning_warningdetector", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_warning.py", + "source_location": "L7", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_warning_testarearevisit", + "target": "src_validation_warning_warningdetector", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_warning.py", + "source_location": "L7", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_warning_testwarningfields", + "target": "src_validation_warning_warningdetector", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_warning.py", + "source_location": "L7", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "tests_test_warning_testdayindex", + "target": "src_validation_warning_warningdetector", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "tests/test_warning.py", + "source_location": "L7", + "weight": 0.8, + "_origin": "ast" + }, + { + "source": "scripts_collect_naver_full_print_stats", + "target": "counter", + "relation": "calls", + "context": "call", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "scripts/collect_naver_full.py", + "source_location": "L457", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router_list_places", + "target": "src_api_schemas_placeitem", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "src/api/router.py", + "source_location": "L789", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router_list_regions", + "target": "counter", + "relation": "calls", + "context": "call", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "src/api/router.py", + "source_location": "L821", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router_validate_plan", + "target": "src_data_models_itineraryplan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "src/api/router.py", + "source_location": "L894", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router_validate_plan", + "target": "src_data_models_dayplan", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "src/api/router.py", + "source_location": "L896", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_api_router_validate_plan", + "target": "src_data_models_placeinput", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "src/api/router.py", + "source_location": "L896", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_restaurant_catalog_restaurantcatalog_nearby", + "target": "src_utils_geo_haversine_km", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "src/data/restaurant_catalog.py", + "source_location": "L67", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_data_seoul_citydata_client_seoulcitydataclient_init", + "target": "src_data_models_settings", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "src/data/seoul_citydata_client.py", + "source_location": "L96", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_validatorpipeline_init", + "target": "src_validation_hard_fail_hardfaildetector", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "src/explain/pipeline.py", + "source_location": "L109", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_validatorpipeline_init", + "target": "src_validation_warning_warningdetector", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "src/explain/pipeline.py", + "source_location": "L110", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_validatorpipeline_init", + "target": "src_validation_scoring_scorecalculator", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "src/explain/pipeline.py", + "source_location": "L111", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_validatorpipeline_init", + "target": "src_explain_repair_repairengine", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "src/explain/pipeline.py", + "source_location": "L112", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_validatorpipeline_run", + "target": "src_scoring_reward_engine_generate_rewards", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "src/explain/pipeline.py", + "source_location": "L162", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_validatorpipeline_score", + "target": "src_data_models_scores", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "src/explain/pipeline.py", + "source_location": "L273", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_validatorpipeline_score", + "target": "src_validation_vrptw_engine_vrptwengine", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "src/explain/pipeline.py", + "source_location": "L286", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_validatorpipeline_score", + "target": "src_data_models_vrptwrequest", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "src/explain/pipeline.py", + "source_location": "L286", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_validatorpipeline_score", + "target": "src_scoring_cluster_dispersion_evaluate_cluster_dispersion", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "src/explain/pipeline.py", + "source_location": "L300", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_validatorpipeline_score", + "target": "src_scoring_travel_ratio_evaluate_travel_ratio", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "src/explain/pipeline.py", + "source_location": "L307", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_repair_repairengine_init", + "target": "src_validation_hard_fail_hardfaildetector", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "src/explain/repair.py", + "source_location": "L105", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_repair_repairengine_try_time_tune", + "target": "src_data_party_config_get_party_profile", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "src/explain/repair.py", + "source_location": "L179", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_repair_repairengine_try_time_tune", + "target": "src_utils_geo_build_dist_cache", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "src/explain/repair.py", + "source_location": "L181", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_repair_repairengine_try_time_tune", + "target": "src_utils_geo_get_travel_min", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "src/explain/repair.py", + "source_location": "L184", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_repair_repairengine_suggest_deletion", + "target": "src_utils_geo_build_dist_cache", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "src/explain/repair.py", + "source_location": "L237", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_repair_repairengine_suggest_deletion", + "target": "src_utils_geo_haversine_km", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "src/explain/repair.py", + "source_location": "L252", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_matrix_redis_matrix_redistimematrix_init", + "target": "src_validation_vrptw_engine_haversinematrix", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "src/matrix/redis_matrix.py", + "source_location": "L49", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_cluster_dispersion_compute_day_dispersion", + "target": "src_validation_alternatives_haversine_km", + "relation": "calls", + "context": "call", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "src/scoring/cluster_dispersion.py", + "source_location": "L146", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_scoring_theme_alignment_themealignmentjudge_evaluate", + "target": "src_data_models_deepdiveitem", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "src/scoring/theme_alignment.py", + "source_location": "L206", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_hard_fail_hardfaildetector_detect", + "target": "src_utils_geo_build_dist_cache", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "src/validation/hard_fail.py", + "source_location": "L38", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_hard_fail_hardfaildetector_check_operating_hours", + "target": "src_utils_geo_get_travel_min", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "src/validation/hard_fail.py", + "source_location": "L73", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_hard_fail_hardfaildetector_check_travel_impossible", + "target": "src_utils_geo_get_travel_min", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "src/validation/hard_fail.py", + "source_location": "L131", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_hard_fail_hardfaildetector_check_schedule_infeasible", + "target": "src_utils_geo_get_travel_min", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "src/validation/hard_fail.py", + "source_location": "L169", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_kakao_matrix_kakaomobilitymatrix_init", + "target": "src_validation_vrptw_engine_haversinematrix", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "src/validation/kakao_matrix.py", + "source_location": "L80", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_scoring_scorecalculator_compute", + "target": "src_utils_geo_build_dist_cache", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "src/validation/scoring.py", + "source_location": "L35", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_scoring_scorecalculator_calc_efficiency", + "target": "src_utils_geo_build_dist_cache", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "src/validation/scoring.py", + "source_location": "L72", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_scoring_scorecalculator_calc_efficiency", + "target": "src_utils_geo_nn_heuristic_km", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "src/validation/scoring.py", + "source_location": "L76", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_scoring_scorecalculator_calc_feasibility", + "target": "src_utils_geo_build_dist_cache", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "src/validation/scoring.py", + "source_location": "L92", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_scoring_scorecalculator_calc_feasibility", + "target": "src_data_party_config_get_party_profile", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "src/validation/scoring.py", + "source_location": "L95", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_scoring_scorecalculator_calc_feasibility", + "target": "src_utils_geo_get_travel_min", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "src/validation/scoring.py", + "source_location": "L101", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_scoring_scorecalculator_calc_flow", + "target": "src_utils_geo_build_dist_cache", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "src/validation/scoring.py", + "source_location": "L146", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_scoring_scorecalculator_calc_flow", + "target": "src_utils_geo_nn_heuristic_km", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "src/validation/scoring.py", + "source_location": "L149", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_vrptw_engine_vrptwengine_validate", + "target": "src_data_models_dayroutecomparison", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "src/validation/vrptw_engine.py", + "source_location": "L443", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_warning_warningdetector_detect", + "target": "src_utils_geo_build_dist_cache", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "src/validation/warning.py", + "source_location": "L59", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_warning_warningdetector_check_dense_schedule", + "target": "src_data_party_config_get_party_profile", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "src/validation/warning.py", + "source_location": "L80", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_warning_warningdetector_check_dense_schedule", + "target": "src_utils_geo_get_travel_min", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "src/validation/warning.py", + "source_location": "L84", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_warning_warningdetector_check_inefficient_route", + "target": "src_utils_geo_nn_heuristic_km", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "src/validation/warning.py", + "source_location": "L110", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_warning_warningdetector_check_physical_strain", + "target": "src_data_party_config_get_party_profile", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "src/validation/warning.py", + "source_location": "L130", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_warning_warningdetector_check_cumulative_fatigue", + "target": "src_data_party_config_get_party_profile", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "src/validation/warning.py", + "source_location": "L186", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_warning_warningdetector_check_cumulative_fatigue", + "target": "src_utils_geo_build_dist_cache", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "src/validation/warning.py", + "source_location": "L194", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_validation_warning_warningdetector_check_cumulative_fatigue", + "target": "src_utils_geo_get_travel_min", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "src/validation/warning.py", + "source_location": "L197", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_alternatives_testfindalternatives_test_returns_nearby_same_category", + "target": "src_validation_alternatives_alternativesfinder", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_alternatives.py", + "source_location": "L45", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_alternatives_testfindalternatives_test_excludes_failed_poi_itself", + "target": "src_validation_alternatives_alternativesfinder", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_alternatives.py", + "source_location": "L52", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_alternatives_testfindalternatives_test_respects_max_alternatives", + "target": "src_validation_alternatives_alternativesfinder", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_alternatives.py", + "source_location": "L59", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_alternatives_testfindalternatives_test_respects_search_radius", + "target": "src_validation_alternatives_alternativesfinder", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_alternatives.py", + "source_location": "L67", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_alternatives_testfindalternatives_test_distance_km_is_correct", + "target": "src_validation_alternatives_alternativesfinder", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_alternatives.py", + "source_location": "L74", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_alternatives_testfindalternatives_test_same_category_sorted_before_different", + "target": "src_validation_alternatives_alternativesfinder", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_alternatives.py", + "source_location": "L85", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_alternatives_testbuildalternativesmap_test_maps_failed_poi_to_alternatives", + "target": "src_validation_alternatives_alternativesfinder", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_alternatives.py", + "source_location": "L95", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_alternatives_testbuildalternativesmap_test_default_no_substitution", + "target": "src_validation_alternatives_alternativesfinder", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_alternatives.py", + "source_location": "L105", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_alternatives_testbuildalternativesmap_test_skips_none_poi_name", + "target": "src_validation_alternatives_alternativesfinder", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_alternatives.py", + "source_location": "L111", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_alternatives_testbuildalternativesmap_test_no_duplicate_keys", + "target": "src_validation_alternatives_alternativesfinder", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_alternatives.py", + "source_location": "L118", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_alternatives_testbuildalternativesmap_test_excludes_plan_pois_from_alternatives", + "target": "src_validation_alternatives_alternativesfinder", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_alternatives.py", + "source_location": "L125", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_cluster_dispersion_test_geo_cluster_backtrack_gyeongju", + "target": "src_data_models_vrptwday", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_cluster_dispersion.py", + "source_location": "L71", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_cluster_dispersion_test_geo_cluster_backtrack_gyeongju", + "target": "src_scoring_cluster_dispersion_evaluate_cluster_dispersion", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_cluster_dispersion.py", + "source_location": "L79", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_cluster_dispersion_test_geo_cluster_no_false_positive_sequential", + "target": "src_data_models_vrptwday", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_cluster_dispersion.py", + "source_location": "L92", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_cluster_dispersion_test_geo_cluster_no_false_positive_sequential", + "target": "src_scoring_cluster_dispersion_count_geo_cluster_backtracks", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_cluster_dispersion.py", + "source_location": "L98", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_cluster_dispersion_test_geo_cluster_no_double_penalty_when_m3_fires", + "target": "src_data_models_vrptwday", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_cluster_dispersion.py", + "source_location": "L110", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_cluster_dispersion_test_geo_cluster_no_double_penalty_when_m3_fires", + "target": "src_scoring_cluster_dispersion_evaluate_cluster_dispersion", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_cluster_dispersion.py", + "source_location": "L116", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_congestion_engine_engine", + "target": "src_scoring_congestion_engine_congestionengine", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_congestion_engine.py", + "source_location": "L51", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_congestion_engine_test_score_to_level", + "target": "src_scoring_congestion_engine_score_to_level", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_congestion_engine.py", + "source_location": "L72", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_dwell_db_testmanualoverride_test_\uacbd\ubcf5\uad81_returns_manual_source", + "target": "src_data_dwell_db_get_recommended_dwell", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_dwell_db.py", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_dwell_db_testmanualoverride_test_normalization_handles_spaces", + "target": "src_data_dwell_db_get_recommended_dwell", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_dwell_db.py", + "source_location": "L25", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_dwell_db_testmanualoverride_test_n_seoul_tower_alias", + "target": "src_data_dwell_db_get_recommended_dwell", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_dwell_db.py", + "source_location": "L29", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_dwell_db_testlclssystm3_test_museum_code", + "target": "src_data_dwell_db_get_recommended_dwell", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_dwell_db.py", + "source_location": "L38", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_dwell_db_testlclssystm1fallback_test_lcls3_unknown_falls_back_to_lcls1", + "target": "src_data_dwell_db_get_recommended_dwell", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_dwell_db.py", + "source_location": "L46", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_dwell_db_testcontenttypefallback_test_content_type_used_when_no_lcls", + "target": "src_data_dwell_db_get_recommended_dwell", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_dwell_db.py", + "source_location": "L53", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_dwell_db_testdefaultfallback_test_no_info_returns_default", + "target": "src_data_dwell_db_get_recommended_dwell", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_dwell_db.py", + "source_location": "L60", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_dwell_db_testistooshort_test_below_50pct_is_too_short", + "target": "src_data_dwell_db_dwellrecommendation", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_dwell_db.py", + "source_location": "L67", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testcachekey_test_same_inputs_same_key", + "target": "src_explain_explain_engine_cache_key", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_explain_engine.py", + "source_location": "L98", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testcachekey_test_different_score_different_key", + "target": "src_explain_explain_engine_cache_key", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_explain_engine.py", + "source_location": "L102", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testcachekey_test_empty_inputs", + "target": "src_explain_explain_engine_cache_key", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_explain_engine.py", + "source_location": "L105", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testcachekey_test_different_day_index_different_key", + "target": "src_explain_explain_engine_cache_key", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_explain_engine.py", + "source_location": "L113", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testgraphcontext_test_none_graph_returns_none", + "target": "src_explain_explain_engine_graph_context", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_explain_engine.py", + "source_location": "L122", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testgraphcontext_test_disabled_graph_returns_none", + "target": "src_explain_explain_engine_graph_context", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_explain_engine.py", + "source_location": "L125", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testgraphcontext_test_empty_poi_name_returns_none", + "target": "src_explain_explain_engine_graph_context", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_explain_engine.py", + "source_location": "L128", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testgraphcontext_test_no_match_returns_none", + "target": "src_explain_explain_engine_graph_context", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_explain_engine.py", + "source_location": "L133", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testgraphcontext_test_match_includes_region_and_category", + "target": "src_explain_explain_engine_graph_context", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_explain_engine.py", + "source_location": "L136", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testgraphcontext_test_match_includes_nearby_alternatives", + "target": "src_explain_explain_engine_graph_context", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_explain_engine.py", + "source_location": "L141", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testgraphcontext_test_no_nearby_omits_key", + "target": "src_explain_explain_engine_graph_context", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_explain_engine.py", + "source_location": "L146", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuilduserprompt_test_contains_plan_info", + "target": "src_explain_explain_engine_build_user_prompt", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_explain_engine.py", + "source_location": "L156", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuilduserprompt_test_hard_fail_in_prompt", + "target": "src_explain_explain_engine_build_user_prompt", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_explain_engine.py", + "source_location": "L161", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuilduserprompt_test_warning_in_prompt", + "target": "src_explain_explain_engine_build_user_prompt", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_explain_engine.py", + "source_location": "L166", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuilduserprompt_test_penalty_in_prompt", + "target": "src_explain_explain_engine_build_user_prompt", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_explain_engine.py", + "source_location": "L170", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuilduserprompt_test_scores_included_when_provided", + "target": "src_explain_explain_engine_build_user_prompt", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_explain_engine.py", + "source_location": "L174", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuilduserprompt_test_overall_item_present", + "target": "src_explain_explain_engine_build_user_prompt", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_explain_engine.py", + "source_location": "L178", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuilduserprompt_test_graph_evidence_included_when_matched", + "target": "src_explain_explain_engine_build_user_prompt", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_explain_engine.py", + "source_location": "L183", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuilduserprompt_test_no_graph_omits_evidence_key", + "target": "src_explain_explain_engine_build_user_prompt", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_explain_engine.py", + "source_location": "L191", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuilduserprompt_test_day_index_included_for_hard_fail", + "target": "src_explain_explain_engine_build_user_prompt", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_explain_engine.py", + "source_location": "L197", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuilduserprompt_test_day_index_included_for_warning", + "target": "src_explain_explain_engine_build_user_prompt", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_explain_engine.py", + "source_location": "L204", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuilduserprompt_test_no_day_index_omits_day_field", + "target": "src_explain_explain_engine_build_user_prompt", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_explain_engine.py", + "source_location": "L210", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuilduserprompt_test_warning_graph_evidence_uses_first_poi_name", + "target": "src_explain_explain_engine_build_user_prompt", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_explain_engine.py", + "source_location": "L216", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testparsellmresponse_test_parses_valid_json_array", + "target": "src_explain_explain_engine_parse_llm_response", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_explain_engine.py", + "source_location": "L235", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testparsellmresponse_test_strips_code_block_wrapper", + "target": "src_explain_explain_engine_parse_llm_response", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_explain_engine.py", + "source_location": "L242", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testparsellmresponse_test_multiple_items", + "target": "src_explain_explain_engine_parse_llm_response", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_explain_engine.py", + "source_location": "L251", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testparsellmresponse_test_returns_explanation_items", + "target": "src_explain_explain_engine_parse_llm_response", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_explain_engine.py", + "source_location": "L259", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testparsellmresponse_test_day_index_echoed_back", + "target": "src_explain_explain_engine_parse_llm_response", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_explain_engine.py", + "source_location": "L267", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testparsellmresponse_test_missing_day_index_defaults_to_none", + "target": "src_explain_explain_engine_parse_llm_response", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_explain_engine.py", + "source_location": "L275", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testfallback_test_hard_fail_becomes_critical", + "target": "src_explain_explain_engine_fallback", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_explain_engine.py", + "source_location": "L285", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testfallback_test_warning_becomes_warning", + "target": "src_explain_explain_engine_fallback", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_explain_engine.py", + "source_location": "L290", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testfallback_test_large_penalty_is_critical", + "target": "src_explain_explain_engine_fallback", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_explain_engine.py", + "source_location": "L295", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testfallback_test_small_penalty_is_warning", + "target": "src_explain_explain_engine_fallback", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_explain_engine.py", + "source_location": "L300", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testfallback_test_always_has_overall_item", + "target": "src_explain_explain_engine_fallback", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_explain_engine.py", + "source_location": "L310", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testfallback_test_failed_overall_is_critical", + "target": "src_explain_explain_engine_fallback", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_explain_engine.py", + "source_location": "L315", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testfallback_test_passed_overall_is_ok", + "target": "src_explain_explain_engine_fallback", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_explain_engine.py", + "source_location": "L320", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testfallback_test_hard_fail_day_index_propagated_and_prefixed", + "target": "src_explain_explain_engine_fallback", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_explain_engine.py", + "source_location": "L327", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testfallback_test_warning_day_index_propagated_and_prefixed", + "target": "src_explain_explain_engine_fallback", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_explain_engine.py", + "source_location": "L335", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testfallback_test_no_day_index_no_prefix", + "target": "src_explain_explain_engine_fallback", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_explain_engine.py", + "source_location": "L341", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testexplainenginenollm_setup_method", + "target": "src_explain_explain_engine_explainengine", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_explain_engine.py", + "source_location": "L354", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testexplainenginemockllm_test_llm_response_used_when_available", + "target": "src_explain_explain_engine_explainengine", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_explain_engine.py", + "source_location": "L437", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testexplainenginemockllm_test_llm_failure_falls_back_gracefully", + "target": "src_explain_explain_engine_explainengine", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_explain_engine.py", + "source_location": "L448", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testexplainenginemockllm_test_cache_prevents_second_llm_call", + "target": "src_explain_explain_engine_explainengine", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_explain_engine.py", + "source_location": "L465", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testexplainenginemockllm_test_is_available_with_client", + "target": "src_explain_explain_engine_explainengine", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_explain_engine.py", + "source_location": "L474", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testexplainenginemockllm_test_graph_evidence_reaches_llm_prompt", + "target": "src_explain_explain_engine_explainengine", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_explain_engine.py", + "source_location": "L486", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testexplainenginegraphdefault_test_default_graph_disabled_without_env", + "target": "src_explain_explain_engine_explainengine", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_explain_engine.py", + "source_location": "L499", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuildalternatives_test_no_hard_fails_returns_empty", + "target": "src_explain_explain_engine_explainengine", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_explain_engine.py", + "source_location": "L509", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuildalternatives_test_disabled_graph_returns_empty", + "target": "src_explain_explain_engine_explainengine", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_explain_engine.py", + "source_location": "L513", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuildalternatives_test_hard_fail_without_poi_name_skipped", + "target": "src_explain_explain_engine_explainengine", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_explain_engine.py", + "source_location": "L519", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuildalternatives_test_match_returns_alternatives_keyed_by_poi_name", + "target": "src_explain_explain_engine_explainengine", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_explain_engine.py", + "source_location": "L525", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuildalternatives_test_no_nearby_omits_poi", + "target": "src_explain_explain_engine_explainengine", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_explain_engine.py", + "source_location": "L533", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuildalternatives_test_no_search_match_omits_poi", + "target": "src_explain_explain_engine_explainengine", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_explain_engine.py", + "source_location": "L543", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_explain_engine_testbuildalternatives_test_duplicate_poi_name_only_looked_up_once", + "target": "src_explain_explain_engine_explainengine", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_explain_engine.py", + "source_location": "L550", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_geo_testhaversinekm_test_same_point_is_zero", + "target": "src_utils_geo_haversine_km", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_geo.py", + "source_location": "L25", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_geo_testhaversinekm_test_known_distance", + "target": "src_utils_geo_haversine_km", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_geo.py", + "source_location": "L29", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_geo_testhaversinekm_test_symmetric", + "target": "src_utils_geo_haversine_km", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_geo.py", + "source_location": "L33", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_geo_testhaversinekm_test_positive", + "target": "src_utils_geo_haversine_km", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_geo.py", + "source_location": "L38", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_geo_testbuilddistcache_test_all_pairs_present", + "target": "src_utils_geo_build_dist_cache", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_geo.py", + "source_location": "L48", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_geo_testbuilddistcache_test_no_self_pairs", + "target": "src_utils_geo_build_dist_cache", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_geo.py", + "source_location": "L56", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_geo_testbuilddistcache_test_values_match_haversine", + "target": "src_utils_geo_build_dist_cache", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_geo.py", + "source_location": "L65", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_geo_testbuilddistcache_test_values_match_haversine", + "target": "src_utils_geo_haversine_km", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_geo.py", + "source_location": "L66", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_geo_testbuilddistcache_test_single_poi_empty_cache", + "target": "src_utils_geo_build_dist_cache", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_geo.py", + "source_location": "L72", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_geo_testbuilddistcache_test_empty_list_empty_cache", + "target": "src_utils_geo_build_dist_cache", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_geo.py", + "source_location": "L76", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_geo_testnnheuristickm_test_single_poi_returns_zero", + "target": "src_utils_geo_nn_heuristic_km", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_geo.py", + "source_location": "L86", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_geo_testnnheuristickm_test_two_pois_returns_distance", + "target": "src_utils_geo_haversine_km", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_geo.py", + "source_location": "L90", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_geo_testnnheuristickm_test_two_pois_returns_distance", + "target": "src_utils_geo_nn_heuristic_km", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_geo.py", + "source_location": "L91", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_geo_testnnheuristickm_test_nn_le_actual_for_suboptimal", + "target": "src_utils_geo_haversine_km", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_geo.py", + "source_location": "L102", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_geo_testnnheuristickm_test_nn_le_actual_for_suboptimal", + "target": "src_utils_geo_nn_heuristic_km", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_geo.py", + "source_location": "L106", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_geo_testnnheuristickm_test_cache_gives_same_result", + "target": "src_utils_geo_build_dist_cache", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_geo.py", + "source_location": "L111", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_geo_testnnheuristickm_test_cache_gives_same_result", + "target": "src_utils_geo_nn_heuristic_km", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_geo.py", + "source_location": "L112", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_geo_testnnheuristickm_test_collinear_optimal_order_matches_nn", + "target": "src_utils_geo_haversine_km", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_geo.py", + "source_location": "L118", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_geo_testnnheuristickm_test_collinear_optimal_order_matches_nn", + "target": "src_utils_geo_nn_heuristic_km", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_geo.py", + "source_location": "L121", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_geo_testgettravelmin_test_uses_matrix_when_available", + "target": "src_utils_geo_get_travel_min", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_geo.py", + "source_location": "L133", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_geo_testgettravelmin_test_haversine_fallback_when_no_matrix", + "target": "src_utils_geo_haversine_km", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_geo.py", + "source_location": "L138", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_geo_testgettravelmin_test_haversine_fallback_when_no_matrix", + "target": "src_utils_geo_get_travel_min", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_geo.py", + "source_location": "L140", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_geo_testgettravelmin_test_cache_fallback_when_no_matrix", + "target": "src_utils_geo_get_travel_min", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_geo.py", + "source_location": "L147", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_geo_testgettravelmin_test_matrix_takes_priority_over_cache", + "target": "src_utils_geo_get_travel_min", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_geo.py", + "source_location": "L155", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix_testsamepoint_test_same_coords_returns_zero", + "target": "src_validation_kakao_matrix_kakaomobilitymatrix", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L49", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix_testapicall_test_sync_call_populates_cache", + "target": "src_validation_kakao_matrix_kakaomobilitymatrix", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L60", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix_testapicall_test_get_travel_time_uses_cache_after_sync_call", + "target": "src_validation_kakao_matrix_kakaomobilitymatrix", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L72", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix_testapicall_test_get_travel_time_second_call_cache_hit", + "target": "src_validation_kakao_matrix_kakaomobilitymatrix", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L86", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix_testapicall_test_reverse_direction_also_cached", + "target": "src_validation_kakao_matrix_kakaomobilitymatrix", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L99", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix_testquotaexhaustion_test_429_sets_quota_exhausted", + "target": "src_validation_kakao_matrix_kakaomobilitymatrix", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L118", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix_testquotaexhaustion_test_get_travel_time_haversine_fallback_when_no_cache", + "target": "src_validation_kakao_matrix_kakaomobilitymatrix", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L133", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix_testquotaexhaustion_test_after_quota_exhausted_get_travel_time_falls_back", + "target": "src_validation_kakao_matrix_kakaomobilitymatrix", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L142", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix_testautherror_test_401_raises", + "target": "src_validation_kakao_matrix_kakaomobilitymatrix", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L160", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix_testcachepersistence_test_save_and_load_cache", + "target": "src_validation_kakao_matrix_kakaomobilitymatrix", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L178", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix_testasyncprefetch_test_aprefetch_populates_cache_and_hit_on_get", + "target": "src_validation_kakao_matrix_kakaomobilitymatrix", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L230", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix_testasyncprefetch_test_aprefetch_deduplicates_bidirectional", + "target": "src_validation_kakao_matrix_kakaomobilitymatrix", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L248", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_party_config_testpartyprofiles_test_friends_speed_factor_one", + "target": "src_data_party_config_get_party_profile", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_party_config.py", + "source_location": "L15", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_party_config_testpartyprofiles_test_baby_speed_factor_below_one", + "target": "src_data_party_config_get_party_profile", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_party_config.py", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_party_config_testpartyprofiles_test_elderly_speed_factor_below_one", + "target": "src_data_party_config_get_party_profile", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_party_config.py", + "source_location": "L21", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_party_config_testpartyprofiles_test_baby_fatigue_hours_lower_than_friends", + "target": "src_data_party_config_get_party_profile", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_party_config.py", + "source_location": "L24", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_party_config_testpartyprofiles_test_elderly_fatigue_hours_lower_than_friends", + "target": "src_data_party_config_get_party_profile", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_party_config.py", + "source_location": "L29", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_party_config_testpartyprofiles_test_family_fatigue_between_friends_and_baby", + "target": "src_data_party_config_get_party_profile", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_party_config.py", + "source_location": "L34", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_party_config_testpartyprofiles_test_unknown_type_returns_default", + "target": "src_data_party_config_get_party_profile", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_party_config.py", + "source_location": "L40", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_party_config_testpartyprofiles_test_profile_is_frozen", + "target": "src_data_party_config_get_party_profile", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_party_config.py", + "source_location": "L45", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_party_config_testpartyprofilevalues_test_friends_fatigue_12h", + "target": "src_data_party_config_get_party_profile", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_party_config.py", + "source_location": "L52", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_party_config_testpartyprofilevalues_test_baby_fatigue_8h", + "target": "src_data_party_config_get_party_profile", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_party_config.py", + "source_location": "L55", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_party_config_testpartyprofilevalues_test_elderly_fatigue_8h", + "target": "src_data_party_config_get_party_profile", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_party_config.py", + "source_location": "L58", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_party_config_testpartyprofilevalues_test_family_fatigue_10h", + "target": "src_data_party_config_get_party_profile", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_party_config.py", + "source_location": "L61", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_party_config_testpartyprofilevalues_test_baby_speed_factor_is_point_eight", + "target": "src_data_party_config_get_party_profile", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_party_config.py", + "source_location": "L64", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_party_config_testpartyprofilevalues_test_family_speed_factor_is_point_nine", + "target": "src_data_party_config_get_party_profile", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_party_config.py", + "source_location": "L67", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_party_config_teststrainthresholdlogic_test_baby_threshold_lower_than_friends", + "target": "src_data_party_config_get_party_profile", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_party_config.py", + "source_location": "L76", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_party_config_teststrainthresholdlogic_test_baby_threshold_is_24km", + "target": "src_data_party_config_get_party_profile", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_party_config.py", + "source_location": "L81", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_party_config_teststrainthresholdlogic_test_friends_threshold_unchanged", + "target": "src_data_party_config_get_party_profile", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_party_config.py", + "source_location": "L85", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testtovrptwday_test_converts_poi_fields", + "target": "src_explain_pipeline_to_vrptw_day", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L87", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testtovrptwday_test_is_depot_false", + "target": "src_explain_pipeline_to_vrptw_day", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L96", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinehardfail_test_alternatives_populated_from_explain_engine", + "target": "src_data_models_alternativepoi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L200", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinebreakdown_test_wellness_bonus_reflected_in_breakdown", + "target": "src_scoring_bonus_engine_placecoord", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L236", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinebreakdown_test_accessibility_bonus_for_accessible_party", + "target": "src_scoring_bonus_engine_placecoord", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L247", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_pipeline_orchestrator_testpipelinebreakdown_test_wellness_matched_exposed_on_result", + "target": "src_scoring_bonus_engine_placecoord", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_pipeline_orchestrator.py", + "source_location": "L275", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_region_config_testgetthresholds_test_seoul_code_returns_high", + "target": "src_data_region_config_get_thresholds", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_region_config.py", + "source_location": "L14", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_region_config_testgetthresholds_test_busan_code_returns_high", + "target": "src_data_region_config_get_thresholds", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_region_config.py", + "source_location": "L17", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_region_config_testgetthresholds_test_daegu_code_returns_medium", + "target": "src_data_region_config_get_thresholds", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_region_config.py", + "source_location": "L20", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_region_config_testgetthresholds_test_rural_code_returns_low", + "target": "src_data_region_config_get_thresholds", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_region_config.py", + "source_location": "L23", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_region_config_testgetthresholds_test_none_returns_medium", + "target": "src_data_region_config_get_thresholds", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_region_config.py", + "source_location": "L26", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_region_config_testgetthresholds_test_unknown_code_returns_low", + "target": "src_data_region_config_get_thresholds", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_region_config.py", + "source_location": "L29", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testtotalestimatedgain_test_sums_across_different_days", + "target": "src_explain_repair_repairresult", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_repair.py", + "source_location": "L201", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testtotalestimatedgain_test_sums_across_different_days", + "target": "src_explain_repair_deletionsuggestion", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_repair.py", + "source_location": "L202", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testtotalestimatedgain_test_takes_max_of_alternatives_on_same_day", + "target": "src_explain_repair_repairresult", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_repair.py", + "source_location": "L208", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testtotalestimatedgain_test_takes_max_of_alternatives_on_same_day", + "target": "src_explain_repair_deletionsuggestion", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_repair.py", + "source_location": "L209", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testtotalestimatedgain_test_zero_when_empty", + "target": "src_explain_repair_repairresult", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_repair.py", + "source_location": "L215", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testtotalestimatedgain_test_included_in_to_dict", + "target": "src_explain_repair_repairresult", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_repair.py", + "source_location": "L218", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_repair_testtotalestimatedgain_test_included_in_to_dict", + "target": "src_explain_repair_deletionsuggestion", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_repair.py", + "source_location": "L219", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_reward_engine_testgeneraterewards_test_hard_fail_returns_empty", + "target": "src_scoring_reward_engine_generate_rewards", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_reward_engine.py", + "source_location": "L18", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_reward_engine_testgeneraterewards_test_excellent_flow_generates_message", + "target": "src_scoring_reward_engine_generate_rewards", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_reward_engine.py", + "source_location": "L28", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_reward_engine_testgeneraterewards_test_excellent_efficiency_generates_message", + "target": "src_scoring_reward_engine_generate_rewards", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_reward_engine.py", + "source_location": "L38", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_reward_engine_testgeneraterewards_test_low_travel_ratio_generates_message", + "target": "src_scoring_reward_engine_generate_rewards", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_reward_engine.py", + "source_location": "L48", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_reward_engine_testgeneraterewards_test_excellent_purpose_fit_generates_message", + "target": "src_scoring_reward_engine_generate_rewards", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_reward_engine.py", + "source_location": "L58", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_reward_engine_testgeneraterewards_test_no_warnings_generates_message", + "target": "src_scoring_reward_engine_generate_rewards", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_reward_engine.py", + "source_location": "L68", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_reward_engine_testgeneraterewards_test_zero_cluster_penalty_generates_message", + "target": "src_scoring_reward_engine_generate_rewards", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_reward_engine.py", + "source_location": "L78", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_reward_engine_testgeneraterewards_test_perfect_plan_all_messages", + "target": "src_scoring_reward_engine_generate_rewards", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_reward_engine.py", + "source_location": "L88", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_reward_engine_testgeneraterewards_test_mediocre_plan_few_messages", + "target": "src_scoring_reward_engine_generate_rewards", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_reward_engine.py", + "source_location": "L98", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_theme_alignment_testnoapikey_test_skip_returns_informational_only", + "target": "src_scoring_theme_alignment_themealignmentjudge", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_theme_alignment.py", + "source_location": "L32", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_theme_alignment_testnoapikey_test_skip_returns_informational_only", + "target": "src_data_theme_taxonomy_userpreferences", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_theme_alignment.py", + "source_location": "L33", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_theme_alignment_testnoapikey_test_skip_returns_informational_only", + "target": "src_scoring_theme_alignment_poiwithcategory", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_theme_alignment.py", + "source_location": "L34", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_theme_alignment_testclassifyscore_test_high_score_no_penalty", + "target": "src_scoring_theme_alignment_classify_score", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_theme_alignment.py", + "source_location": "L43", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_theme_alignment_testclassifyscore_test_low_score_critical", + "target": "src_scoring_theme_alignment_classify_score", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_theme_alignment.py", + "source_location": "L48", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_theme_alignment_testparsellmresponse_test_clean_json", + "target": "src_scoring_theme_alignment_parse_llm_response", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_theme_alignment.py", + "source_location": "L56", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_theme_alignment_testparsellmresponse_test_score_clamped_to_1", + "target": "src_scoring_theme_alignment_parse_llm_response", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_theme_alignment.py", + "source_location": "L63", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_theme_alignment_testparsellmresponse_test_code_block_stripped", + "target": "src_scoring_theme_alignment_parse_llm_response", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_theme_alignment.py", + "source_location": "L68", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_theme_alignment_testevaluatewithmockclient_test_high_alignment_no_penalty", + "target": "src_scoring_theme_alignment_themealignmentjudge", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_theme_alignment.py", + "source_location": "L80", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_theme_alignment_testevaluatewithmockclient_test_high_alignment_no_penalty", + "target": "src_data_theme_taxonomy_userpreferences", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_theme_alignment.py", + "source_location": "L81", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_theme_alignment_testevaluatewithmockclient_test_high_alignment_no_penalty", + "target": "src_scoring_theme_alignment_poiwithcategory", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_theme_alignment.py", + "source_location": "L83", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_theme_alignment_testevaluatewithmockclient_test_low_alignment_critical", + "target": "src_scoring_theme_alignment_themealignmentjudge", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_theme_alignment.py", + "source_location": "L97", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_theme_alignment_testevaluatewithmockclient_test_low_alignment_critical", + "target": "src_data_theme_taxonomy_userpreferences", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_theme_alignment.py", + "source_location": "L98", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_theme_alignment_testevaluatewithmockclient_test_low_alignment_critical", + "target": "src_scoring_theme_alignment_poiwithcategory", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_theme_alignment.py", + "source_location": "L100", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_theme_alignment_testevaluatewithmockclient_test_cache_hit_skips_second_call", + "target": "src_scoring_theme_alignment_themealignmentjudge", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_theme_alignment.py", + "source_location": "L113", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_theme_alignment_testevaluatewithmockclient_test_cache_hit_skips_second_call", + "target": "src_data_theme_taxonomy_userpreferences", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_theme_alignment.py", + "source_location": "L114", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_theme_alignment_testevaluatewithmockclient_test_cache_hit_skips_second_call", + "target": "src_scoring_theme_alignment_poiwithcategory", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_theme_alignment.py", + "source_location": "L115", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_theme_alignment_testevaluatewithmockclient_test_llm_failure_returns_informational", + "target": "src_scoring_theme_alignment_themealignmentjudge", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_theme_alignment.py", + "source_location": "L126", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_theme_alignment_testevaluatewithmockclient_test_llm_failure_returns_informational", + "target": "src_data_theme_taxonomy_userpreferences", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_theme_alignment.py", + "source_location": "L127", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_theme_alignment_testevaluatewithmockclient_test_llm_failure_returns_informational", + "target": "src_scoring_theme_alignment_poiwithcategory", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_theme_alignment.py", + "source_location": "L128", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_theme_taxonomy_testuserpreferences_test_valid_input", + "target": "src_data_theme_taxonomy_userpreferences", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_theme_taxonomy.py", + "source_location": "L29", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_theme_taxonomy_testuserpreferences_test_invalid_place_type_raises", + "target": "src_data_theme_taxonomy_userpreferences", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_theme_taxonomy.py", + "source_location": "L35", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_theme_taxonomy_testuserpreferences_test_invalid_style_raises", + "target": "src_data_theme_taxonomy_userpreferences", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_theme_taxonomy.py", + "source_location": "L39", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_theme_taxonomy_testuserpreferences_test_empty_both_axes_raises", + "target": "src_data_theme_taxonomy_userpreferences", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_theme_taxonomy.py", + "source_location": "L43", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_theme_taxonomy_testmatchesplacetype_test_mountain_matches_na04", + "target": "src_data_theme_taxonomy_matches_place_type", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_theme_taxonomy.py", + "source_location": "L49", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_theme_taxonomy_testmatchesplacetype_test_beach_matches_na12", + "target": "src_data_theme_taxonomy_matches_place_type", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_theme_taxonomy.py", + "source_location": "L52", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_theme_taxonomy_testmatchesplacetype_test_festival_matches_content_type_15", + "target": "src_data_theme_taxonomy_matches_place_type", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_theme_taxonomy.py", + "source_location": "L55", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_theme_taxonomy_testmatchesplacetype_test_no_match", + "target": "src_data_theme_taxonomy_matches_place_type", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_theme_taxonomy.py", + "source_location": "L59", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_theme_taxonomy_testgetplacetypesfor_test_mountain_code_returns_list", + "target": "src_data_theme_taxonomy_get_place_types_for", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_theme_taxonomy.py", + "source_location": "L64", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_theme_taxonomy_testgetplacetypesfor_test_no_code_returns_empty", + "target": "src_data_theme_taxonomy_get_place_types_for", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_theme_taxonomy.py", + "source_location": "L68", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testhaversinematrix_test_same_point_is_zero", + "target": "src_validation_vrptw_engine_haversinematrix", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L56", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testhaversinematrix_test_known_distance", + "target": "src_validation_vrptw_engine_haversinematrix", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L62", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testhaversinematrix_test_symmetry", + "target": "src_validation_vrptw_engine_haversinematrix", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L67", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testcachedroutematrix_test_cache_hit", + "target": "src_validation_vrptw_engine_cachedroutematrix", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L78", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testcachedroutematrix_test_cache_miss_falls_back_to_haversine", + "target": "src_validation_vrptw_engine_cachedroutematrix", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L82", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testcachedroutematrix_test_cache_miss_falls_back_to_haversine", + "target": "src_validation_vrptw_engine_haversinematrix", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L84", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testcachedroutematrix_test_reverse_key_fallback", + "target": "src_validation_vrptw_engine_cachedroutematrix", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L90", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testcachedroutematrix_test_load_from_dict", + "target": "src_validation_vrptw_engine_cachedroutematrix", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L95", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testdepotconstraint_engine_with_haversine", + "target": "src_validation_vrptw_engine_haversinematrix", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L107", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testdepotconstraint_test_2n3d_day1_must_end_at_depot", + "target": "src_data_models_vrptwrequest", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L111", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testdepotconstraint_test_2n3d_day1_must_end_at_depot", + "target": "src_data_models_vrptwday", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L113", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testdepotconstraint_test_2n3d_middle_day_must_start_and_end_at_depot", + "target": "src_data_models_vrptwrequest", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L127", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testdepotconstraint_test_2n3d_middle_day_must_start_and_end_at_depot", + "target": "src_data_models_vrptwday", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L129", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testdepotconstraint_test_1n2d_no_depot_constraint_applied", + "target": "src_data_models_vrptwrequest", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L141", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testdepotconstraint_test_1n2d_no_depot_constraint_applied", + "target": "src_data_models_vrptwday", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L143", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testtimewindowfeasibility_engine", + "target": "src_validation_vrptw_engine_haversinematrix", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L163", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testtimewindowfeasibility_test_feasible_schedule_passes", + "target": "src_data_models_vrptwrequest", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L166", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testtimewindowfeasibility_test_feasible_schedule_passes", + "target": "src_data_models_vrptwday", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L167", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testtimewindowfeasibility_test_infeasible_close_time_triggers_critical", + "target": "src_data_models_vrptwrequest", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L177", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testtimewindowfeasibility_test_infeasible_close_time_triggers_critical", + "target": "src_data_models_vrptwday", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L178", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testtimewindowfeasibility_test_safety_margin_warning", + "target": "src_data_models_vrptwrequest", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L190", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testtimewindowfeasibility_test_safety_margin_warning", + "target": "src_data_models_vrptwday", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L191", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testefficiencygap_test_optimal_order_same_as_user_gives_zero_gap", + "target": "src_data_models_vrptwrequest", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L206", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testefficiencygap_test_optimal_order_same_as_user_gives_zero_gap", + "target": "src_data_models_vrptwday", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L206", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testefficiencygap_test_optimal_order_same_as_user_gives_zero_gap", + "target": "src_validation_vrptw_engine_haversinematrix", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L207", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testefficiencygap_test_reversed_inefficient_route_shows_gap", + "target": "src_data_models_vrptwrequest", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L214", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testefficiencygap_test_reversed_inefficient_route_shows_gap", + "target": "src_data_models_vrptwday", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L214", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testefficiencygap_test_reversed_inefficient_route_shows_gap", + "target": "src_validation_vrptw_engine_haversinematrix", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L215", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testfatiguescore_test_12h_schedule_no_fatigue_penalty", + "target": "src_data_models_vrptwrequest", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L232", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testfatiguescore_test_12h_schedule_no_fatigue_penalty", + "target": "src_data_models_vrptwday", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L232", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testfatiguescore_test_12h_schedule_no_fatigue_penalty", + "target": "src_validation_vrptw_engine_haversinematrix", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L233", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testfatiguescore_test_long_schedule_triggers_fatigue", + "target": "src_data_models_vrptwrequest", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L245", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testfatiguescore_test_long_schedule_triggers_fatigue", + "target": "src_data_models_vrptwday", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L245", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testfatiguescore_test_long_schedule_triggers_fatigue", + "target": "src_validation_vrptw_engine_haversinematrix", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L246", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testortoolsdegradation_test_missing_ortools_still_returns_result", + "target": "src_data_models_vrptwrequest", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L259", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testortoolsdegradation_test_missing_ortools_still_returns_result", + "target": "src_data_models_vrptwday", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L259", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testortoolsdegradation_test_missing_ortools_still_returns_result", + "target": "src_validation_vrptw_engine_haversinematrix", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L265", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testriskscore_test_risk_score_in_0_100", + "target": "src_data_models_vrptwrequest", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L279", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testriskscore_test_risk_score_in_0_100", + "target": "src_data_models_vrptwday", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L279", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testriskscore_test_risk_score_in_0_100", + "target": "src_validation_vrptw_engine_haversinematrix", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L280", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testriskscore_test_pass_fail_threshold", + "target": "src_data_models_vrptwrequest", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L285", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testriskscore_test_pass_fail_threshold", + "target": "src_data_models_vrptwday", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L285", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testriskscore_test_pass_fail_threshold", + "target": "src_validation_vrptw_engine_haversinematrix", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L286", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testmodelvalidation_test_empty_day_raises", + "target": "src_data_models_vrptwday", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L336", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testmodelvalidation_test_empty_days_raises", + "target": "src_data_models_vrptwrequest", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L340", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testefficiencygapthreshold_test_gap_over_threshold_adds_warning", + "target": "src_data_models_vrptwrequest", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L363", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testefficiencygapthreshold_test_gap_over_threshold_adds_warning", + "target": "src_data_models_vrptwday", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L363", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testefficiencygapthreshold_test_gap_over_threshold_adds_warning", + "target": "src_validation_vrptw_engine_haversinematrix", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L364", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testmultidayresult_test_multi_day_returns_per_day_comparison", + "target": "src_data_models_vrptwrequest", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L378", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testmultidayresult_test_multi_day_returns_per_day_comparison", + "target": "src_data_models_vrptwday", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L380", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testmultidayresult_test_multi_day_returns_per_day_comparison", + "target": "src_validation_vrptw_engine_haversinematrix", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L384", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testmultidayresult_test_multi_day_user_total_travel_is_sum", + "target": "src_data_models_vrptwrequest", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L392", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testmultidayresult_test_multi_day_user_total_travel_is_sum", + "target": "src_data_models_vrptwday", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L394", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testmultidayresult_test_multi_day_user_total_travel_is_sum", + "target": "src_validation_vrptw_engine_haversinematrix", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L398", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testmultidayresult_test_single_place_day_no_travel", + "target": "src_data_models_vrptwrequest", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L405", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testmultidayresult_test_single_place_day_no_travel", + "target": "src_data_models_vrptwday", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L405", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_testmultidayresult_test_single_place_day_no_travel", + "target": "src_validation_vrptw_engine_haversinematrix", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L406", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_itinerary_excel_main", + "target": "src_validation_kakao_matrix_kakaomobilitymatrix_from_env", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "gun/scripts/build_itinerary_excel.py", + "source_location": "L453", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_travel_matrix_main", + "target": "src_validation_kakao_matrix_kakaomobilitymatrix_from_env", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "gun/scripts/build_travel_matrix.py", + "source_location": "L177", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv_main", + "target": "gun_scripts_fetch_tourapi_to_csv_checkpoint_load", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L897", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_build_poi_dataset_main", + "target": "src_data_wellness_api_wellnessapiclient_from_settings", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "scripts/build_poi_dataset.py", + "source_location": "L69", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_build_poi_dataset_main", + "target": "src_data_barrier_free_api_barrierfreeapiclient_from_settings", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "scripts/build_poi_dataset.py", + "source_location": "L70", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_demo_live_e2e_main", + "target": "src_data_graph_retriever_graphretriever_from_env", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "scripts/demo_live_e2e.py", + "source_location": "L28", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_fetch_jeju_hours_main", + "target": "src_data_tour_api_tourapiclient_from_settings", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "scripts/fetch_jeju_hours.py", + "source_location": "L44", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "scripts_geocode_jeju_missing_coords_main", + "target": "src_data_kakao_local_kakaolocalclient_from_env", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "scripts/geocode_jeju_missing_coords.py", + "source_location": "L32", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_explain_engine_explainengine_init", + "target": "src_data_graph_retriever_graphretriever_from_env", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "src/explain/explain_engine.py", + "source_location": "L436", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_pipeline_validatorpipeline_init", + "target": "src_scoring_bonus_engine_bonusengine_from_dataset", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "src/explain/pipeline.py", + "source_location": "L113", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "src_explain_repair_repairengine_init", + "target": "src_data_restaurant_catalog_restaurantcatalog_from_default", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "src/explain/repair.py", + "source_location": "L106", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine_testfromdataset_test_missing_files_give_empty_engine", + "target": "src_scoring_bonus_engine_bonusengine_from_dataset", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_bonus_engine.py", + "source_location": "L189", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine_testfromdataset_test_loads_from_json_files", + "target": "src_scoring_bonus_engine_bonusengine_from_dataset", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_bonus_engine.py", + "source_location": "L205", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_bonus_engine_testfromdataset_test_zero_coords_skipped", + "target": "src_scoring_bonus_engine_bonusengine_from_dataset", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_bonus_engine.py", + "source_location": "L217", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_graph_retriever_test_from_env_reads_variables", + "target": "src_data_graph_retriever_graphretriever_from_env", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_graph_retriever.py", + "source_location": "L92", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail_testhelpers_test_time_to_min", + "target": "src_validation_hard_fail_hardfaildetector_time_to_min", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_hard_fail.py", + "source_location": "L73", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail_testhelpers_test_min_to_time", + "target": "src_validation_hard_fail_hardfaildetector_min_to_time", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_hard_fail.py", + "source_location": "L76", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail_testhelpers_test_time_to_min_midnight", + "target": "src_validation_hard_fail_hardfaildetector_time_to_min", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_hard_fail.py", + "source_location": "L79", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail_testhelpers_test_min_to_time_midnight", + "target": "src_validation_hard_fail_hardfaildetector_min_to_time", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_hard_fail.py", + "source_location": "L82", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_hard_fail_testhelpers_test_min_to_time_wraps_past_24h", + "target": "src_validation_hard_fail_hardfaildetector_min_to_time", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_hard_fail.py", + "source_location": "L85", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix_testfromenv_test_no_key_raises", + "target": "src_validation_kakao_matrix_kakaomobilitymatrix_from_env", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L206", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix_testfromenv_test_uses_mobility_key_first", + "target": "src_validation_kakao_matrix_kakaomobilitymatrix_from_env", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L211", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_kakao_matrix_testfromenv_test_falls_back_to_rest_key", + "target": "src_validation_kakao_matrix_kakaomobilitymatrix_from_env", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_kakao_matrix.py", + "source_location": "L217", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_resolve_poi_jeju_xlsx_index", + "target": "src_api_router_build_jeju_place_index", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_resolve_poi.py", + "source_location": "L48", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_resolve_poi_test_jeju_index_prefers_tourapi_hours_over_legacy_text", + "target": "src_api_router_normalize", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_resolve_poi.py", + "source_location": "L52", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_resolve_poi_test_jeju_index_sets_contentid_when_tourapi_matched", + "target": "src_api_router_normalize", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_resolve_poi.py", + "source_location": "L57", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_resolve_poi_test_jeju_index_falls_back_to_legacy_hours_when_unmatched", + "target": "src_api_router_normalize", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_resolve_poi.py", + "source_location": "L62", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_resolve_poi_test_jeju_index_sets_pet_friendly_flag_when_y", + "target": "src_api_router_normalize", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_resolve_poi.py", + "source_location": "L68", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_resolve_poi_test_jeju_index_defaults_pet_friendly_false_when_blank", + "target": "src_api_router_normalize", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_resolve_poi.py", + "source_location": "L73", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_resolve_poi_test_resolve_poi_propagates_pet_friendly_flag", + "target": "src_api_router_normalize", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_resolve_poi.py", + "source_location": "L81", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_resolve_poi_test_resolve_poi_propagates_pet_friendly_flag", + "target": "src_api_router_resolve_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_resolve_poi.py", + "source_location": "L89", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_resolve_poi_test_geocode_fallback_used_when_keyword_search_fails", + "target": "src_api_router_resolve_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_resolve_poi.py", + "source_location": "L100", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_resolve_poi_test_seoul_fallback_when_geocode_also_fails", + "target": "src_api_router_resolve_poi", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_resolve_poi.py", + "source_location": "L116", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "tests_test_vrptw_engine_test_cached_matrix_from_actual_file", + "target": "src_validation_vrptw_engine_cachedroutematrix_from_file", + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "tests/test_vrptw_engine.py", + "source_location": "L452", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_build_travel_matrix_resolve_base_dir", + "target": "gun_scripts_build_ppt_path", + "relation": "references", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "gun/scripts/build_travel_matrix.py", + "source_location": "L47", + "weight": 1.0, + "_origin": "ast" + }, + { + "source": "gun_scripts_fetch_tourapi_to_csv_resolve_base_dir", + "target": "gun_scripts_build_ppt_path", + "relation": "references", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "gun/scripts/fetch_tourapi_to_csv.py", + "source_location": "L137", + "weight": 1.0, + "_origin": "ast" + } + ], + "hyperedges": [], + "input_tokens": 0, + "output_tokens": 0 +} \ No newline at end of file diff --git a/graphify-out/manifest.json b/graphify-out/manifest.json new file mode 100644 index 0000000..3725280 --- /dev/null +++ b/graphify-out/manifest.json @@ -0,0 +1,642 @@ +{ + ".codex/hooks.json": { + "mtime": 1785898952.0052752, + "ast_hash": "f79c0e2acd58d791a55bd439748c37bf", + "semantic_hash": "f79c0e2acd58d791a55bd439748c37bf" + }, + "data/barrier_free_places.json": { + "mtime": 1777871166.071958, + "ast_hash": "3d62e4b030b39261add1c073ba6b98bb", + "semantic_hash": "3d62e4b030b39261add1c073ba6b98bb" + }, + "data/jeju_hours.json": { + "mtime": 1785587001.302524, + "ast_hash": "0d4577b836cb7049a25d266eb41af85c", + "semantic_hash": "0d4577b836cb7049a25d266eb41af85c" + }, + "data/naver/naver_metadata.json": { + "mtime": 1777472848.7758675, + "ast_hash": "f10d199ca9b840bd4efe628d58dae26d", + "semantic_hash": "f10d199ca9b840bd4efe628d58dae26d" + }, + "data/naver/naver_progress.json": { + "mtime": 1777472848.7683585, + "ast_hash": "f10d199ca9b840bd4efe628d58dae26d", + "semantic_hash": "f10d199ca9b840bd4efe628d58dae26d" + }, + "data/supabase_migration_congestion.sql": { + "mtime": 1777516043.4186354, + "ast_hash": "fb6a1ff0665759bb40047c18b9dd1e79", + "semantic_hash": "fb6a1ff0665759bb40047c18b9dd1e79" + }, + "data/wellness_places.json": { + "mtime": 1777871146.0104413, + "ast_hash": "8ab44fd2e8a80e8869fc4d1e1f44af76", + "semantic_hash": "8ab44fd2e8a80e8869fc4d1e1f44af76" + }, + "gun/data/kakao_route_cache.json": { + "mtime": 1777722543.919778, + "ast_hash": "cad1325b8e8928e3a3b981ef8eb4d0e1", + "semantic_hash": "cad1325b8e8928e3a3b981ef8eb4d0e1" + }, + "gun/scripts/build_hours_db.py": { + "mtime": 1777774502.375676, + "ast_hash": "f5f4e411cccea6e3efffd57609cbc9a3", + "semantic_hash": "f5f4e411cccea6e3efffd57609cbc9a3" + }, + "gun/scripts/build_itinerary_excel.py": { + "mtime": 1777774502.3760476, + "ast_hash": "9ee7db85ef603729f5b713c11de8ffc4", + "semantic_hash": "9ee7db85ef603729f5b713c11de8ffc4" + }, + "gun/scripts/build_ppt.js": { + "mtime": 1777722543.9211984, + "ast_hash": "aedbd78f3f7ca67aa7bbbb905f32ab33", + "semantic_hash": "aedbd78f3f7ca67aa7bbbb905f32ab33" + }, + "gun/scripts/build_travel_matrix.py": { + "mtime": 1777722543.9214137, + "ast_hash": "0d3c155a301165ae55f579261495d50e", + "semantic_hash": "0d3c155a301165ae55f579261495d50e" + }, + "gun/scripts/create_input_template.py": { + "mtime": 1777722543.9216266, + "ast_hash": "625d4e2ed996c796efb6c2dd2da8abaa", + "semantic_hash": "625d4e2ed996c796efb6c2dd2da8abaa" + }, + "gun/scripts/curated_itineraries.py": { + "mtime": 1777722543.921766, + "ast_hash": "cc5793a2f1e0d7a4be680848cb0fb28f", + "semantic_hash": "cc5793a2f1e0d7a4be680848cb0fb28f" + }, + "gun/scripts/fetch_google_hours.py": { + "mtime": 1777725821.0460975, + "ast_hash": "111c062be917ebe85739349705d3d488", + "semantic_hash": "111c062be917ebe85739349705d3d488" + }, + "gun/scripts/fetch_tourapi_to_csv.py": { + "mtime": 1777722543.9219298, + "ast_hash": "87ac281c5d26c41914b53734eb3f7b84", + "semantic_hash": "87ac281c5d26c41914b53734eb3f7b84" + }, + "gun/scripts/inspect_json.py": { + "mtime": 1777722543.9221287, + "ast_hash": "8934cb9d5d5e40b322bb5b652a1e286f", + "semantic_hash": "8934cb9d5d5e40b322bb5b652a1e286f" + }, + "gun/scripts/preprocess_pois.py": { + "mtime": 1777722543.922293, + "ast_hash": "3f383fd4cd5ae4b86ff000b325e64110", + "semantic_hash": "3f383fd4cd5ae4b86ff000b325e64110" + }, + "gun/scripts/setup_and_test.py": { + "mtime": 1777722543.9223857, + "ast_hash": "1d286050e68ba0487bde3dbc3d4cca96", + "semantic_hash": "1d286050e68ba0487bde3dbc3d4cca96" + }, + "gun/src/__init__.py": { + "mtime": 1777722543.9224577, + "ast_hash": "d41d8cd98f00b204e9800998ecf8427e", + "semantic_hash": "d41d8cd98f00b204e9800998ecf8427e" + }, + "gun/src/validation/__init__.py": { + "mtime": 1777722543.9225435, + "ast_hash": "d41d8cd98f00b204e9800998ecf8427e", + "semantic_hash": "d41d8cd98f00b204e9800998ecf8427e" + }, + "gun/tests/__init__.py": { + "mtime": 1777722543.92263, + "ast_hash": "d41d8cd98f00b204e9800998ecf8427e", + "semantic_hash": "d41d8cd98f00b204e9800998ecf8427e" + }, + "package.json": { + "mtime": 1777722543.9227288, + "ast_hash": "b778aa66da97ea0e37d59b39f34429bc", + "semantic_hash": "b778aa66da97ea0e37d59b39f34429bc" + }, + "phases/0-setup/analysis_result.json": { + "mtime": 1777451253.5622375, + "ast_hash": "93b0a3e08dcc5d4e91cf237f6150fa2d", + "semantic_hash": "93b0a3e08dcc5d4e91cf237f6150fa2d" + }, + "phases/0-setup/analyze.py": { + "mtime": 1777451253.5623744, + "ast_hash": "94fcceaa6973edb5e977531832d2667b", + "semantic_hash": "94fcceaa6973edb5e977531832d2667b" + }, + "phases/0-setup/analyze_triple.py": { + "mtime": 1777451253.5624943, + "ast_hash": "80fd368b6a5a773f6461e0309490ab0c", + "semantic_hash": "80fd368b6a5a773f6461e0309490ab0c" + }, + "phases/0-setup/cache_route.json": { + "mtime": 1777451253.5627754, + "ast_hash": "4a1ee33881363cbc81b13497be0283cd", + "semantic_hash": "4a1ee33881363cbc81b13497be0283cd" + }, + "phases/0-setup/index.json": { + "mtime": 1777451253.5636084, + "ast_hash": "39927df531e45fc45defc749a13eae1b", + "semantic_hash": "39927df531e45fc45defc749a13eae1b" + }, + "phases/0-setup/statistical_report.json": { + "mtime": 1777451253.5636873, + "ast_hash": "d14bbfebc315d91b8c0d0e0dd49064cf", + "semantic_hash": "d14bbfebc315d91b8c0d0e0dd49064cf" + }, + "phases/0-setup/statistical_report.py": { + "mtime": 1777451253.5637925, + "ast_hash": "2fdb21ea80082653e16354d42b04d361", + "semantic_hash": "2fdb21ea80082653e16354d42b04d361" + }, + "phases/0-setup/triple_analysis_result.json": { + "mtime": 1777451253.5641038, + "ast_hash": "56ee600d694000c55ca752409c7441d0", + "semantic_hash": "56ee600d694000c55ca752409c7441d0" + }, + "phases/0-setup/visualize.py": { + "mtime": 1777451253.5647297, + "ast_hash": "081a373fc6462961b0e5982bb81ec865", + "semantic_hash": "081a373fc6462961b0e5982bb81ec865" + }, + "phases/0-setup/visualize_combined.py": { + "mtime": 1778043956.7780018, + "ast_hash": "d0c3c3f6c72685ee08746fede60eb014", + "semantic_hash": "d0c3c3f6c72685ee08746fede60eb014" + }, + "phases/1-data/index.json": { + "mtime": 1777451253.5652366, + "ast_hash": "746f1c6971b328d9ecfe19b1fa99c7f2", + "semantic_hash": "746f1c6971b328d9ecfe19b1fa99c7f2" + }, + "phases/2-matrix/index.json": { + "mtime": 1777451253.5656605, + "ast_hash": "ce948a97a6811024de015cf9ce79d638", + "semantic_hash": "ce948a97a6811024de015cf9ce79d638" + }, + "phases/3-graph/index.json": { + "mtime": 1777451253.56582, + "ast_hash": "aa318d13181f1a2e4c03f87d330b602d", + "semantic_hash": "aa318d13181f1a2e4c03f87d330b602d" + }, + "phases/4-validation/index.json": { + "mtime": 1777451253.5661435, + "ast_hash": "3849bca550c5675fe7fcf346a9c0c0c2", + "semantic_hash": "3849bca550c5675fe7fcf346a9c0c0c2" + }, + "phases/5-explain/index.json": { + "mtime": 1777451253.5664701, + "ast_hash": "2548a8a8199289e2c8e3a0fe4f14096e", + "semantic_hash": "2548a8a8199289e2c8e3a0fe4f14096e" + }, + "phases/6-api/index.json": { + "mtime": 1777451253.5668325, + "ast_hash": "2d1db8cdcfc97a5724732d226d59dc59", + "semantic_hash": "2d1db8cdcfc97a5724732d226d59dc59" + }, + "phases/index.json": { + "mtime": 1777523379.983558, + "ast_hash": "6085025a092d0575637c1806feaff58c", + "semantic_hash": "6085025a092d0575637c1806feaff58c" + }, + "pyproject.toml": { + "mtime": 1786589332.0267932, + "ast_hash": "eb94f4e2b4ed51f37b591ec9aa9cba4b", + "semantic_hash": "eb94f4e2b4ed51f37b591ec9aa9cba4b" + }, + "scripts/build_knowledge_graph.py": { + "mtime": 1785584052.3065748, + "ast_hash": "0def2652ee48fc99da8a8d88a4d7f54b", + "semantic_hash": "0def2652ee48fc99da8a8d88a4d7f54b" + }, + "scripts/build_poi_dataset.py": { + "mtime": 1777738552.4729176, + "ast_hash": "c0ce74966b71a4701a0dfd4c188f6dd2", + "semantic_hash": "c0ce74966b71a4701a0dfd4c188f6dd2" + }, + "scripts/collect_naver_full.py": { + "mtime": 1777472360.5868547, + "ast_hash": "60e13a6c034c48d4733aca7b7e8e25fc", + "semantic_hash": "60e13a6c034c48d4733aca7b7e8e25fc" + }, + "scripts/collect_naver_metadata.py": { + "mtime": 1777456822.351481, + "ast_hash": "d1ef8c23abb90f6fcb48eed359434fc3", + "semantic_hash": "d1ef8c23abb90f6fcb48eed359434fc3" + }, + "scripts/collect_naver_only.py": { + "mtime": 1777466784.9032376, + "ast_hash": "607745e1d0883c05b8702bd18c89a3bb", + "semantic_hash": "607745e1d0883c05b8702bd18c89a3bb" + }, + "scripts/demo_live_e2e.py": { + "mtime": 1785585693.7232184, + "ast_hash": "af8913359b7323311a2e7f0ae067137b", + "semantic_hash": "af8913359b7323311a2e7f0ae067137b" + }, + "scripts/execute.py": { + "mtime": 1777451253.5841513, + "ast_hash": "533ae1869f447ff3ba053e779f53fd50", + "semantic_hash": "533ae1869f447ff3ba053e779f53fd50" + }, + "scripts/extract_visitor_stats.py": { + "mtime": 1777515293.7619472, + "ast_hash": "fad75baf806cdb6d256d76110977660a", + "semantic_hash": "fad75baf806cdb6d256d76110977660a" + }, + "scripts/fetch_jeju_hours.py": { + "mtime": 1785586956.1377618, + "ast_hash": "b901f0eba2256aac38748261da5e1a86", + "semantic_hash": "b901f0eba2256aac38748261da5e1a86" + }, + "scripts/fetch_missing_pois.py": { + "mtime": 1779312122.0434918, + "ast_hash": "e60bbd3b385f829f81aed7469fde5eb8", + "semantic_hash": "e60bbd3b385f829f81aed7469fde5eb8" + }, + "scripts/geocode_jeju_missing_coords.py": { + "mtime": 1785334245.581387, + "ast_hash": "a494ba184e1630033ab77b9afa486a8a", + "semantic_hash": "a494ba184e1630033ab77b9afa486a8a" + }, + "scripts/load_knowledge_graph_neo4j.py": { + "mtime": 1785583919.1200502, + "ast_hash": "da3caa98ff7d8808cad81fbe2cf22f49", + "semantic_hash": "da3caa98ff7d8808cad81fbe2cf22f49" + }, + "scripts/neo4j_coverage_analysis.py": { + "mtime": 1777520076.5689738, + "ast_hash": "ef54939459abe5bbfa09469e11e24ff2", + "semantic_hash": "ef54939459abe5bbfa09469e11e24ff2" + }, + "scripts/test_execute.py": { + "mtime": 1777451253.5842624, + "ast_hash": "3b410dd3b98c54a6f4953b194061faa8", + "semantic_hash": "3b410dd3b98c54a6f4953b194061faa8" + }, + "scripts/test_pipeline.py": { + "mtime": 1777735206.5331042, + "ast_hash": "fd5b92126f6c7425506fc05150add574", + "semantic_hash": "fd5b92126f6c7425506fc05150add574" + }, + "src/__init__.py": { + "mtime": 1777451253.5843337, + "ast_hash": "d41d8cd98f00b204e9800998ecf8427e", + "semantic_hash": "d41d8cd98f00b204e9800998ecf8427e" + }, + "src/api/__init__.py": { + "mtime": 1777816109.3945787, + "ast_hash": "d41d8cd98f00b204e9800998ecf8427e", + "semantic_hash": "d41d8cd98f00b204e9800998ecf8427e" + }, + "src/api/main.py": { + "mtime": 1785587795.1309295, + "ast_hash": "81767a349f90b701c89a55e7108aa8ec", + "semantic_hash": "81767a349f90b701c89a55e7108aa8ec" + }, + "src/api/router.py": { + "mtime": 1786783687.653695, + "ast_hash": "53585ea2a562963e3cd97d83ffcc7929", + "semantic_hash": "53585ea2a562963e3cd97d83ffcc7929" + }, + "src/api/schemas.py": { + "mtime": 1786783667.34905, + "ast_hash": "151d032a0cb6e3aa607dd69444b66bcd", + "semantic_hash": "151d032a0cb6e3aa607dd69444b66bcd" + }, + "src/api/static/manifest.json": { + "mtime": 1780124687.4502513, + "ast_hash": "c9c4aaebe966e7f6ed29bee2a1a34396", + "semantic_hash": "c9c4aaebe966e7f6ed29bee2a1a34396" + }, + "src/api/static/service-worker.js": { + "mtime": 1780124696.7628965, + "ast_hash": "4b1cbe0738efaf969ece789472a4348d", + "semantic_hash": "4b1cbe0738efaf969ece789472a4348d" + }, + "src/data/__init__.py": { + "mtime": 1777451253.5844173, + "ast_hash": "d41d8cd98f00b204e9800998ecf8427e", + "semantic_hash": "d41d8cd98f00b204e9800998ecf8427e" + }, + "src/data/barrier_free_api.py": { + "mtime": 1777781991.1116767, + "ast_hash": "f4c68868de5f59953d9337dd2726d870", + "semantic_hash": "f4c68868de5f59953d9337dd2726d870" + }, + "src/data/dwell_db.py": { + "mtime": 1777451253.5845017, + "ast_hash": "b39f136229c23460b924bfe70c99ee43", + "semantic_hash": "b39f136229c23460b924bfe70c99ee43" + }, + "src/data/graph_retriever.py": { + "mtime": 1786616520.125144, + "ast_hash": "6d15df0ea351b042c42534e515e71545", + "semantic_hash": "6d15df0ea351b042c42534e515e71545" + }, + "src/data/hours_db.py": { + "mtime": 1777774502.3764617, + "ast_hash": "9d61df5189ab67bf8a01a3c4a5324d7c", + "semantic_hash": "9d61df5189ab67bf8a01a3c4a5324d7c" + }, + "src/data/kakao_local.py": { + "mtime": 1785334192.9340384, + "ast_hash": "4f347b60a20e201308d309b5608a46af", + "semantic_hash": "4f347b60a20e201308d309b5608a46af" + }, + "src/data/models.py": { + "mtime": 1786783617.9840896, + "ast_hash": "52dc9b4955b0b9b8927520c0546a392c", + "semantic_hash": "52dc9b4955b0b9b8927520c0546a392c" + }, + "src/data/party_config.py": { + "mtime": 1777721907.7956548, + "ast_hash": "cf169b5e02aa957fb03ef5bbda4e5c68", + "semantic_hash": "cf169b5e02aa957fb03ef5bbda4e5c68" + }, + "src/data/region_config.py": { + "mtime": 1777718481.3908644, + "ast_hash": "05bc8c3245e9db27d8b821a565bd5a83", + "semantic_hash": "05bc8c3245e9db27d8b821a565bd5a83" + }, + "src/data/restaurant_catalog.py": { + "mtime": 1786616398.4857664, + "ast_hash": "ab5539e7ca5dcbcbd041e3d2e325b6a2", + "semantic_hash": "ab5539e7ca5dcbcbd041e3d2e325b6a2" + }, + "src/data/seoul_citydata_client.py": { + "mtime": 1777523278.3714013, + "ast_hash": "08238f1cd346d828385a5d79e5e91f6c", + "semantic_hash": "08238f1cd346d828385a5d79e5e91f6c" + }, + "src/data/theme_taxonomy.py": { + "mtime": 1777451253.5846374, + "ast_hash": "da4875d28460fb6ade1741f46e97ca73", + "semantic_hash": "da4875d28460fb6ade1741f46e97ca73" + }, + "src/data/tour_api.py": { + "mtime": 1777785284.9394975, + "ast_hash": "9761a387188ce0dbf7b455c9657430d0", + "semantic_hash": "9761a387188ce0dbf7b455c9657430d0" + }, + "src/data/wellness_api.py": { + "mtime": 1777869280.2927735, + "ast_hash": "32fe6ce7ee2798eeaab1957851b8fd2d", + "semantic_hash": "32fe6ce7ee2798eeaab1957851b8fd2d" + }, + "src/explain/__init__.py": { + "mtime": 1777738407.0960405, + "ast_hash": "d41d8cd98f00b204e9800998ecf8427e", + "semantic_hash": "d41d8cd98f00b204e9800998ecf8427e" + }, + "src/explain/explain_engine.py": { + "mtime": 1786779975.226672, + "ast_hash": "ed1eebee75e49690ffcab9db86321bed", + "semantic_hash": "ed1eebee75e49690ffcab9db86321bed" + }, + "src/explain/pipeline.py": { + "mtime": 1786851619.871098, + "ast_hash": "d25194b2822b0f08b85dafe626af1b98", + "semantic_hash": "d25194b2822b0f08b85dafe626af1b98" + }, + "src/explain/plan_extractor.py": { + "mtime": 1786862653.1442518, + "ast_hash": "8d24197f6bcfbadf63026a94d86f1a83", + "semantic_hash": "8d24197f6bcfbadf63026a94d86f1a83" + }, + "src/explain/repair.py": { + "mtime": 1786861266.7705383, + "ast_hash": "19b32a4e14156a09b2da439f0dfc6739", + "semantic_hash": "19b32a4e14156a09b2da439f0dfc6739" + }, + "src/matrix/__init__.py": { + "mtime": 1777718449.7403164, + "ast_hash": "b4325934db2b80cbc9c79bae4eaad220", + "semantic_hash": "b4325934db2b80cbc9c79bae4eaad220" + }, + "src/matrix/redis_matrix.py": { + "mtime": 1777718852.132281, + "ast_hash": "da4195921575fc46b85c68974844467a", + "semantic_hash": "da4195921575fc46b85c68974844467a" + }, + "src/scoring/__init__.py": { + "mtime": 1777451253.5847325, + "ast_hash": "edf8eea9f9249828fe093a664120ea4f", + "semantic_hash": "edf8eea9f9249828fe093a664120ea4f" + }, + "src/scoring/bonus_engine.py": { + "mtime": 1786783637.7312648, + "ast_hash": "bc771f96f6ea42989be32df91130e54a", + "semantic_hash": "bc771f96f6ea42989be32df91130e54a" + }, + "src/scoring/cluster_dispersion.py": { + "mtime": 1777738403.7953079, + "ast_hash": "1c3c420adc418ed9e8c70eff5663dba3", + "semantic_hash": "1c3c420adc418ed9e8c70eff5663dba3" + }, + "src/scoring/congestion_engine.py": { + "mtime": 1777523358.9986482, + "ast_hash": "6778ce5aa27e005f5c09f2dcc3754f71", + "semantic_hash": "6778ce5aa27e005f5c09f2dcc3754f71" + }, + "src/scoring/reward_engine.py": { + "mtime": 1777718876.9925988, + "ast_hash": "21306e4c6dd2b7b355b3ba0ad90cdb6f", + "semantic_hash": "21306e4c6dd2b7b355b3ba0ad90cdb6f" + }, + "src/scoring/theme_alignment.py": { + "mtime": 1786779975.2287865, + "ast_hash": "27bcd6b6e5081ae108445c3fbe6ccf7e", + "semantic_hash": "27bcd6b6e5081ae108445c3fbe6ccf7e" + }, + "src/scoring/travel_ratio.py": { + "mtime": 1777451253.5849264, + "ast_hash": "60179d0db12925e08fb1d2966b3d1632", + "semantic_hash": "60179d0db12925e08fb1d2966b3d1632" + }, + "src/utils/__init__.py": { + "mtime": 1777731460.2646558, + "ast_hash": "d41d8cd98f00b204e9800998ecf8427e", + "semantic_hash": "d41d8cd98f00b204e9800998ecf8427e" + }, + "src/utils/geo.py": { + "mtime": 1777731462.310334, + "ast_hash": "ad38814c8bee6298f244b56d20ceea95", + "semantic_hash": "ad38814c8bee6298f244b56d20ceea95" + }, + "src/validation/__init__.py": { + "mtime": 1777451253.5850027, + "ast_hash": "d41d8cd98f00b204e9800998ecf8427e", + "semantic_hash": "d41d8cd98f00b204e9800998ecf8427e" + }, + "src/validation/alternatives.py": { + "mtime": 1777828486.9440112, + "ast_hash": "6e321708fa1db6166e889a68019ce568", + "semantic_hash": "6e321708fa1db6166e889a68019ce568" + }, + "src/validation/hard_fail.py": { + "mtime": 1786616520.125523, + "ast_hash": "adfb4c5cbc13897cd98b7a3fd0d8dedb", + "semantic_hash": "adfb4c5cbc13897cd98b7a3fd0d8dedb" + }, + "src/validation/kakao_matrix.py": { + "mtime": 1777718149.8496418, + "ast_hash": "b763d51e06699163aab32b2d6cf50203", + "semantic_hash": "b763d51e06699163aab32b2d6cf50203" + }, + "src/validation/scoring.py": { + "mtime": 1777828448.7311811, + "ast_hash": "fa308ab36ac24e183a00fb2c5f38ef36", + "semantic_hash": "fa308ab36ac24e183a00fb2c5f38ef36" + }, + "src/validation/vrptw_engine.py": { + "mtime": 1777473547.1145976, + "ast_hash": "aa820e564c7c25a4d5096f3969b77704", + "semantic_hash": "aa820e564c7c25a4d5096f3969b77704" + }, + "src/validation/warning.py": { + "mtime": 1785639470.5717049, + "ast_hash": "d9ea0ac80563f212b021628c53c8a551", + "semantic_hash": "d9ea0ac80563f212b021628c53c8a551" + }, + "tests/__init__.py": { + "mtime": 1777451253.5852776, + "ast_hash": "d41d8cd98f00b204e9800998ecf8427e", + "semantic_hash": "d41d8cd98f00b204e9800998ecf8427e" + }, + "tests/conftest.py": { + "mtime": 1786780450.9829178, + "ast_hash": "a4516f1cbdaf0fac499d7d3a03a80457", + "semantic_hash": "a4516f1cbdaf0fac499d7d3a03a80457" + }, + "tests/test_alternatives.py": { + "mtime": 1777828575.8245907, + "ast_hash": "2c3b38004c37d6654e28a7e0f3a502b0", + "semantic_hash": "2c3b38004c37d6654e28a7e0f3a502b0" + }, + "tests/test_bonus_engine.py": { + "mtime": 1786783575.5544577, + "ast_hash": "f2640b62ad8974e26f5ad6c4caae01d8", + "semantic_hash": "f2640b62ad8974e26f5ad6c4caae01d8" + }, + "tests/test_cluster_dispersion.py": { + "mtime": 1777521944.1446033, + "ast_hash": "819da2ce7aaac4695b1dcaca2b1317f7", + "semantic_hash": "819da2ce7aaac4695b1dcaca2b1317f7" + }, + "tests/test_congestion_engine.py": { + "mtime": 1777516006.3020432, + "ast_hash": "d6403b05086a45b97edfc6320c270629", + "semantic_hash": "d6403b05086a45b97edfc6320c270629" + }, + "tests/test_dwell_db.py": { + "mtime": 1777451253.585397, + "ast_hash": "3db1954090bebb210b9d9d91fc5637d2", + "semantic_hash": "3db1954090bebb210b9d9d91fc5637d2" + }, + "tests/test_estimated_hardfail.py": { + "mtime": 1780630909.497777, + "ast_hash": "1570b16326c198f485dabe897bdb43c6", + "semantic_hash": "1570b16326c198f485dabe897bdb43c6" + }, + "tests/test_explain_engine.py": { + "mtime": 1785640352.0980227, + "ast_hash": "7809ce2937ebea8895e346332e32539f", + "semantic_hash": "7809ce2937ebea8895e346332e32539f" + }, + "tests/test_geo.py": { + "mtime": 1777736842.6244195, + "ast_hash": "a719a5de25ce9da7335b0be13ccbd7fe", + "semantic_hash": "a719a5de25ce9da7335b0be13ccbd7fe" + }, + "tests/test_graph_retriever.py": { + "mtime": 1786616520.1256936, + "ast_hash": "9d5692c51c01fa101ea2cc53fd8f7438", + "semantic_hash": "9d5692c51c01fa101ea2cc53fd8f7438" + }, + "tests/test_hard_fail.py": { + "mtime": 1786616520.1258426, + "ast_hash": "f96e535fe3737adb7831b55296dcefb6", + "semantic_hash": "f96e535fe3737adb7831b55296dcefb6" + }, + "tests/test_kakao_local.py": { + "mtime": 1785334170.3045812, + "ast_hash": "660c80c74224ce8965f3ab1e31e35b20", + "semantic_hash": "660c80c74224ce8965f3ab1e31e35b20" + }, + "tests/test_kakao_matrix.py": { + "mtime": 1777718270.6302164, + "ast_hash": "7058ab733cde49cadce430d4f8a04967", + "semantic_hash": "7058ab733cde49cadce430d4f8a04967" + }, + "tests/test_party_config.py": { + "mtime": 1777722533.6004114, + "ast_hash": "c0b29a60e9c74541931b7c45823c23f6", + "semantic_hash": "c0b29a60e9c74541931b7c45823c23f6" + }, + "tests/test_pipeline_orchestrator.py": { + "mtime": 1786851429.3373396, + "ast_hash": "1253c5654eb06c414e1bd869650a0077", + "semantic_hash": "1253c5654eb06c414e1bd869650a0077" + }, + "tests/test_plan_extractor.py": { + "mtime": 1786862644.0086124, + "ast_hash": "b75c1813810d653728e1727ea32960bb", + "semantic_hash": "b75c1813810d653728e1727ea32960bb" + }, + "tests/test_region_config.py": { + "mtime": 1777718962.185176, + "ast_hash": "6a8e96f8703bc5b43f18750766624e2a", + "semantic_hash": "6a8e96f8703bc5b43f18750766624e2a" + }, + "tests/test_repair.py": { + "mtime": 1786861255.0592692, + "ast_hash": "f53b00b667549e720a222e6fa85bcd6c", + "semantic_hash": "f53b00b667549e720a222e6fa85bcd6c" + }, + "tests/test_resolve_poi.py": { + "mtime": 1786783594.6301389, + "ast_hash": "28e9638cc17a4dea344d92e578dcfcc2", + "semantic_hash": "28e9638cc17a4dea344d92e578dcfcc2" + }, + "tests/test_restaurant_catalog.py": { + "mtime": 1786616467.294536, + "ast_hash": "c46f9353a2f56132c31a70ab86b54882", + "semantic_hash": "c46f9353a2f56132c31a70ab86b54882" + }, + "tests/test_reward_engine.py": { + "mtime": 1777718976.8613403, + "ast_hash": "7174620d9fa8ac955e6dcd1275c60d92", + "semantic_hash": "7174620d9fa8ac955e6dcd1275c60d92" + }, + "tests/test_scoring.py": { + "mtime": 1777736815.9053977, + "ast_hash": "fa745f6624a3e8b54b486d827c2e67fe", + "semantic_hash": "fa745f6624a3e8b54b486d827c2e67fe" + }, + "tests/test_theme_alignment.py": { + "mtime": 1777451253.5854843, + "ast_hash": "ac31773f3944fdf4de7785cb14507a62", + "semantic_hash": "ac31773f3944fdf4de7785cb14507a62" + }, + "tests/test_theme_taxonomy.py": { + "mtime": 1777451253.5855556, + "ast_hash": "4fcd5e0c59deab9d74911fc9b99209d6", + "semantic_hash": "4fcd5e0c59deab9d74911fc9b99209d6" + }, + "tests/test_travel_ratio.py": { + "mtime": 1777451253.5856159, + "ast_hash": "08e5a691a6a0b48fc629f3c76dba82fa", + "semantic_hash": "08e5a691a6a0b48fc629f3c76dba82fa" + }, + "tests/test_vrptw_engine.py": { + "mtime": 1777451253.585699, + "ast_hash": "92c79b6ec9be760bbf6190cb9a255a7e", + "semantic_hash": "92c79b6ec9be760bbf6190cb9a255a7e" + }, + "tests/test_warning.py": { + "mtime": 1785639582.983331, + "ast_hash": "da8729cf7272ad1756417344d0ff94c9", + "semantic_hash": "da8729cf7272ad1756417344d0ff94c9" + } +} \ No newline at end of file diff --git a/gun/docs/COLLECTION_GUIDE.md b/gun/docs/COLLECTION_GUIDE.md index 376ef34..d0de6d7 100644 --- a/gun/docs/COLLECTION_GUIDE.md +++ b/gun/docs/COLLECTION_GUIDE.md @@ -1,4 +1,4 @@ - + # 추천 일정 수집 가이드 > 100개 추천 일정을 모아 **매칭 → 시간 계산 → Excel 출력**하는 워크플로우. diff --git a/gun/docs/DESIGN_RECONCILIATION.md b/gun/docs/DESIGN_RECONCILIATION.md index 595e8ab..2eb5fc1 100644 --- a/gun/docs/DESIGN_RECONCILIATION.md +++ b/gun/docs/DESIGN_RECONCILIATION.md @@ -1,4 +1,4 @@ - + # Design Reconciliation — PRD ↔ ENHANCEMENT_PLAN ↔ 실제 코드 > ENHANCEMENT_PLAN(2026-04-26) 검토 중 발견된 **3대 정합성 이슈**를 해소하기 위한 결정 기록. 이 문서가 원본 문서들의 **상위 권위**를 가진다 (이후 충돌 시 본 문서 기준). diff --git a/gun/docs/README.md b/gun/docs/README.md index c9c5d83..042b971 100644 --- a/gun/docs/README.md +++ b/gun/docs/README.md @@ -1,4 +1,4 @@ - + # `gun/` 폴더 — 신규·수정 문서 인덱스 > 본 폴더는 프로젝트의 **신규 추가** 또는 **기존 문서 수정** 산출물을 모은다. diff --git a/phases/0-setup/step0.md b/phases/0-setup/step0.md index aca9875..277bc07 100644 --- a/phases/0-setup/step0.md +++ b/phases/0-setup/step0.md @@ -1,4 +1,4 @@ - + # Step 0: python-env ## 읽어야 할 파일 diff --git a/phases/0-setup/step1.md b/phases/0-setup/step1.md index 7aa529e..c4c76f5 100644 --- a/phases/0-setup/step1.md +++ b/phases/0-setup/step1.md @@ -1,4 +1,4 @@ - + # Step 1: src-scaffold ## 읽어야 할 파일 diff --git a/phases/1-data/step0.md b/phases/1-data/step0.md index 19ec414..f8d712b 100644 --- a/phases/1-data/step0.md +++ b/phases/1-data/step0.md @@ -1,4 +1,4 @@ - + # Step 0: data-models ## 읽어야 할 파일 diff --git a/phases/1-data/step1.md b/phases/1-data/step1.md index 02c7c6b..8d8bf5c 100644 --- a/phases/1-data/step1.md +++ b/phases/1-data/step1.md @@ -1,4 +1,4 @@ - + # Step 1: tour-api-client ## 읽어야 할 파일 diff --git a/phases/1-data/step2.md b/phases/1-data/step2.md index de75aee..f542a00 100644 --- a/phases/1-data/step2.md +++ b/phases/1-data/step2.md @@ -1,4 +1,4 @@ - + # Step 2: kakao-client ## 읽어야 할 파일 diff --git a/phases/1-data/step3.md b/phases/1-data/step3.md index dfb3482..f1f9157 100644 --- a/phases/1-data/step3.md +++ b/phases/1-data/step3.md @@ -1,4 +1,4 @@ - + # Step 3: data-collector ## 읽어야 할 파일 diff --git a/phases/2-matrix/step0.md b/phases/2-matrix/step0.md index 4d9e207..564bc93 100644 --- a/phases/2-matrix/step0.md +++ b/phases/2-matrix/step0.md @@ -1,4 +1,4 @@ - + # Step 0: travel-matrix ## 읽어야 할 파일 diff --git a/phases/3-graph/step0.md b/phases/3-graph/step0.md index ab7f346..31de337 100644 --- a/phases/3-graph/step0.md +++ b/phases/3-graph/step0.md @@ -1,111 +1,9 @@ - -# Step 0: neo4j-schema + +# Step 0: graph-db (removed) -## 읽어야 할 파일 +이 단계는 과거 Neo4j 스키마를 정의하던 기록이다. 외부 그래프 DB는 현재 제품 런타임과 의존성에서 제거되었다. -먼저 아래 파일들을 읽고 프로젝트의 기획·아키텍처·설계 의도를 파악하라: +현재 장소 근거 검색은 `src/data/evidence_retriever.py`의 `LocalEvidenceRetriever`가 +프로젝트 데이터 CSV를 로컬에서 읽어 처리한다. 외부 네트워크 없이 테스트할 수 있으며, +지역·근접 대안 정보도 동일한 Pydantic 모델로 반환한다. -- `/CLAUDE.md` -- `/docs/ARCHITECTURE.md` (Neo4j 그래프 스키마 섹션) -- `/src/data/models.py` -- `/src/graph/schema.py` (phase 0 스텁) -- `/src/graph/neo4j_client.py` (phase 0 스텁) -- `/phases/3-graph/index.json` - -## 작업 - -### 1. `src/graph/schema.py` 완성 - -```python -class NodeLabel: - POI = "POI" - AREA = "Area" - TIME_SLOT = "TimeSlot" - -class RelType: - IN_AREA = "IN_AREA" - SCHEDULED_AT = "SCHEDULED_AT" - FOLLOWED_BY = "FOLLOWED_BY" - TRAVELS_TO = "TRAVELS_TO" - -# 초기화 시 실행할 Neo4j 제약조건·인덱스 (멱등성 보장) -CONSTRAINTS = [ - "CREATE CONSTRAINT poi_id IF NOT EXISTS FOR (p:POI) REQUIRE p.poi_id IS UNIQUE", - "CREATE CONSTRAINT slot_id IF NOT EXISTS FOR (t:TimeSlot) REQUIRE t.slot_id IS UNIQUE", - "CREATE INDEX area_name IF NOT EXISTS FOR (a:Area) ON (a.name)", -] -``` - -### 2. `src/graph/neo4j_client.py` 완성 - -```python -from neo4j import GraphDatabase -from src.graph.schema import CONSTRAINTS - -class Neo4jClient: - def __init__(self, uri: str, user: str, password: str) -> None: - self._driver = GraphDatabase.driver(uri, auth=(user, password)) - - def __enter__(self) -> "Neo4jClient": - return self - - def __exit__(self, *args) -> None: - self.close() - - def close(self) -> None: - self._driver.close() - - def run(self, query: str, **params) -> list[dict]: - # Session을 열고 query 실행, 결과를 list[dict]로 반환 - ... - - def initialize_schema(self) -> None: - # CONSTRAINTS 쿼리 모두 실행 - ... - - def health_check(self) -> bool: - # "RETURN 1" 쿼리로 연결 확인, 성공 시 True, 실패 시 False - ... -``` - -### 3. `tests/test_neo4j_schema.py` 작성 - -`neo4j.GraphDatabase.driver`를 mock으로 대체하여 **실제 Neo4j 없이** 테스트: - -```python -from unittest.mock import MagicMock, patch -import pytest - -@pytest.fixture -def mock_driver(): - with patch("src.graph.neo4j_client.GraphDatabase") as mock_gdb: - mock_session = MagicMock() - mock_driver_inst = MagicMock() - mock_driver_inst.session.return_value.__enter__.return_value = mock_session - mock_gdb.driver.return_value = mock_driver_inst - yield mock_gdb, mock_session, mock_driver_inst -``` - -테스트 케이스: -- `Neo4jClient("bolt://localhost:7687", "neo4j", "pass")` 생성 → `GraphDatabase.driver` 호출 확인 -- `initialize_schema()` → CONSTRAINTS 수 만큼 run 호출 -- `health_check()` → True 반환 (mock 기준) -- `Neo4jClient.__enter__` / `__exit__` 동작 확인 -- `schema.NodeLabel`, `schema.RelType` 상수값이 ARCHITECTURE.md와 일치하는지 확인 (POI, Area, TimeSlot) - -## Acceptance Criteria - -```bash -python -m pytest tests/test_neo4j_schema.py -v -``` - -## 검증 절차 - -1. 위 AC 커맨드를 실행한다. (mock 기반, 실제 Neo4j 불필요) -2. `phases/3-graph/index.json`의 step 0 status를 업데이트한다. - -## 금지사항 - -- `Neo4jClient`에서 neo4j Session을 외부에 노출하지 마라. 항상 `run()`을 통해서만 쿼리를 실행한다. -- 테스트에서 실제 Neo4j 연결을 시도하지 마라. -- `CONSTRAINTS`에서 `IF NOT EXISTS` 없이 제약조건을 생성하지 마라. diff --git a/phases/3-graph/step1.md b/phases/3-graph/step1.md index 2019c9a..acbb572 100644 --- a/phases/3-graph/step1.md +++ b/phases/3-graph/step1.md @@ -1,97 +1,8 @@ - -# Step 1: graph-builder + +# Step 1: graph-load (removed) -## 읽어야 할 파일 +과거 그래프 적재 작업은 폐기했다. `scripts/`의 과거 적재 파일은 운영 경로에서 호출되지 않으며, +새 환경은 `data/jeju_places.csv`를 애플리케이션 시작 시 로컬 인덱스로 읽는다. -- `/CLAUDE.md` -- `/docs/ARCHITECTURE.md` (Neo4j 스키마, Cypher 쿼리) -- `/src/data/models.py` -- `/src/graph/schema.py` -- `/src/graph/neo4j_client.py` -- `/src/graph/builder.py` (phase 0 스텁) -- `/phases/3-graph/index.json` (step 0 summary 확인) +검증·설명·대안 추천은 모두 외부 그래프 연결 없이 동작해야 한다. -## 작업 - -`src/graph/builder.py`에 여행 일정을 Neo4j 그래프로 저장하는 빌더를 구현하고, `tests/test_graph_builder.py`를 작성하라. - -### 1. `src/graph/builder.py` 구현 - -```python -import hashlib -from src.data.models import POI, ItineraryPlan -from src.graph.neo4j_client import Neo4jClient -from src.graph.schema import NodeLabel, RelType - -class ItineraryGraphBuilder: - def __init__(self, client: Neo4jClient) -> None: - self._client = client - - def build(self, plan: ItineraryPlan, pois: list[POI], matrix: dict) -> None: - """ - ItineraryPlan + POI 목록 + 이동시간 행렬을 받아 Neo4j에 저장. - 순서: POI upsert → Area upsert → TimeSlot upsert → 관계 생성 - """ - sorted_places = sorted(plan.places, key=lambda p: p.visit_order) - for i, (place, poi) in enumerate(zip(sorted_places, pois)): - self._upsert_poi(poi) - self._upsert_area(poi) - slot = self._upsert_time_slot(plan, i, place, poi) - if i > 0: - prev_slot = self._make_slot_id(plan.plan_id, i - 1) - self._create_followed_by(prev_slot, slot) - travel = matrix[i - 1][i] - self._create_travels_to(prev_slot, slot, travel) - - def _upsert_poi(self, poi: POI) -> None: - # POI 노드 MERGE (poi_id 기준) - ... - - def _upsert_area(self, poi: POI) -> None: - # Area 노드 MERGE + (POI)-[:IN_AREA]->(Area) 생성 - # Area name은 poi.category 또는 행정구역 (MVP: poi.category 사용) - ... - - def _upsert_time_slot(self, plan: ItineraryPlan, order: int, place, poi: POI) -> str: - # TimeSlot 노드 MERGE + (POI)-[:SCHEDULED_AT]->(TimeSlot) - # start_time/end_time 계산 (plan.start_time + 이전 이동시간 + 체류시간 누적) - # slot_id 반환 - ... - - def _make_slot_id(self, plan_id: str, order: int) -> str: - return f"{plan_id}_slot_{order}" - - def _create_followed_by(self, slot1_id: str, slot2_id: str) -> None: - # (TimeSlot {slot_id: slot1_id})-[:FOLLOWED_BY]->(TimeSlot {slot_id: slot2_id}) - ... - - def _create_travels_to(self, slot1_id: str, slot2_id: str, travel: dict) -> None: - # (TimeSlot)-[:TRAVELS_TO {travel_min, distance_km, mode}]->(TimeSlot) - ... -``` - -### 2. `tests/test_graph_builder.py` 작성 - -`Neo4jClient.run`을 mock으로 대체: - -- `build(plan, pois, matrix)` → `client.run()`이 최소 POI수×3회 이상 호출 확인 -- `_upsert_poi(poi)` → MERGE 쿼리에 `poi_id` 파라미터 포함 확인 -- `_create_travels_to(...)` → `TRAVELS_TO` 관계 속성 (travel_min, distance_km) 전달 확인 -- 빈 places 목록 → run 호출 없음 - -## Acceptance Criteria - -```bash -python -m pytest tests/test_graph_builder.py -v -``` - -## 검증 절차 - -1. 위 AC 커맨드를 실행한다. -2. `phases/3-graph/index.json`의 step 1 status를 업데이트한다. - -## 금지사항 - -- 모든 쿼리에서 `MERGE`를 사용하라. `CREATE`는 중복 노드를 생성하므로 금지. -- `TRAVELS_TO` 관계는 방향이 있다: (앞 TimeSlot)→(뒤 TimeSlot). 반대 방향 금지. -- 테스트에서 실제 Neo4j 연결을 시도하지 마라. diff --git a/phases/3-graph/step2.md b/phases/3-graph/step2.md index a2bdcd9..3252354 100644 --- a/phases/3-graph/step2.md +++ b/phases/3-graph/step2.md @@ -1,86 +1,7 @@ - -# Step 2: graph-queries + +# Step 2: graph-query (removed) -## 읽어야 할 파일 +그래프 쿼리 단계는 제거했다. 이동시간은 `KakaoMobilityMatrix` 또는 명시적인 Haversine +폴백이 담당하고, 운영시간·구역 재방문·클러스터 분산은 `validation/`과 `scoring/`의 +결정론적 Python 로직이 담당한다. -- `/CLAUDE.md` -- `/docs/ARCHITECTURE.md` (Cypher 쿼리 섹션) -- `/src/graph/schema.py` -- `/src/graph/neo4j_client.py` -- `/src/graph/queries.py` (phase 0 스텁) -- `/phases/3-graph/index.json` (step 1 summary 확인) - -## 작업 - -`src/graph/queries.py`에 ARCHITECTURE.md에 정의된 Cypher 쿼리 함수들을 구현하고, `tests/test_graph_queries.py`를 작성하라. - -### 1. `src/graph/queries.py` 구현 - -```python -from src.graph.neo4j_client import Neo4jClient - -def get_total_travel_time(client: Neo4jClient, slot_ids: list[str]) -> float: - """ - 일정 내 TimeSlot 간 총 이동시간(분) 합계. - 반환: float (분) - """ - query = """ - MATCH (t1:TimeSlot)-[r:TRAVELS_TO]->(t2:TimeSlot) - WHERE t1.slot_id IN $slot_ids - RETURN sum(r.travel_min) AS total_travel_min - """ - ... - -def get_area_revisits(client: Neo4jClient, poi_ids: list[str]) -> list[dict]: - """ - 동일 Area를 2회 이상 방문하는 경우 반환. - 반환: [{"area": "종로구", "visits": 2}, ...] - """ - query = """ - MATCH (p:POI)-[:IN_AREA]->(a:Area) - WHERE p.poi_id IN $poi_ids - WITH a.name AS area, count(*) AS visits - WHERE visits > 1 - RETURN area, visits ORDER BY visits DESC - """ - ... - -def get_operating_conflicts(client: Neo4jClient, poi_ids: list[str]) -> list[dict]: - """ - 운영시간 충돌 후보 (도착 예상이 운영 범위 밖인 POI). - 반환: [{"poi_name": "경복궁", "start_time": "08:30", "open_start": "09:00", "open_end": "18:00"}, ...] - """ - query = """ - MATCH (p:POI)-[:SCHEDULED_AT]->(t:TimeSlot) - WHERE p.poi_id IN $poi_ids - AND (t.start_time < p.open_start OR t.start_time >= p.open_end) - RETURN p.name AS poi_name, t.start_time, p.open_start, p.open_end - """ - ... -``` - -### 2. `tests/test_graph_queries.py` 작성 - -`Neo4jClient.run`을 mock하여 테스트: - -- `get_total_travel_time(client, slot_ids)` → `client.run()`이 slot_ids 파라미터로 호출 확인 -- mock 반환 `[{"total_travel_min": 45.0}]` → `45.0` 반환 확인 -- `get_area_revisits(client, poi_ids)` → visits > 1인 항목만 반환 -- `get_operating_conflicts(client, poi_ids)` → poi_name, start_time 포함 확인 -- 빈 결과 → 빈 리스트 반환 (None 반환 금지) - -## Acceptance Criteria - -```bash -python -m pytest tests/test_graph_queries.py -v -``` - -## 검증 절차 - -1. 위 AC 커맨드를 실행한다. -2. `phases/3-graph/index.json`의 step 2 status를 업데이트한다. - -## 금지사항 - -- Cypher 파라미터를 문자열 포맷팅으로 삽입하지 마라 (`f"...{poi_id}..."` 금지). 반드시 `client.run(query, poi_ids=...)` 파라미터 바인딩 사용. -- 쿼리 결과가 없을 때 None을 반환하지 마라. 빈 리스트 또는 0.0을 반환한다. diff --git a/phases/4-validation/step0.md b/phases/4-validation/step0.md index 60701b3..3de8751 100644 --- a/phases/4-validation/step0.md +++ b/phases/4-validation/step0.md @@ -1,4 +1,4 @@ - + # Step 0: hard-fail ## 읽어야 할 파일 diff --git a/phases/4-validation/step1.md b/phases/4-validation/step1.md index 918568f..2e91c20 100644 --- a/phases/4-validation/step1.md +++ b/phases/4-validation/step1.md @@ -1,4 +1,4 @@ - + # Step 1: warning ## 읽어야 할 파일 diff --git a/phases/4-validation/step2.md b/phases/4-validation/step2.md index 161d935..fca06ca 100644 --- a/phases/4-validation/step2.md +++ b/phases/4-validation/step2.md @@ -1,4 +1,4 @@ - + # Step 2: scoring ## 읽어야 할 파일 diff --git a/phases/5-explain/step0.md b/phases/5-explain/step0.md index b77f483..7e6d8e6 100644 --- a/phases/5-explain/step0.md +++ b/phases/5-explain/step0.md @@ -1,4 +1,4 @@ - + # Step 0: prompts ## 읽어야 할 파일 diff --git a/phases/5-explain/step1.md b/phases/5-explain/step1.md index 555e8da..44baff2 100644 --- a/phases/5-explain/step1.md +++ b/phases/5-explain/step1.md @@ -1,4 +1,4 @@ - + # Step 1: explain-engine ## 읽어야 할 파일 diff --git a/phases/5-explain/step2.md b/phases/5-explain/step2.md index 9a1ccef..227bc95 100644 --- a/phases/5-explain/step2.md +++ b/phases/5-explain/step2.md @@ -1,4 +1,4 @@ - + # Step 2: orchestrator ## 읽어야 할 파일 diff --git a/phases/6-api/step0.md b/phases/6-api/step0.md index 8676ac4..038c889 100644 --- a/phases/6-api/step0.md +++ b/phases/6-api/step0.md @@ -1,154 +1,9 @@ - -# Step 0: api-schemas + +# Step 0: API schemas -## 읽어야 할 파일 +현재 API는 Pydantic v2로 입력을 검증한다. -- `/CLAUDE.md` -- `/docs/UI_GUIDE.md` (엔드포인트 Request/Response 스펙) -- `/src/data/models.py` -- `/src/api/schemas.py` (phase 0 스텁) -- `/phases/6-api/index.json` +- `POST /api/validate`: 1~30일, 하루 1~8장소, ISO 날짜, `HH:MM` 시작 시각 +- 빈 일정·공백 장소명·잘못된 날짜/시각은 FastAPI 422로 반환한다. +- 검증 응답은 점수, Hard Fail/Warning, 설명, `repair_suggestions`를 함께 포함한다. -## 작업 - -`src/api/schemas.py`에 FastAPI Request/Response Pydantic 스키마를 구현하라. - -### 구현할 스키마 - -```python -from pydantic import BaseModel, Field -from src.data.models import HardFail, Warning, Scores, RepairSuggestion - -class PlaceInputSchema(BaseModel): - name: str = Field(..., min_length=1, max_length=100, examples=["경복궁"]) - stay_minutes: int = Field(..., ge=10, le=600) - visit_order: int = Field(..., ge=1) - -class ValidateRequest(BaseModel): - places: list[PlaceInputSchema] = Field(..., min_length=4, max_length=8) - transport: str = Field(..., pattern="^(transit|car|walk)$") - travel_type: str = Field(..., pattern="^(cultural|nature|shopping|food|adventure)$") - date: str = Field(..., pattern=r"^\d{4}-\d{2}-\d{2}$", examples=["2024-07-20"]) - start_time: str = Field(default="09:00", pattern=r"^\d{2}:\d{2}$") - -class ValidateResponse(BaseModel): - plan_id: str - final_score: int = Field(ge=0, le=100) - hard_fails: list[HardFail] - warnings: list[Warning] - scores: Scores - explanation: str - repair_suggestions: list[RepairSuggestion] - - @classmethod - def from_result(cls, result) -> "ValidateResponse": - """ValidationResult → ValidateResponse 변환.""" - return cls( - plan_id=result.plan_id, - final_score=result.final_score, - hard_fails=result.hard_fails, - warnings=result.warnings, - scores=result.scores, - explanation=result.explanation, - repair_suggestions=result.repair_suggestions, - ) - -class RepairResponse(BaseModel): - plan_id: str - repair_suggestions: list[RepairSuggestion] - -class HealthResponse(BaseModel): - status: str # "ok" | "degraded" - neo4j: bool - tour_api: bool - kakao: bool -``` - -### `tests/test_api_schemas.py` 작성 - -```python -import pytest -from pydantic import ValidationError -from src.api.schemas import ValidateRequest, ValidateResponse, HealthResponse - -def make_places(n=4): - return [ - {"name": f"장소{i}", "stay_minutes": 60, "visit_order": i} - for i in range(1, n + 1) - ] - -def test_validate_request_valid(): - req = ValidateRequest( - places=make_places(4), - transport="transit", - travel_type="cultural", - date="2024-07-20", - ) - assert req.start_time == "09:00" - -def test_validate_request_too_few_places(): - with pytest.raises(ValidationError): - ValidateRequest( - places=make_places(3), # 4 미만 - transport="transit", - travel_type="cultural", - date="2024-07-20", - ) - -def test_validate_request_too_many_places(): - with pytest.raises(ValidationError): - ValidateRequest( - places=make_places(9), # 8 초과 - transport="transit", - travel_type="cultural", - date="2024-07-20", - ) - -def test_validate_request_invalid_transport(): - with pytest.raises(ValidationError): - ValidateRequest( - places=make_places(4), - transport="bike", # 허용 안 됨 - travel_type="cultural", - date="2024-07-20", - ) - -def test_validate_request_invalid_date_format(): - with pytest.raises(ValidationError): - ValidateRequest( - places=make_places(4), - transport="transit", - travel_type="cultural", - date="20240720", # 잘못된 형식 - ) - -def test_health_response(): - h = HealthResponse(status="ok", neo4j=True, tour_api=True, kakao=True) - assert h.status == "ok" -``` - -테스트 케이스: -- `ValidateRequest` 정상 생성 (4개 장소) -- `places` 3개 미만 → ValidationError -- `places` 9개 초과 → ValidationError -- `transport="bike"` → ValidationError -- `date="20240720"` (잘못된 형식) → ValidationError -- `ValidateResponse.from_result(mock_result)` → ValidateResponse 생성 -- JSON 직렬화 → final_score, hard_fails 포함 확인 - -## Acceptance Criteria - -```bash -python -m pytest tests/test_api_schemas.py -v -``` - -## 검증 절차 - -1. 위 AC 커맨드를 실행한다. -2. `phases/6-api/index.json`의 step 0 status를 업데이트한다. - -## 금지사항 - -- `src/data/models.py`의 `ValidationResult`를 API 응답으로 직접 반환하지 마라. `ValidateResponse.from_result()`로 변환 후 반환한다. -- `ValidateRequest`에서 places가 3개 이하일 때 ValidationError가 아닌 다른 에러를 발생시키지 마라. -- `transport` 필드를 문자열로만 허용하고 Enum으로 강제하지 마라 (openapi 스펙 단순화). diff --git a/phases/6-api/step1.md b/phases/6-api/step1.md index ac5b8f4..75acc35 100644 --- a/phases/6-api/step1.md +++ b/phases/6-api/step1.md @@ -1,160 +1,11 @@ - -# Step 1: api-routes + +# Step 1: API runtime -## 읽어야 할 파일 +라우터는 외부 I/O를 직접 수행하지 않고 data/scoring 계층의 클라이언트를 호출한다. -- `/CLAUDE.md` -- `/docs/UI_GUIDE.md` (엔드포인트 스펙) -- `/src/api/schemas.py` -- `/src/data/models.py` -- `/src/explain/orchestrator.py` -- `/src/api/routes.py` (phase 0 스텁) -- `/src/api/main.py` (phase 0 스텁) -- `/phases/6-api/index.json` +- `POST /api/validate`: Kakao 경로 행렬(키가 없으면 Haversine 명시적 폴백), 시작 시각, 실시간 서울 혼잡도, Repair 제안을 한 응답에 반영한다. +- `POST /api/parse/text`, `POST /api/parse/document`: 파싱 실패는 구체적인 4xx로 반환하고 문서 업로드는 15MB로 제한한다. +- `GET /health`: API 키 설정 여부뿐 아니라 필수 데이터 로딩 여부를 `ready`로 보고한다. +- `ENVIRONMENT=production`에서는 비용이 큰 엔드포인트에 `Authorization: Bearer` 토큰이 필요하며, 모든 API 요청은 IP별 sliding-window 레이트리밋을 적용한다. +- 별도 `/repair/{plan_id}` 조회 API는 제공하지 않는다. Repair 제안은 검증 응답의 `repair_suggestions` 필드에 포함한다. -## 작업 - -### 1. `src/api/main.py` 구현 - -```python -from contextlib import asynccontextmanager -from fastapi import FastAPI -from src.data.models import Settings -from src.explain.orchestrator import ValidationOrchestrator - -@asynccontextmanager -async def lifespan(app: FastAPI): - settings = Settings() - orchestrator = ValidationOrchestrator(settings) - app.state.orchestrator = orchestrator - app.state.settings = settings - yield - # teardown: Neo4j 클라이언트 닫기 (orchestrator._neo4j가 있을 때만) - if orchestrator._neo4j: - orchestrator._neo4j.close() - -app = FastAPI( - title="Explainable Travel Plan Validator", - description="여행 일정의 실행 가능성·동선 효율·위험 요소를 AI로 검증합니다.", - version="0.1.0", - lifespan=lifespan, -) -# routes.router include -``` - -### 2. `src/api/routes.py` 구현 - -```python -from fastapi import APIRouter, HTTPException, Request -from src.api.schemas import ValidateRequest, ValidateResponse, RepairResponse, HealthResponse -from src.data.models import ItineraryPlan, PlaceInput - -router = APIRouter() - -@router.post("/validate", response_model=ValidateResponse, status_code=200) -async def validate_plan(request: Request, body: ValidateRequest) -> ValidateResponse: - """ - 여행 일정 검증 전체 파이프라인 실행. - - TourAPI 404 (ValueError) → HTTPException 404 - - 기타 예외 → HTTPException 503 (서비스 일시 불가) - """ - orchestrator = request.app.state.orchestrator - plan = ItineraryPlan( - places=[PlaceInput(**p.model_dump()) for p in body.places], - transport=body.transport, - travel_type=body.travel_type, - date=body.date, - start_time=body.start_time, - ) - try: - result = await orchestrator.run(plan) - except ValueError as e: - raise HTTPException(status_code=404, detail=str(e)) - except Exception as e: - raise HTTPException(status_code=503, detail="서비스를 일시적으로 사용할 수 없습니다.") - return ValidateResponse.from_result(result) - -@router.get("/repair/{plan_id}", response_model=RepairResponse) -async def get_repair(request: Request, plan_id: str) -> RepairResponse: - """ - 저장된 ValidationResult에서 repair_suggestions 반환. - plan_id 미존재 → HTTPException 404 - """ - # Neo4j에서 plan_id로 저장된 결과 조회 - # MVP: in-memory store 또는 Neo4j 쿼리 - orchestrator = request.app.state.orchestrator - if not orchestrator._neo4j: - raise HTTPException(status_code=503, detail="Neo4j 연결 없음") - # 결과 조회 (Neo4j 또는 캐시) - # plan_id 없으면 404 - raise HTTPException(status_code=404, detail=f"plan_id={plan_id} 결과 없음") - -@router.get("/health", response_model=HealthResponse) -async def health(request: Request) -> HealthResponse: - """ - Neo4j, TourAPI, Kakao API 상태 확인. - 모두 정상 → status="ok", 하나 이상 실패 → status="degraded" - """ - orchestrator = request.app.state.orchestrator - neo4j_ok = orchestrator._neo4j is not None - # TourAPI, Kakao: ping 없이 초기화 성공 여부로 판단 (MVP) - tour_ok = orchestrator._tour is not None - kakao_ok = orchestrator._kakao is not None - status = "ok" if all([neo4j_ok, tour_ok, kakao_ok]) else "degraded" - return HealthResponse(status=status, neo4j=neo4j_ok, tour_api=tour_ok, kakao=kakao_ok) -``` - -### 3. `tests/test_api_routes.py` 작성 - -`fastapi.testclient.TestClient` + mock 사용: - -```python -import pytest -from fastapi.testclient import TestClient -from unittest.mock import AsyncMock, MagicMock, patch -from src.api.main import app - -VALID_BODY = { - "places": [ - {"name": "경복궁", "stay_minutes": 120, "visit_order": 1}, - {"name": "인사동", "stay_minutes": 60, "visit_order": 2}, - {"name": "남산서울타워", "stay_minutes": 90, "visit_order": 3}, - {"name": "명동", "stay_minutes": 60, "visit_order": 4}, - ], - "transport": "transit", - "travel_type": "cultural", - "date": "2024-07-20", -} -``` - -테스트 케이스 (ValidationOrchestrator를 mock): -- `POST /validate` 정상 body → 200 + ValidateResponse 형식 -- `POST /validate` places 3개 → 422 ValidationError -- `POST /validate` (TourAPI ValueError) → 404 -- `POST /validate` (기타 예외) → 503 -- `GET /health` → 200 + `{"status": ...}` 포함 -- `GET /repair/{plan_id}` Neo4j 없음 → 503 - -## Acceptance Criteria - -```bash -python -m pytest tests/test_api_routes.py -v -ruff check src/api/ -``` - -## 검증 절차 - -1. 위 AC 커맨드를 실행한다. -2. 전체 테스트 스위트 실행: - ```bash - python -m pytest tests/ -v --tb=short - ``` - 모든 테스트 통과 확인. -3. `phases/6-api/index.json`의 step 1 status를 업데이트한다. - -## 금지사항 - -- `routes.py`에서 `ValidationOrchestrator`를 직접 인스턴스화하지 마라. 반드시 `request.app.state.orchestrator`를 사용한다. -- `ValueError`를 503으로 처리하지 마라. TourAPI 관광지 미검색은 404다. -- 전역 변수에 orchestrator 인스턴스를 저장하지 마라. FastAPI lifespan + app.state 사용. -- `GET /repair/{plan_id}` MVP에서 Neo4j가 없으면 503을 반환한다. 결과 캐싱 로직은 선택 구현. diff --git a/plan.md b/plan.md index e60fe29..8f24741 100644 --- a/plan.md +++ b/plan.md @@ -1,3 +1,4 @@ + 전체 분석 완료. 이제 결과를 종합해서 기획 문서로 정리합니다. --- diff --git a/pyproject.toml b/pyproject.toml index 3056a8c..179068e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -22,7 +22,8 @@ dependencies = [ "tqdm>=4.66", "openpyxl>=3.1", "scipy>=1.13", - "neo4j>=5.26", + "scikit-learn>=1.5", + "ortools>=9.10", "python-multipart>=0.0.32", ] diff --git a/requirements.txt b/requirements.txt index 47d8dae..b724525 100644 --- a/requirements.txt +++ b/requirements.txt @@ -16,7 +16,8 @@ pdfplumber>=0.11 tqdm>=4.66 openpyxl>=3.1 scipy>=1.13 -neo4j>=5.26 +scikit-learn>=1.5 +ortools>=9.10 python-multipart>=0.0.32 # --- 개발/테스트 (선택) --- diff --git a/src/api/main.py b/src/api/main.py index 35e0cd9..293af94 100644 --- a/src/api/main.py +++ b/src/api/main.py @@ -1,7 +1,7 @@ """FastAPI 앱 진입점.""" + from __future__ import annotations -import os from pathlib import Path from fastapi import FastAPI @@ -9,18 +9,9 @@ from fastapi.responses import HTMLResponse, Response from fastapi.staticfiles import StaticFiles -# .env → os.environ 로드 (uvicorn 직접 실행 시 환경변수 자동 주입) -# router import보다 먼저 실행해야 한다 — router.py는 모듈 로드 시점에 -# GraphRetriever.from_env() 등으로 즉시 환경변수를 읽는 싱글턴을 생성한다. -_dotenv_path = Path(__file__).parent.parent.parent / ".env" -if _dotenv_path.exists() and not os.environ.get("ANTHROPIC_API_KEY"): - for line in _dotenv_path.read_text(encoding="utf-8").splitlines(): - line = line.strip() - if line and not line.startswith("#") and "=" in line: - key, _, val = line.partition("=") - os.environ.setdefault(key.strip(), val.strip()) - -from src.api.router import router # noqa: E402 — .env 로드 이후에 import해야 함 +from src.api.router import router +from src.api.security import security_middleware +from src.data.models import Settings _STATIC_DIR = Path(__file__).parent / "static" @@ -30,12 +21,18 @@ description="여행 계획 QA 검증 API", ) +_settings = Settings() +_cors_origins = [ + origin.strip() for origin in _settings.cors_allowed_origins.split(",") if origin.strip() +] + app.add_middleware( CORSMiddleware, - allow_origins=["*"], - allow_methods=["*"], - allow_headers=["*"], + allow_origins=_cors_origins, + allow_methods=["GET", "POST", "OPTIONS"], + allow_headers=["Authorization", "Content-Type"], ) +app.middleware("http")(security_middleware) app.include_router(router, prefix="/api") @@ -80,16 +77,13 @@ async def health() -> dict: 데이터 적재 상태를 한 번에 확인하는 용도. """ - def _is_set(name: str) -> bool: - return bool(os.environ.get(name, "").strip()) - apis_configured = { - "anthropic": _is_set("ANTHROPIC_API_KEY"), - "tour_api": _is_set("TOUR_API_KEY"), - "kakao_rest": _is_set("KAKAO_REST_API_KEY"), - "kakao_mobility": _is_set("KAKAO_MOBILITY_KEY"), - "seoul_data": _is_set("SEOUL_DATA_API_KEY"), - "naver": _is_set("NAVER_API_KEY"), + "anthropic": bool(_settings.anthropic_api_key.strip()), + "tour_api": bool(_settings.tour_api_key.strip()), + "kakao_rest": bool(_settings.kakao_rest_api_key.strip()), + "kakao_mobility": bool(_settings.kakao_mobility_key.strip()), + "seoul_data": bool(_settings.seoul_data_api_key.strip()), + "naver": bool(_settings.naver_api_key.strip()), } data_loaded: dict[str, int] = {} @@ -104,8 +98,10 @@ def _is_set(name: str) -> bool: except Exception: # pragma: no cover - 진단용, 실패해도 health 는 200 data_loaded = {} + ready = data_loaded.get("places", 0) > 0 and data_loaded.get("congestion_places", 0) > 0 return { - "status": "ok", + "status": "ok" if ready else "degraded", + "ready": ready, "version": app.version, "apis_configured": apis_configured, "data_loaded": data_loaded, diff --git a/src/api/router.py b/src/api/router.py index d9596e9..f785178 100644 --- a/src/api/router.py +++ b/src/api/router.py @@ -1,4 +1,5 @@ """FastAPI 라우터 — /validate, /places 엔드포인트.""" + from __future__ import annotations import asyncio @@ -8,7 +9,7 @@ from pathlib import Path import openpyxl -from fastapi import APIRouter, File, HTTPException, UploadFile +from fastapi import APIRouter, HTTPException, UploadFile from src.api.schemas import ( DayPlanWeb, @@ -21,12 +22,14 @@ ValidateResponse, ) from src.data.dwell_db import MANUAL_OVERRIDES as _DWELL_OVERRIDES -from src.data.graph_retriever import GraphRetriever +from src.data.evidence_retriever import LocalEvidenceRetriever from src.data.hours_db import resolve_hours from src.data.kakao_local import KakaoLocalClient from src.data.models import POI, DayPlan, ItineraryPlan, PlaceInput from src.explain.pipeline import ValidatorPipeline from src.explain.plan_extractor import PlanExtractionError, PlanExtractor +from src.matrix.route_matrix import RouteMatrixService +from src.scoring.congestion_engine import CongestionEngine router = APIRouter() @@ -34,8 +37,10 @@ # 키가 없으면 enabled=False 로 동작해 기존 폴백을 유지한다. _KAKAO_LOCAL = KakaoLocalClient.from_env() -# Neo4j 지식그래프 — 지역/도보권 대안 근거. NEO4J_URI 미설정 시 enabled=False로 조용히 폴백. -_GRAPH = GraphRetriever.from_env() +# 로컬 장소 근거 — 지역/근접 대안 조회. +_GRAPH = LocalEvidenceRetriever.from_settings() +_ROUTE_MATRIX = RouteMatrixService.from_settings() +_CONGESTION_ENGINE = CongestionEngine.from_settings() # 일정표 업로드(PDF·이미지·복사 텍스트) 파싱 — Claude Vision + 쿼리 리라이팅. _EXTRACTOR = PlanExtractor.from_env() @@ -75,6 +80,7 @@ def _kakao_cat_code(category_name: str) -> str: return "32" return "12" + _DATA_DIR = Path(__file__).parent.parent.parent / "data" _DEFAULT_CENTER = (37.5665, 126.9780) # 서울 시청 @@ -88,145 +94,751 @@ def _kakao_cat_code(category_name: str) -> str: # ── sido 단축 매핑 ───────────────────────────────────────────────────────── _SIDO_MAP: dict[str, str] = { - "서울특별시": "서울", "부산광역시": "부산", "대구광역시": "대구", - "인천광역시": "인천", "광주광역시": "광주", "대전광역시": "대전", - "울산광역시": "울산", "세종특별자치시": "세종", - "경기도": "경기", "강원특별자치도": "강원", "강원도": "강원", - "충청북도": "충북", "충청남도": "충남", - "전라북도": "전북", "전북특별자치도": "전북", "전라남도": "전남", - "경상북도": "경북", "경상남도": "경남", + "서울특별시": "서울", + "부산광역시": "부산", + "대구광역시": "대구", + "인천광역시": "인천", + "광주광역시": "광주", + "대전광역시": "대전", + "울산광역시": "울산", + "세종특별자치시": "세종", + "경기도": "경기", + "강원특별자치도": "강원", + "강원도": "강원", + "충청북도": "충북", + "충청남도": "충남", + "전라북도": "전북", + "전북특별자치도": "전북", + "전라남도": "전남", + "경상북도": "경북", + "경상남도": "경남", "제주특별자치도": "제주", } # TourAPI type_label → category code _TYPE_MAP: dict[str, str] = { - "관광지": "12", "문화시설": "14", "레저스포츠": "28", - "숙박": "32", "쇼핑": "38", "음식점": "39", "여행코스": "25", + "관광지": "12", + "문화시설": "14", + "레저스포츠": "28", + "숙박": "32", + "쇼핑": "38", + "음식점": "39", + "여행코스": "25", } # TourAPI contenttypeid → 한글 레이블 _TYPEID_LABEL: dict[str, str] = { - "12": "관광지", "14": "문화시설", "15": "축제/행사", - "25": "여행코스", "28": "레저스포츠", "32": "숙박", - "38": "쇼핑", "39": "음식점", - "wellness": "웰니스", "bf": "무장애여행", + "12": "관광지", + "14": "문화시설", + "15": "축제/행사", + "25": "여행코스", + "28": "레저스포츠", + "32": "숙박", + "38": "쇼핑", + "39": "음식점", + "wellness": "웰니스", + "bf": "무장애여행", } # ── 하드코딩 좌표 DB (고품질 기준값) ────────────────────────────────────── _COORD_CATALOG: dict[str, dict] = { - "경복궁": {"lat": 37.5796, "lng": 126.9770, "cat": "14", "region": "서울", "cat_name": "문화시설"}, - "창덕궁": {"lat": 37.5793, "lng": 126.9910, "cat": "14", "region": "서울", "cat_name": "문화시설"}, - "덕수궁": {"lat": 37.5658, "lng": 126.9752, "cat": "14", "region": "서울", "cat_name": "문화시설"}, - "창경궁": {"lat": 37.5789, "lng": 126.9950, "cat": "14", "region": "서울", "cat_name": "문화시설"}, - "종묘": {"lat": 37.5751, "lng": 126.9942, "cat": "14", "region": "서울", "cat_name": "문화시설"}, - "국립중앙박물관": {"lat": 37.5234, "lng": 126.9806, "cat": "14", "region": "서울", "cat_name": "문화시설"}, - "국립민속박물관": {"lat": 37.5820, "lng": 126.9790, "cat": "14", "region": "서울", "cat_name": "문화시설"}, - "국립현대미술관": {"lat": 37.5789, "lng": 126.9741, "cat": "14", "region": "서울", "cat_name": "문화시설"}, - "리움미술관": {"lat": 37.5383, "lng": 126.9988, "cat": "14", "region": "서울", "cat_name": "문화시설"}, - "전쟁기념관": {"lat": 37.5376, "lng": 126.9770, "cat": "14", "region": "서울", "cat_name": "문화시설"}, - "동대문디자인플라자": {"lat": 37.5669, "lng": 127.0091, "cat": "14", "region": "서울", "cat_name": "문화시설"}, - "한강공원": {"lat": 37.5279, "lng": 126.9985, "cat": "12", "region": "서울", "cat_name": "자연관광"}, - "반포한강공원": {"lat": 37.5069, "lng": 126.9943, "cat": "12", "region": "서울", "cat_name": "자연관광"}, - "여의도한강공원": {"lat": 37.5265, "lng": 126.9322, "cat": "12", "region": "서울", "cat_name": "자연관광"}, - "뚝섬한강공원": {"lat": 37.5315, "lng": 127.0614, "cat": "12", "region": "서울", "cat_name": "자연관광"}, - "서울숲": {"lat": 37.5445, "lng": 127.0374, "cat": "12", "region": "서울", "cat_name": "자연관광"}, - "남산공원": {"lat": 37.5512, "lng": 126.9882, "cat": "12", "region": "서울", "cat_name": "자연관광"}, - "올림픽공원": {"lat": 37.5220, "lng": 127.1217, "cat": "12", "region": "서울", "cat_name": "자연관광"}, - "북한산": {"lat": 37.6589, "lng": 126.9764, "cat": "12", "region": "서울", "cat_name": "자연관광"}, - "관악산": {"lat": 37.4443, "lng": 126.9634, "cat": "12", "region": "서울", "cat_name": "자연관광"}, - "남산타워": {"lat": 37.5512, "lng": 126.9882, "cat": "12", "region": "서울", "cat_name": "관광지"}, - "N서울타워": {"lat": 37.5512, "lng": 126.9882, "cat": "12", "region": "서울", "cat_name": "관광지"}, - "북촌한옥마을": {"lat": 37.5826, "lng": 126.9830, "cat": "12", "region": "서울", "cat_name": "관광지"}, - "서촌": {"lat": 37.5809, "lng": 126.9690, "cat": "12", "region": "서울", "cat_name": "관광지"}, - "광화문광장": {"lat": 37.5720, "lng": 126.9768, "cat": "12", "region": "서울", "cat_name": "관광지"}, - "청계천": {"lat": 37.5695, "lng": 126.9784, "cat": "12", "region": "서울", "cat_name": "관광지"}, - "63빌딩": {"lat": 37.5198, "lng": 126.9407, "cat": "12", "region": "서울", "cat_name": "관광지"}, - "롯데월드타워": {"lat": 37.5126, "lng": 127.1026, "cat": "12", "region": "서울", "cat_name": "관광지"}, - "익선동": {"lat": 37.5755, "lng": 126.9999, "cat": "12", "region": "서울", "cat_name": "관광지"}, - "명동": {"lat": 37.5636, "lng": 126.9838, "cat": "38", "region": "서울", "cat_name": "쇼핑"}, - "인사동": {"lat": 37.5742, "lng": 126.9858, "cat": "38", "region": "서울", "cat_name": "쇼핑"}, - "동대문": {"lat": 37.5660, "lng": 127.0098, "cat": "38", "region": "서울", "cat_name": "쇼핑"}, - "코엑스": {"lat": 37.5115, "lng": 127.0596, "cat": "38", "region": "서울", "cat_name": "쇼핑"}, - "홍대": {"lat": 37.5563, "lng": 126.9235, "cat": "39", "region": "서울", "cat_name": "음식/카페"}, - "이태원": {"lat": 37.5347, "lng": 126.9940, "cat": "39", "region": "서울", "cat_name": "음식/카페"}, - "강남역": {"lat": 37.4979, "lng": 127.0276, "cat": "39", "region": "서울", "cat_name": "음식/카페"}, - "성수동": {"lat": 37.5444, "lng": 127.0558, "cat": "39", "region": "서울", "cat_name": "음식/카페"}, - "연남동": {"lat": 37.5619, "lng": 126.9244, "cat": "39", "region": "서울", "cat_name": "음식/카페"}, - "망원동": {"lat": 37.5555, "lng": 126.9094, "cat": "39", "region": "서울", "cat_name": "음식/카페"}, - "롯데월드": {"lat": 37.5111, "lng": 127.0985, "cat": "15", "region": "서울", "cat_name": "테마파크"}, - "서울랜드": {"lat": 37.4277, "lng": 127.0048, "cat": "15", "region": "서울", "cat_name": "테마파크"}, - "에버랜드": {"lat": 37.2930, "lng": 127.2025, "cat": "15", "region": "경기", "cat_name": "테마파크"}, - "캐리비안베이": {"lat": 37.2930, "lng": 127.2025, "cat": "15", "region": "경기", "cat_name": "테마파크"}, - "수원화성": {"lat": 37.2871, "lng": 127.0145, "cat": "14", "region": "경기", "cat_name": "문화시설"}, - "해운대해수욕장": {"lat": 35.1586, "lng": 129.1603, "cat": "12", "region": "부산", "cat_name": "자연관광"}, - "광안리해수욕장": {"lat": 35.1531, "lng": 129.1191, "cat": "12", "region": "부산", "cat_name": "자연관광"}, - "감천문화마을": {"lat": 35.0976, "lng": 129.0099, "cat": "12", "region": "부산", "cat_name": "관광지"}, - "태종대": {"lat": 35.0456, "lng": 129.0845, "cat": "12", "region": "부산", "cat_name": "자연관광"}, - "용두산공원": {"lat": 35.1007, "lng": 129.0324, "cat": "12", "region": "부산", "cat_name": "자연관광"}, - "자갈치시장": {"lat": 35.0966, "lng": 129.0302, "cat": "38", "region": "부산", "cat_name": "쇼핑"}, - "BIFF광장": {"lat": 35.0977, "lng": 129.0227, "cat": "12", "region": "부산", "cat_name": "관광지"}, - "센텀시티": {"lat": 35.1693, "lng": 129.1323, "cat": "38", "region": "부산", "cat_name": "쇼핑"}, - "제주국제공항": {"lat": 33.5104, "lng": 126.4926, "cat": "14", "region": "제주", "cat_name": "교통"}, - "성산일출봉": {"lat": 33.4580, "lng": 126.9424, "cat": "12", "region": "제주", "cat_name": "자연관광"}, - "한라산": {"lat": 33.3617, "lng": 126.5338, "cat": "12", "region": "제주", "cat_name": "자연관광"}, - "협재해수욕장": {"lat": 33.3941, "lng": 126.2397, "cat": "12", "region": "제주", "cat_name": "자연관광"}, - "함덕해수욕장": {"lat": 33.5430, "lng": 126.6697, "cat": "12", "region": "제주", "cat_name": "자연관광"}, - "월정리해변": {"lat": 33.5605, "lng": 126.7958, "cat": "12", "region": "제주", "cat_name": "자연관광"}, - "우도": {"lat": 33.5000, "lng": 126.9517, "cat": "12", "region": "제주", "cat_name": "자연관광"}, - "섭지코지": {"lat": 33.4286, "lng": 126.9283, "cat": "12", "region": "제주", "cat_name": "자연관광"}, - "김녕해수욕장": {"lat": 33.5561, "lng": 126.7547, "cat": "12", "region": "제주", "cat_name": "자연관광"}, - "새별오름": {"lat": 33.3664, "lng": 126.2931, "cat": "12", "region": "제주", "cat_name": "자연관광"}, - "산굼부리": {"lat": 33.4279, "lng": 126.6165, "cat": "12", "region": "제주", "cat_name": "자연관광"}, - "사려니숲길": {"lat": 33.3726, "lng": 126.5953, "cat": "12", "region": "제주", "cat_name": "자연관광"}, - "쇠소깍": {"lat": 33.2419, "lng": 126.6328, "cat": "12", "region": "제주", "cat_name": "자연관광"}, - "보롬왓": {"lat": 33.3653, "lng": 126.7530, "cat": "12", "region": "제주", "cat_name": "자연관광"}, - "만장굴": {"lat": 33.5280, "lng": 126.7720, "cat": "12", "region": "제주", "cat_name": "자연관광"}, - "올레길": {"lat": 33.2489, "lng": 126.5641, "cat": "12", "region": "제주", "cat_name": "자연관광"}, - "카멜리아힐": {"lat": 33.2920, "lng": 126.4057, "cat": "12", "region": "제주", "cat_name": "자연관광"}, - "오설록티뮤지엄": {"lat": 33.3059, "lng": 126.2909, "cat": "14", "region": "제주", "cat_name": "문화시설"}, - "아르떼뮤지엄": {"lat": 33.4486, "lng": 126.3256, "cat": "14", "region": "제주", "cat_name": "문화시설"}, - "빛의벙커": {"lat": 33.4450, "lng": 126.9210, "cat": "14", "region": "제주", "cat_name": "문화시설"}, - "에코랜드": {"lat": 33.4571, "lng": 126.7016, "cat": "15", "region": "제주", "cat_name": "테마파크"}, - "스누피가든": {"lat": 33.5070, "lng": 126.7250, "cat": "15", "region": "제주", "cat_name": "테마파크"}, - "아쿠아플라넷제주": {"lat": 33.4333, "lng": 126.9213, "cat": "15", "region": "제주", "cat_name": "테마파크"}, - "9.81파크": {"lat": 33.3803, "lng": 126.3020, "cat": "15", "region": "제주", "cat_name": "테마파크"}, - "동문재래시장": {"lat": 33.5126, "lng": 126.5291, "cat": "38", "region": "제주", "cat_name": "쇼핑"}, - "서귀포올레시장": {"lat": 33.2489, "lng": 126.5641, "cat": "38", "region": "제주", "cat_name": "쇼핑"}, - "불국사": {"lat": 35.7897, "lng": 129.3317, "cat": "14", "region": "경주", "cat_name": "문화시설"}, - "석굴암": {"lat": 35.7953, "lng": 129.3465, "cat": "14", "region": "경주", "cat_name": "문화시설"}, - "첨성대": {"lat": 35.8347, "lng": 129.2191, "cat": "14", "region": "경주", "cat_name": "문화시설"}, - "동궁과월지": {"lat": 35.8351, "lng": 129.2248, "cat": "14", "region": "경주", "cat_name": "문화시설"}, - "대릉원": {"lat": 35.8364, "lng": 129.2147, "cat": "14", "region": "경주", "cat_name": "문화시설"}, - "설악산": {"lat": 38.1190, "lng": 128.4654, "cat": "12", "region": "강원", "cat_name": "자연관광"}, - "오대산": {"lat": 37.7947, "lng": 128.5369, "cat": "12", "region": "강원", "cat_name": "자연관광"}, - "정동진": {"lat": 37.6844, "lng": 129.0559, "cat": "12", "region": "강원", "cat_name": "자연관광"}, + "경복궁": { + "lat": 37.5796, + "lng": 126.9770, + "cat": "14", + "region": "서울", + "cat_name": "문화시설", + }, + "창덕궁": { + "lat": 37.5793, + "lng": 126.9910, + "cat": "14", + "region": "서울", + "cat_name": "문화시설", + }, + "덕수궁": { + "lat": 37.5658, + "lng": 126.9752, + "cat": "14", + "region": "서울", + "cat_name": "문화시설", + }, + "창경궁": { + "lat": 37.5789, + "lng": 126.9950, + "cat": "14", + "region": "서울", + "cat_name": "문화시설", + }, + "종묘": { + "lat": 37.5751, + "lng": 126.9942, + "cat": "14", + "region": "서울", + "cat_name": "문화시설", + }, + "국립중앙박물관": { + "lat": 37.5234, + "lng": 126.9806, + "cat": "14", + "region": "서울", + "cat_name": "문화시설", + }, + "국립민속박물관": { + "lat": 37.5820, + "lng": 126.9790, + "cat": "14", + "region": "서울", + "cat_name": "문화시설", + }, + "국립현대미술관": { + "lat": 37.5789, + "lng": 126.9741, + "cat": "14", + "region": "서울", + "cat_name": "문화시설", + }, + "리움미술관": { + "lat": 37.5383, + "lng": 126.9988, + "cat": "14", + "region": "서울", + "cat_name": "문화시설", + }, + "전쟁기념관": { + "lat": 37.5376, + "lng": 126.9770, + "cat": "14", + "region": "서울", + "cat_name": "문화시설", + }, + "동대문디자인플라자": { + "lat": 37.5669, + "lng": 127.0091, + "cat": "14", + "region": "서울", + "cat_name": "문화시설", + }, + "한강공원": { + "lat": 37.5279, + "lng": 126.9985, + "cat": "12", + "region": "서울", + "cat_name": "자연관광", + }, + "반포한강공원": { + "lat": 37.5069, + "lng": 126.9943, + "cat": "12", + "region": "서울", + "cat_name": "자연관광", + }, + "여의도한강공원": { + "lat": 37.5265, + "lng": 126.9322, + "cat": "12", + "region": "서울", + "cat_name": "자연관광", + }, + "뚝섬한강공원": { + "lat": 37.5315, + "lng": 127.0614, + "cat": "12", + "region": "서울", + "cat_name": "자연관광", + }, + "서울숲": { + "lat": 37.5445, + "lng": 127.0374, + "cat": "12", + "region": "서울", + "cat_name": "자연관광", + }, + "남산공원": { + "lat": 37.5512, + "lng": 126.9882, + "cat": "12", + "region": "서울", + "cat_name": "자연관광", + }, + "올림픽공원": { + "lat": 37.5220, + "lng": 127.1217, + "cat": "12", + "region": "서울", + "cat_name": "자연관광", + }, + "북한산": { + "lat": 37.6589, + "lng": 126.9764, + "cat": "12", + "region": "서울", + "cat_name": "자연관광", + }, + "관악산": { + "lat": 37.4443, + "lng": 126.9634, + "cat": "12", + "region": "서울", + "cat_name": "자연관광", + }, + "남산타워": { + "lat": 37.5512, + "lng": 126.9882, + "cat": "12", + "region": "서울", + "cat_name": "관광지", + }, + "N서울타워": { + "lat": 37.5512, + "lng": 126.9882, + "cat": "12", + "region": "서울", + "cat_name": "관광지", + }, + "북촌한옥마을": { + "lat": 37.5826, + "lng": 126.9830, + "cat": "12", + "region": "서울", + "cat_name": "관광지", + }, + "서촌": {"lat": 37.5809, "lng": 126.9690, "cat": "12", "region": "서울", "cat_name": "관광지"}, + "광화문광장": { + "lat": 37.5720, + "lng": 126.9768, + "cat": "12", + "region": "서울", + "cat_name": "관광지", + }, + "청계천": { + "lat": 37.5695, + "lng": 126.9784, + "cat": "12", + "region": "서울", + "cat_name": "관광지", + }, + "63빌딩": { + "lat": 37.5198, + "lng": 126.9407, + "cat": "12", + "region": "서울", + "cat_name": "관광지", + }, + "롯데월드타워": { + "lat": 37.5126, + "lng": 127.1026, + "cat": "12", + "region": "서울", + "cat_name": "관광지", + }, + "익선동": { + "lat": 37.5755, + "lng": 126.9999, + "cat": "12", + "region": "서울", + "cat_name": "관광지", + }, + "명동": {"lat": 37.5636, "lng": 126.9838, "cat": "38", "region": "서울", "cat_name": "쇼핑"}, + "인사동": {"lat": 37.5742, "lng": 126.9858, "cat": "38", "region": "서울", "cat_name": "쇼핑"}, + "동대문": {"lat": 37.5660, "lng": 127.0098, "cat": "38", "region": "서울", "cat_name": "쇼핑"}, + "코엑스": {"lat": 37.5115, "lng": 127.0596, "cat": "38", "region": "서울", "cat_name": "쇼핑"}, + "홍대": { + "lat": 37.5563, + "lng": 126.9235, + "cat": "39", + "region": "서울", + "cat_name": "음식/카페", + }, + "이태원": { + "lat": 37.5347, + "lng": 126.9940, + "cat": "39", + "region": "서울", + "cat_name": "음식/카페", + }, + "강남역": { + "lat": 37.4979, + "lng": 127.0276, + "cat": "39", + "region": "서울", + "cat_name": "음식/카페", + }, + "성수동": { + "lat": 37.5444, + "lng": 127.0558, + "cat": "39", + "region": "서울", + "cat_name": "음식/카페", + }, + "연남동": { + "lat": 37.5619, + "lng": 126.9244, + "cat": "39", + "region": "서울", + "cat_name": "음식/카페", + }, + "망원동": { + "lat": 37.5555, + "lng": 126.9094, + "cat": "39", + "region": "서울", + "cat_name": "음식/카페", + }, + "롯데월드": { + "lat": 37.5111, + "lng": 127.0985, + "cat": "15", + "region": "서울", + "cat_name": "테마파크", + }, + "서울랜드": { + "lat": 37.4277, + "lng": 127.0048, + "cat": "15", + "region": "서울", + "cat_name": "테마파크", + }, + "에버랜드": { + "lat": 37.2930, + "lng": 127.2025, + "cat": "15", + "region": "경기", + "cat_name": "테마파크", + }, + "캐리비안베이": { + "lat": 37.2930, + "lng": 127.2025, + "cat": "15", + "region": "경기", + "cat_name": "테마파크", + }, + "수원화성": { + "lat": 37.2871, + "lng": 127.0145, + "cat": "14", + "region": "경기", + "cat_name": "문화시설", + }, + "해운대해수욕장": { + "lat": 35.1586, + "lng": 129.1603, + "cat": "12", + "region": "부산", + "cat_name": "자연관광", + }, + "광안리해수욕장": { + "lat": 35.1531, + "lng": 129.1191, + "cat": "12", + "region": "부산", + "cat_name": "자연관광", + }, + "감천문화마을": { + "lat": 35.0976, + "lng": 129.0099, + "cat": "12", + "region": "부산", + "cat_name": "관광지", + }, + "태종대": { + "lat": 35.0456, + "lng": 129.0845, + "cat": "12", + "region": "부산", + "cat_name": "자연관광", + }, + "용두산공원": { + "lat": 35.1007, + "lng": 129.0324, + "cat": "12", + "region": "부산", + "cat_name": "자연관광", + }, + "자갈치시장": { + "lat": 35.0966, + "lng": 129.0302, + "cat": "38", + "region": "부산", + "cat_name": "쇼핑", + }, + "BIFF광장": { + "lat": 35.0977, + "lng": 129.0227, + "cat": "12", + "region": "부산", + "cat_name": "관광지", + }, + "센텀시티": { + "lat": 35.1693, + "lng": 129.1323, + "cat": "38", + "region": "부산", + "cat_name": "쇼핑", + }, + "제주국제공항": { + "lat": 33.5104, + "lng": 126.4926, + "cat": "14", + "region": "제주", + "cat_name": "교통", + }, + "성산일출봉": { + "lat": 33.4580, + "lng": 126.9424, + "cat": "12", + "region": "제주", + "cat_name": "자연관광", + }, + "한라산": { + "lat": 33.3617, + "lng": 126.5338, + "cat": "12", + "region": "제주", + "cat_name": "자연관광", + }, + "협재해수욕장": { + "lat": 33.3941, + "lng": 126.2397, + "cat": "12", + "region": "제주", + "cat_name": "자연관광", + }, + "함덕해수욕장": { + "lat": 33.5430, + "lng": 126.6697, + "cat": "12", + "region": "제주", + "cat_name": "자연관광", + }, + "월정리해변": { + "lat": 33.5605, + "lng": 126.7958, + "cat": "12", + "region": "제주", + "cat_name": "자연관광", + }, + "우도": { + "lat": 33.5000, + "lng": 126.9517, + "cat": "12", + "region": "제주", + "cat_name": "자연관광", + }, + "섭지코지": { + "lat": 33.4286, + "lng": 126.9283, + "cat": "12", + "region": "제주", + "cat_name": "자연관광", + }, + "김녕해수욕장": { + "lat": 33.5561, + "lng": 126.7547, + "cat": "12", + "region": "제주", + "cat_name": "자연관광", + }, + "새별오름": { + "lat": 33.3664, + "lng": 126.2931, + "cat": "12", + "region": "제주", + "cat_name": "자연관광", + }, + "산굼부리": { + "lat": 33.4279, + "lng": 126.6165, + "cat": "12", + "region": "제주", + "cat_name": "자연관광", + }, + "사려니숲길": { + "lat": 33.3726, + "lng": 126.5953, + "cat": "12", + "region": "제주", + "cat_name": "자연관광", + }, + "쇠소깍": { + "lat": 33.2419, + "lng": 126.6328, + "cat": "12", + "region": "제주", + "cat_name": "자연관광", + }, + "보롬왓": { + "lat": 33.3653, + "lng": 126.7530, + "cat": "12", + "region": "제주", + "cat_name": "자연관광", + }, + "만장굴": { + "lat": 33.5280, + "lng": 126.7720, + "cat": "12", + "region": "제주", + "cat_name": "자연관광", + }, + "올레길": { + "lat": 33.2489, + "lng": 126.5641, + "cat": "12", + "region": "제주", + "cat_name": "자연관광", + }, + "카멜리아힐": { + "lat": 33.2920, + "lng": 126.4057, + "cat": "12", + "region": "제주", + "cat_name": "자연관광", + }, + "오설록티뮤지엄": { + "lat": 33.3059, + "lng": 126.2909, + "cat": "14", + "region": "제주", + "cat_name": "문화시설", + }, + "아르떼뮤지엄": { + "lat": 33.4486, + "lng": 126.3256, + "cat": "14", + "region": "제주", + "cat_name": "문화시설", + }, + "빛의벙커": { + "lat": 33.4450, + "lng": 126.9210, + "cat": "14", + "region": "제주", + "cat_name": "문화시설", + }, + "에코랜드": { + "lat": 33.4571, + "lng": 126.7016, + "cat": "15", + "region": "제주", + "cat_name": "테마파크", + }, + "스누피가든": { + "lat": 33.5070, + "lng": 126.7250, + "cat": "15", + "region": "제주", + "cat_name": "테마파크", + }, + "아쿠아플라넷제주": { + "lat": 33.4333, + "lng": 126.9213, + "cat": "15", + "region": "제주", + "cat_name": "테마파크", + }, + "9.81파크": { + "lat": 33.3803, + "lng": 126.3020, + "cat": "15", + "region": "제주", + "cat_name": "테마파크", + }, + "동문재래시장": { + "lat": 33.5126, + "lng": 126.5291, + "cat": "38", + "region": "제주", + "cat_name": "쇼핑", + }, + "서귀포올레시장": { + "lat": 33.2489, + "lng": 126.5641, + "cat": "38", + "region": "제주", + "cat_name": "쇼핑", + }, + "불국사": { + "lat": 35.7897, + "lng": 129.3317, + "cat": "14", + "region": "경주", + "cat_name": "문화시설", + }, + "석굴암": { + "lat": 35.7953, + "lng": 129.3465, + "cat": "14", + "region": "경주", + "cat_name": "문화시설", + }, + "첨성대": { + "lat": 35.8347, + "lng": 129.2191, + "cat": "14", + "region": "경주", + "cat_name": "문화시설", + }, + "동궁과월지": { + "lat": 35.8351, + "lng": 129.2248, + "cat": "14", + "region": "경주", + "cat_name": "문화시설", + }, + "대릉원": { + "lat": 35.8364, + "lng": 129.2147, + "cat": "14", + "region": "경주", + "cat_name": "문화시설", + }, + "설악산": { + "lat": 38.1190, + "lng": 128.4654, + "cat": "12", + "region": "강원", + "cat_name": "자연관광", + }, + "오대산": { + "lat": 37.7947, + "lng": 128.5369, + "cat": "12", + "region": "강원", + "cat_name": "자연관광", + }, + "정동진": { + "lat": 37.6844, + "lng": 129.0559, + "cat": "12", + "region": "강원", + "cat_name": "자연관광", + }, # 대구 - "팔공산": {"lat": 35.9991, "lng": 128.6966, "cat": "12", "region": "대구", "cat_name": "자연관광"}, - "동성로": {"lat": 35.8664, "lng": 128.5955, "cat": "38", "region": "대구", "cat_name": "쇼핑"}, - "근대골목": {"lat": 35.8692, "lng": 128.5967, "cat": "12", "region": "대구", "cat_name": "관광지"}, - "서문시장": {"lat": 35.8688, "lng": 128.5808, "cat": "38", "region": "대구", "cat_name": "쇼핑"}, - "대구수목원": {"lat": 35.8322, "lng": 128.5307, "cat": "12", "region": "대구", "cat_name": "자연관광"}, - "김광석다시그리기길": {"lat": 35.8682, "lng": 128.6020, "cat": "12", "region": "대구", "cat_name": "관광지"}, + "팔공산": { + "lat": 35.9991, + "lng": 128.6966, + "cat": "12", + "region": "대구", + "cat_name": "자연관광", + }, + "동성로": {"lat": 35.8664, "lng": 128.5955, "cat": "38", "region": "대구", "cat_name": "쇼핑"}, + "근대골목": { + "lat": 35.8692, + "lng": 128.5967, + "cat": "12", + "region": "대구", + "cat_name": "관광지", + }, + "서문시장": { + "lat": 35.8688, + "lng": 128.5808, + "cat": "38", + "region": "대구", + "cat_name": "쇼핑", + }, + "대구수목원": { + "lat": 35.8322, + "lng": 128.5307, + "cat": "12", + "region": "대구", + "cat_name": "자연관광", + }, + "김광석다시그리기길": { + "lat": 35.8682, + "lng": 128.6020, + "cat": "12", + "region": "대구", + "cat_name": "관광지", + }, # 광주 - "무등산": {"lat": 35.1298, "lng": 126.9883, "cat": "12", "region": "광주", "cat_name": "자연관광"}, - "양림동": {"lat": 35.1410, "lng": 126.8951, "cat": "12", "region": "광주", "cat_name": "관광지"}, - "국립아시아문화전당": {"lat": 35.1456, "lng": 126.9160, "cat": "14", "region": "광주", "cat_name": "문화시설"}, - "충장로": {"lat": 35.1489, "lng": 126.9147, "cat": "38", "region": "광주", "cat_name": "쇼핑"}, + "무등산": { + "lat": 35.1298, + "lng": 126.9883, + "cat": "12", + "region": "광주", + "cat_name": "자연관광", + }, + "양림동": { + "lat": 35.1410, + "lng": 126.8951, + "cat": "12", + "region": "광주", + "cat_name": "관광지", + }, + "국립아시아문화전당": { + "lat": 35.1456, + "lng": 126.9160, + "cat": "14", + "region": "광주", + "cat_name": "문화시설", + }, + "충장로": {"lat": 35.1489, "lng": 126.9147, "cat": "38", "region": "광주", "cat_name": "쇼핑"}, # 대전 - "대전엑스포과학공원": {"lat": 36.3736, "lng": 127.3865, "cat": "12", "region": "대전", "cat_name": "관광지"}, - "유성온천": {"lat": 36.3625, "lng": 127.3367, "cat": "12", "region": "대전", "cat_name": "관광지"}, - "계룡산": {"lat": 36.3462, "lng": 127.2113, "cat": "12", "region": "충남", "cat_name": "자연관광"}, - "한밭수목원": {"lat": 36.3621, "lng": 127.3847, "cat": "12", "region": "대전", "cat_name": "자연관광"}, - "대전오월드": {"lat": 36.3090, "lng": 127.3620, "cat": "15", "region": "대전", "cat_name": "테마파크"}, + "대전엑스포과학공원": { + "lat": 36.3736, + "lng": 127.3865, + "cat": "12", + "region": "대전", + "cat_name": "관광지", + }, + "유성온천": { + "lat": 36.3625, + "lng": 127.3367, + "cat": "12", + "region": "대전", + "cat_name": "관광지", + }, + "계룡산": { + "lat": 36.3462, + "lng": 127.2113, + "cat": "12", + "region": "충남", + "cat_name": "자연관광", + }, + "한밭수목원": { + "lat": 36.3621, + "lng": 127.3847, + "cat": "12", + "region": "대전", + "cat_name": "자연관광", + }, + "대전오월드": { + "lat": 36.3090, + "lng": 127.3620, + "cat": "15", + "region": "대전", + "cat_name": "테마파크", + }, # 충북 - "단양팔경": {"lat": 36.9848, "lng": 128.3673, "cat": "12", "region": "충북", "cat_name": "자연관광"}, - "소백산": {"lat": 36.9641, "lng": 128.4743, "cat": "12", "region": "충북", "cat_name": "자연관광"}, - "청남대": {"lat": 36.4853, "lng": 127.5039, "cat": "12", "region": "충북", "cat_name": "관광지"}, + "단양팔경": { + "lat": 36.9848, + "lng": 128.3673, + "cat": "12", + "region": "충북", + "cat_name": "자연관광", + }, + "소백산": { + "lat": 36.9641, + "lng": 128.4743, + "cat": "12", + "region": "충북", + "cat_name": "자연관광", + }, + "청남대": { + "lat": 36.4853, + "lng": 127.5039, + "cat": "12", + "region": "충북", + "cat_name": "관광지", + }, } _CHOSUNG_LIST = list("ㄱㄲㄴㄷㄸㄹㅁㅂㅃㅅㅆㅇㅈㅉㅊㅋㅌㅍㅎ") -_JAMO_CHARS = set("ㄱㄲㄴㄷㄸㄹㅁㅂㅃㅅㅆㅇㅈㅉㅊㅋㅌㅍㅎㅏㅐㅑㅒㅓㅔㅕㅖㅗㅘㅙㅚㅛㅜㅝㅞㅟㅠㅡㅢㅣ") +_JAMO_CHARS = set( + "ㄱㄲㄴㄷㄸㄹㅁㅂㅃㅅㅆㅇㅈㅉㅊㅋㅌㅍㅎㅏㅐㅑㅒㅓㅔㅕㅖㅗㅘㅙㅚㅛㅜㅝㅞㅟㅠㅡㅢㅣ" +) def _extract_chosung(text: str) -> str: @@ -242,11 +854,11 @@ def _extract_chosung(text: str) -> str: def _normalize(name: str) -> str: # 1. 괄호 안 내용 제거: "한강공원(뚝섬지구)" → "한강공원" - s = re.sub(r'[\((\[【][^\))\]】]*[\))\]】]', '', name) + s = re.sub(r"[\((\[【][^\))\]】]*[\))\]】]", "", name) # 2. 지점명 분리: "스타벅스 강남점" → "스타벅스", "CGV 홍대점" → "CGV" - s = re.sub(r'\s+[가-힣]{1,5}(점|지점|본점)\s*$', '', s) + s = re.sub(r"\s+[가-힣]{1,5}(점|지점|본점)\s*$", "", s) # 3. 특수문자·공백 제거, 소문자화 - return re.sub(r'[\s·ㆍ\-\/\(\)()「」\.,]+', '', s).lower() + return re.sub(r"[\s·ㆍ\-\/\(\)()「」\.,]+", "", s).lower() def _guess_dwell(name: str) -> int: @@ -255,12 +867,30 @@ def _guess_dwell(name: str) -> int: if _normalize(key_raw) == norm: return mn hints = [ - ("공항", 60), ("시장", 60), ("카페", 60), ("마을", 60), - ("해수욕장", 90), ("해변", 90), ("오름", 90), ("숲길", 90), - ("박물관", 90), ("기념관", 90), ("미술관", 90), ("뮤지엄", 90), - ("궁", 90), ("성", 90), ("타워", 90), ("전망대", 90), ("공원", 60), - ("파크", 120), ("테마", 120), ("랜드", 120), ("산", 240), - ("호텔", 480), ("리조트", 480), ("펜션", 480), + ("공항", 60), + ("시장", 60), + ("카페", 60), + ("마을", 60), + ("해수욕장", 90), + ("해변", 90), + ("오름", 90), + ("숲길", 90), + ("박물관", 90), + ("기념관", 90), + ("미술관", 90), + ("뮤지엄", 90), + ("궁", 90), + ("성", 90), + ("타워", 90), + ("전망대", 90), + ("공원", 60), + ("파크", 120), + ("테마", 120), + ("랜드", 120), + ("산", 240), + ("호텔", 480), + ("리조트", 480), + ("펜션", 480), ] for kw, m in hints: if kw in name: @@ -275,7 +905,13 @@ def _addr_to_region(addr: str) -> str: # data/jeju_places.csv (대한민국구석구석 제주특별자치도 통합, 25,377건) 대분류코드 → 앱 카테고리 코드 _JEJU_CAT_MAP: dict[str, str] = { - "FD": "39", "AC": "32", "SH": "38", "VE": "14", "LS": "28", "EX": "12", "HS": "14", + "FD": "39", + "AC": "32", + "SH": "38", + "VE": "14", + "LS": "28", + "EX": "12", + "HS": "14", } @@ -286,7 +922,7 @@ def _parse_jeju_hours(raw: str) -> tuple[str, str] | None: return None if "24시간" in s: return "00:00", "23:59" - m = re.search(r'(\d{1,2}:\d{2})\s*~\s*(\d{1,2}:\d{2})', s) + m = re.search(r"(\d{1,2}:\d{2})\s*~\s*(\d{1,2}:\d{2})", s) return (m.group(1), m.group(2)) if m else None @@ -315,7 +951,10 @@ def _build_jeju_place_index() -> dict[str, dict]: except (ValueError, TypeError, KeyError): continue entry = { - "name": name, "lat": lat, "lng": lng, "region": "제주", + "name": name, + "lat": lat, + "lng": lng, + "region": "제주", "cat": _JEJU_CAT_MAP.get(str(row.get("대분류코드") or ""), "12"), "cat_name": row.get("대분류명") or "관광지", "addr": str(row.get("도로명주소") or "").strip(), @@ -325,9 +964,8 @@ def _build_jeju_place_index() -> dict[str, dict]: contentid = row.get("TourAPI_contentid") if contentid not in (None, ""): entry["contentid"] = str(int(contentid)) - hrs = ( - _parse_jeju_hours(str(row.get("TourAPI_영업시간") or "")) - or _parse_jeju_hours(str(row.get("영업시간") or "")) + hrs = _parse_jeju_hours(str(row.get("TourAPI_영업시간") or "")) or _parse_jeju_hours( + str(row.get("영업시간") or "") ) if hrs: entry["open_start"], entry["open_end"] = hrs @@ -434,17 +1072,19 @@ def _build_place_list(coord_index: dict[str, dict]) -> list[dict]: entry = ce break - result.append({ - "name": name, - "lat": entry["lat"] if entry else None, - "lng": entry["lng"] if entry else None, - "region": entry.get("region", "") if entry else "", - "cat": entry.get("cat", "12") if entry else "12", - "cat_name": entry.get("cat_name", "관광지") if entry else "관광지", - "annual_max": annual_max, - "has_coords": entry is not None, - "firstimage": image_index.get(norm_key, ""), - }) + result.append( + { + "name": name, + "lat": entry["lat"] if entry else None, + "lng": entry["lng"] if entry else None, + "region": entry.get("region", "") if entry else "", + "cat": entry.get("cat", "12") if entry else "12", + "cat_name": entry.get("cat_name", "관광지") if entry else "관광지", + "annual_max": annual_max, + "has_coords": entry is not None, + "firstimage": image_index.get(norm_key, ""), + } + ) result.sort(key=lambda x: -x["annual_max"]) return result @@ -474,19 +1114,21 @@ def _build_full_place_list(coord_index: dict[str, dict]) -> list[dict]: has_c = False region = _addr_to_region(row.get("addr1", "")) cat = row.get("contenttypeid", "12") - result.append({ - "name": name, - "lat": lat, - "lng": lng, - "region": region, - "cat": cat, - "cat_name": _TYPEID_LABEL.get(cat, "관광지"), - "annual_max": 0.0, - "has_coords": has_c, - "firstimage": row.get("firstimage", "").strip(), - "addr": row.get("addr1", "").strip(), - "tags": [], - }) + result.append( + { + "name": name, + "lat": lat, + "lng": lng, + "region": region, + "cat": cat, + "cat_name": _TYPEID_LABEL.get(cat, "관광지"), + "annual_max": 0.0, + "has_coords": has_c, + "firstimage": row.get("firstimage", "").strip(), + "addr": row.get("addr1", "").strip(), + "tags": [], + } + ) # 2) wellness_places.json wl_path = _DATA_DIR / "wellness_places.json" @@ -500,21 +1142,27 @@ def _build_full_place_list(coord_index: dict[str, dict]) -> list[dict]: continue seen.add(norm) try: - lat = float(item["lat"]); lng = float(item["lng"]); has_c = True + lat = float(item["lat"]) + lng = float(item["lng"]) + has_c = True except (ValueError, TypeError): - lat, lng = None, None; has_c = False - result.append({ - "name": name, - "lat": lat, "lng": lng, - "region": _addr_to_region(item.get("addr", "")), - "cat": "wellness", - "cat_name": "웰니스", - "annual_max": 0.0, - "has_coords": has_c, - "firstimage": "", - "addr": item.get("addr", "").strip(), - "tags": ["웰니스", "힐링"], - }) + lat, lng = None, None + has_c = False + result.append( + { + "name": name, + "lat": lat, + "lng": lng, + "region": _addr_to_region(item.get("addr", "")), + "cat": "wellness", + "cat_name": "웰니스", + "annual_max": 0.0, + "has_coords": has_c, + "firstimage": "", + "addr": item.get("addr", "").strip(), + "tags": ["웰니스", "힐링"], + } + ) # 3) barrier_free_places.json bf_path = _DATA_DIR / "barrier_free_places.json" @@ -528,26 +1176,36 @@ def _build_full_place_list(coord_index: dict[str, dict]) -> list[dict]: continue seen.add(norm) try: - lat = float(item["lat"]); lng = float(item["lng"]); has_c = True + lat = float(item["lat"]) + lng = float(item["lng"]) + has_c = True except (ValueError, TypeError): - lat, lng = None, None; has_c = False + lat, lng = None, None + has_c = False bf_tags = ["무장애"] - if item.get("wheelchair"): bf_tags.append("휠체어") - if item.get("elevator"): bf_tags.append("엘리베이터") - if item.get("stroller"): bf_tags.append("유모차") - if item.get("parking"): bf_tags.append("주차가능") - result.append({ - "name": name, - "lat": lat, "lng": lng, - "region": _addr_to_region(item.get("addr", "")), - "cat": "bf", - "cat_name": "무장애여행", - "annual_max": 0.0, - "has_coords": has_c, - "firstimage": "", - "addr": item.get("addr", "").strip(), - "tags": bf_tags, - }) + if item.get("wheelchair"): + bf_tags.append("휠체어") + if item.get("elevator"): + bf_tags.append("엘리베이터") + if item.get("stroller"): + bf_tags.append("유모차") + if item.get("parking"): + bf_tags.append("주차가능") + result.append( + { + "name": name, + "lat": lat, + "lng": lng, + "region": _addr_to_region(item.get("addr", "")), + "cat": "bf", + "cat_name": "무장애여행", + "annual_max": 0.0, + "has_coords": has_c, + "firstimage": "", + "addr": item.get("addr", "").strip(), + "tags": bf_tags, + } + ) return result @@ -582,12 +1240,20 @@ def _build_monthly_congestion() -> dict[str, dict[int, float]]: _seen_full = {_normalize(p["name"]) for p in _FULL_PLACE_LIST} _FULL_PLACE_LIST += [ { - "name": e["name"], "lat": e["lat"], "lng": e["lng"], - "region": e["region"], "cat": e["cat"], "cat_name": e["cat_name"], - "annual_max": 0.0, "has_coords": True, - "firstimage": "", "addr": e.get("addr", ""), "tags": [], + "name": e["name"], + "lat": e["lat"], + "lng": e["lng"], + "region": e["region"], + "cat": e["cat"], + "cat_name": e["cat_name"], + "annual_max": 0.0, + "has_coords": True, + "firstimage": "", + "addr": e.get("addr", ""), + "tags": [], } - for k, e in _JEJU_CSV_INDEX.items() if k not in _seen_full + for k, e in _JEJU_CSV_INDEX.items() + if k not in _seen_full ] _MONTHLY_CONG: dict[str, dict[int, float]] = _build_monthly_congestion() # 이름 정규화 → place dict 역방향 인덱스 @@ -688,17 +1354,25 @@ def _resolve_poi(name: str, idx: int, address: str = "") -> tuple[POI, POIInfo]: poi = POI( poi_id=f"web_{idx:04d}", - name=name, lat=lat, lng=lng, - open_start=open_start, open_end=open_end, - duration_min=dwell, category=category, + name=name, + lat=lat, + lng=lng, + open_start=open_start, + open_end=open_end, + duration_min=dwell, + category=category, hours_estimated=hours_estimated, pet_friendly=pet_friendly, ) info = POIInfo( - name=name, found=(confidence != "Low"), source=source, + name=name, + found=(confidence != "Low"), + source=source, confidence=confidence, - lat=lat, lng=lng, - open_start=open_start, open_end=open_end, + lat=lat, + lng=lng, + open_start=open_start, + open_end=open_end, duration_min=dwell, hours_estimated=hours_estimated, graph_region=graph_region, @@ -730,8 +1404,12 @@ def _get_pipeline() -> ValidatorPipeline: @router.get("/places", response_model=PlacesResponse) async def list_places( - q: str = "", region: str = "", extended: bool = False, cat: str = "", - offset: int = 0, limit: int = 2000, + q: str = "", + region: str = "", + extended: bool = False, + cat: str = "", + offset: int = 0, + limit: int = 2000, ) -> PlacesResponse: """등록 장소 목록. q=검색어, region=지역 필터, cat=카테고리 코드, extended=전체DB 초기 로드. @@ -769,17 +1447,21 @@ async def list_places( if cat and cat not in ("all", "fav") and code != cat: continue existing.add(nm) - filtered = filtered + [{ - "name": kp.name, - "region": kp_region, - "cat": code, - "cat_name": (kp.category_name.split(">")[-1].strip() if kp.category_name else "장소"), - "has_coords": True, - "annual_max": 0.0, - "firstimage": "", - "addr": kp.address, - "tags": ["카카오"], - }] + filtered = filtered + [ + { + "name": kp.name, + "region": kp_region, + "cat": code, + "cat_name": ( + kp.category_name.split(">")[-1].strip() if kp.category_name else "장소" + ), + "has_coords": True, + "annual_max": 0.0, + "firstimage": "", + "addr": kp.address, + "tags": ["카카오"], + } + ] total_count = len(filtered) page_size = min(limit, 2000) if use_full else total_count @@ -818,12 +1500,15 @@ async def monthly_congestion(name: str) -> dict: async def list_regions() -> dict: """지역별 장소 수 통계.""" from collections import Counter + counts: Counter[str] = Counter() for p in _FULL_PLACE_LIST: r = p.get("region") or "기타" if r: counts[r] += 1 - return {"regions": [{"name": k, "count": v} for k, v in sorted(counts.items(), key=lambda x: -x[1])]} + return { + "regions": [{"name": k, "count": v} for k, v in sorted(counts.items(), key=lambda x: -x[1])] + } @router.post("/parse/text", response_model=ParsedPlanResponse) @@ -836,7 +1521,7 @@ async def parse_text(req: ParseTextRequest) -> ParsedPlanResponse: @router.post("/parse/document", response_model=ParsedPlanResponse) -async def parse_document(file: UploadFile = File(...)) -> ParsedPlanResponse: +async def parse_document(file: UploadFile) -> ParsedPlanResponse: """AI 플래너 결과 PDF·스크린샷(PNG/JPG) → Claude Vision으로 day/place 구조 추출.""" media_type = _ALLOWED_DOC_TYPES.get((file.content_type or "").lower()) if media_type is None: @@ -884,6 +1569,20 @@ async def validate_plan(req: ValidateRequest) -> ValidateResponse: ) ) + unresolved = [ + name + for (_, name, _), (_poi, info) in zip(flat_places, resolved, strict=True) + if not info.found + ] + if unresolved: + raise HTTPException( + status_code=422, + detail={ + "message": "좌표를 확인할 수 없는 장소가 있습니다.", + "places": unresolved, + }, + ) + per_day_pois: list[list[POI]] = [[] for _ in req.days] poi_info_list: list[POIInfo] = [] for (day_idx, _, _addr), (poi, info) in zip(flat_places, resolved, strict=True): @@ -892,22 +1591,23 @@ async def validate_plan(req: ValidateRequest) -> ValidateResponse: poi_info_list.append(info) plan = ItineraryPlan( - days=[ - DayPlan(places=[PlaceInput(name=p.name) for p in day.places]) - for day in req.days - ], + days=[DayPlan(places=[PlaceInput(name=p.name) for p in day.places]) for day in req.days], party_size=req.party_size, party_type=req.party_type, travel_type=req.travel_type, date=req.date, + start_time=req.start_time, ) + all_pois = [poi for day in per_day_pois for poi in day] + await _ROUTE_MATRIX.prepare(all_pois) result = await asyncio.to_thread( _get_pipeline().run, plan=plan, per_day_pois=per_day_pois, - matrix={}, + matrix=_ROUTE_MATRIX, pet_friendly_enabled=req.pet_friendly, + time_matrix=_ROUTE_MATRIX, ) if result.wellness_matched: @@ -926,10 +1626,40 @@ async def validate_plan(req: ValidateRequest) -> ValidateResponse: except (IndexError, ValueError): travel_month = 5 - MONTH_NAMES = {1:"1월",2:"2월",3:"3월",4:"4월",5:"5월",6:"6월", - 7:"7월",8:"8월",9:"9월",10:"10월",11:"11월",12:"12월"} + MONTH_NAMES = { + 1: "1월", + 2: "2월", + 3: "3월", + 4: "4월", + 5: "5월", + 6: "6월", + 7: "7월", + 8: "8월", + 9: "9월", + 10: "10월", + 11: "11월", + 12: "12월", + } for info in poi_info_list: + live_congestion = _CONGESTION_ENGINE.score(info.name, travel_month) + if live_congestion.fallback_used == "seoul_realtime": + if live_congestion.congestion_score >= 0.65: + congestion_warnings.append( + { + "poi_name": info.name, + "month": travel_month, + "level": live_congestion.level.value.lower(), + "ratio": round(live_congestion.congestion_score, 2), + "message": ( + f"서울 실시간 혼잡도는 {live_congestion.level.value} 수준이에요. " + "가능하면 이른 방문을 추천해요." + ), + "best_month": None, + "source": "seoul_realtime", + } + ) + continue monthly = _MONTHLY_CONG.get(info.name) if not monthly: continue @@ -937,7 +1667,6 @@ async def validate_plan(req: ValidateRequest) -> ValidateResponse: if not score: continue max_score = max(monthly.values()) - min_score = min(monthly.values()) if max_score <= 0: continue ratio = score / max_score @@ -945,20 +1674,22 @@ async def validate_plan(req: ValidateRequest) -> ValidateResponse: if ratio >= 0.85: level = "high" if ratio >= 0.95 else "medium" best_month = min(monthly, key=monthly.get) - congestion_warnings.append({ - "poi_name": info.name, - "month": travel_month, - "level": level, - "ratio": round(ratio, 2), - "message": ( - f"{MONTH_NAMES[travel_month]}은 연중 가장 붐비는 시기예요. " - f"예약이나 이른 방문을 추천해요." - if level == "high" else - f"{MONTH_NAMES[travel_month]}은 사람이 꽤 많은 편이에요. " - f"여유 있게 시간을 잡으세요." - ), - "best_month": best_month, - }) + congestion_warnings.append( + { + "poi_name": info.name, + "month": travel_month, + "level": level, + "ratio": round(ratio, 2), + "message": ( + f"{MONTH_NAMES[travel_month]}은 연중 가장 붐비는 시기예요. " + f"예약이나 이른 방문을 추천해요." + if level == "high" + else f"{MONTH_NAMES[travel_month]}은 사람이 꽤 많은 편이에요. " + f"여유 있게 시간을 잡으세요." + ), + "best_month": best_month, + } + ) return ValidateResponse( plan_id=result.plan_id, @@ -981,7 +1712,8 @@ async def validate_plan(req: ValidateRequest) -> ValidateResponse: repair_suggestions=result.repair or None, optimal_route=( [r.model_dump() for r in result.vrptw_optimal_route] - if result.vrptw_optimal_route else None + if result.vrptw_optimal_route + else None ), vrptw_efficiency_gap=result.vrptw_efficiency_gap, congestion_warnings=congestion_warnings, diff --git a/src/api/schemas.py b/src/api/schemas.py index 3e5f765..9b28e45 100644 --- a/src/api/schemas.py +++ b/src/api/schemas.py @@ -1,24 +1,35 @@ """API 요청/응답 Pydantic 스키마.""" + from __future__ import annotations -from typing import Literal, Optional +from typing import Literal + +from pydantic import BaseModel, Field, field_validator -from pydantic import BaseModel +from src.data.models import _validate_hhmm, _validate_iso_date class PlaceInputWeb(BaseModel): - name: str + name: str = Field(min_length=1, max_length=200) address: str = "" + @field_validator("name") + @classmethod + def validate_name(cls, v: str) -> str: + value = v.strip() + if not value: + raise ValueError("place name must not be blank") + return value + class DayPlanWeb(BaseModel): - places: list[PlaceInputWeb] + places: list[PlaceInputWeb] = Field(min_length=1, max_length=8) class POIInfo(BaseModel): name: str found: bool - source: str # "catalog" | "pois" | "fallback" + source: str # "catalog" | "pois" | "fallback" confidence: Literal["High", "Medium", "Low"] = "Medium" lat: float lng: float @@ -52,14 +63,24 @@ class PlacesResponse(BaseModel): class ValidateRequest(BaseModel): - days: list[DayPlanWeb] + days: list[DayPlanWeb] = Field(min_length=1, max_length=30) party_size: Literal[1, 2, 3, 4, 5] = 2 party_type: Literal["혼자", "친구", "연인", "가족", "아기동반", "어르신동반"] = "친구" - travel_type: Optional[Literal["cultural", "nature", "shopping", "food", "adventure"]] = None + travel_type: Literal["cultural", "nature", "shopping", "food", "adventure"] | None = None date: str = "2026-05-10" start_time: str = "09:00" pet_friendly: bool = False + @field_validator("date") + @classmethod + def validate_date(cls, v: str) -> str: + return _validate_iso_date(v) + + @field_validator("start_time") + @classmethod + def validate_start_time(cls, v: str) -> str: + return _validate_hhmm(v, "start_time") + class ParseTextRequest(BaseModel): text: str @@ -87,14 +108,14 @@ class ValidateResponse(BaseModel): data_reliability_score: int = 0 hard_fails: list[dict] warnings: list[dict] - scores: Optional[dict] = None + scores: dict | None = None explanations: list[dict] = [] penalty_breakdown: dict[str, int] bonus_breakdown: dict[str, int] rewards: list[str] alternatives: dict[str, list[dict]] = {} poi_info: list[POIInfo] - repair_suggestions: Optional[dict] = None - optimal_route: Optional[list[dict]] = None - vrptw_efficiency_gap: Optional[float] = None + repair_suggestions: dict | None = None + optimal_route: list[dict] | None = None + vrptw_efficiency_gap: float | None = None congestion_warnings: list[dict] = [] diff --git a/src/api/security.py b/src/api/security.py new file mode 100644 index 0000000..e0750c7 --- /dev/null +++ b/src/api/security.py @@ -0,0 +1,66 @@ +"""API 요청 보호: 환경 기반 인증과 프로세스 로컬 레이트리밋.""" + +from __future__ import annotations + +import secrets +import time +from collections import defaultdict, deque +from threading import Lock + +from fastapi import Request +from fastapi.responses import JSONResponse + +from src.data.models import Settings + + +class InMemoryRateLimiter: + """단일 프로세스 개발/소규모 배포용 sliding-window 제한기.""" + + def __init__(self) -> None: + self._hits: defaultdict[str, deque[float]] = defaultdict(deque) + self._lock = Lock() + + def allow(self, key: str, limit: int, window_seconds: float = 60.0) -> bool: + now = time.monotonic() + with self._lock: + hits = self._hits[key] + while hits and now - hits[0] >= window_seconds: + hits.popleft() + if len(hits) >= limit: + return False + hits.append(now) + return True + + +_LIMITER = InMemoryRateLimiter() +_PROTECTED_PATHS = {"/api/parse/text", "/api/parse/document", "/api/validate"} + + +def _client_key(request: Request) -> str: + return request.client.host if request.client else "unknown" + + +async def security_middleware(request: Request, call_next): + """비용이 큰 API를 인증하고, 모든 API 요청에 기본 레이트리밋을 적용한다.""" + path = request.url.path + if path.startswith("/api/") and request.method != "OPTIONS": + settings = Settings() + protected = path in _PROTECTED_PATHS + token_required = settings.environment.lower() == "production" or bool( + settings.api_auth_token.strip() + ) + if protected and token_required: + authorization = request.headers.get("Authorization", "") + supplied = authorization.removeprefix("Bearer ").strip() + expected = settings.api_auth_token.strip() + if not expected or not secrets.compare_digest(supplied, expected): + return JSONResponse({"detail": "인증이 필요합니다."}, status_code=401) + + limit = 5 if path == "/api/parse/document" else 30 if protected else 60 + if not _LIMITER.allow(f"{_client_key(request)}:{path}", limit): + return JSONResponse( + {"detail": "요청이 너무 많습니다. 잠시 후 다시 시도하세요."}, + status_code=429, + headers={"Retry-After": "60"}, + ) + return await call_next(request) diff --git a/src/api/static/index.html b/src/api/static/index.html index a22acb3..22e54e5 100644 --- a/src/api/static/index.html +++ b/src/api/static/index.html @@ -3141,7 +3141,11 @@