윤정민 20e3b1cbf0 Add a script to fetch and display KBO team rankings and records.
- KBO 공식 홈페이지에서 연도별 팀 순위 및 상대 전적 데이터를 가져오는 크롤링 스크립트를 구현했습니다.
- ASP.NET의 ViewState 및 EventValidation 필드를 처리하여 동적인 연도 전환 요청을 지원합니다.
- 데이터를 가독성 높은 콘솔 테이블 형태로 출력하거나 JSON 형식으로 변환하는 기능을 제공합니다.
2026-05-29 14:59:50 +09:00

4446 lines
146 KiB
JSON

{
"directed": false,
"multigraph": false,
"graph": {
"hyperedges": [
{
"id": "kbo_cache_pipeline",
"label": "KBO External Fetch to Cache to Client Endpoint Pipeline",
"nodes": [
"backend_reads_external_kbo",
"backend_reads_firestore_kbocache",
"backend_reads_repo_kbocacherepo",
"backend_reads_firestore_kbolocks",
"backend_lifecycle_concept_distributedlock"
],
"relation": "participate_in",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_backend-reads.md"
},
{
"id": "daily_archive_write_pipeline",
"label": "dailyArchive Cron Write Pipeline",
"nodes": [
"backend_writes_cron_dailyarchive",
"backend_reads_svc_judgmentservice",
"backend_reads_firestore_votehistory",
"backend_reads_firestore_users",
"backend_reads_svc_ranksnapshotservice",
"backend_reads_rtdb_scoreboardcache",
"backend_reads_rtdb_cachestats"
],
"relation": "participate_in",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_backend-writes.md"
},
{
"id": "game_completed_fanout",
"label": "onGameCompleted Fan-out Write Pattern",
"nodes": [
"backend_writes_trigger_ongamecompleted",
"backend_writes_svc_gameresultservice",
"backend_reads_rtdb_uservotes",
"backend_reads_rtdb_cachestats",
"backend_lifecycle_concept_fanout"
],
"relation": "implement",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_backend-writes.md"
},
{
"id": "backend_read_optimization_set",
"label": "Backend Read Optimization Set R1 R4 R5 R7",
"nodes": [
"backend_improvements_reads_r1_gamedaycache",
"backend_improvements_reads_r4_backoff",
"backend_improvements_reads_r5_fieldmask",
"backend_improvements_reads_r7_parallelrank"
],
"relation": "form",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_improvements-backend-reads.md"
},
{
"id": "backend_write_optimization_set",
"label": "Backend Write Optimization Set W1 through W6",
"nodes": [
"backend_improvements_writes_w1_diff",
"backend_improvements_writes_w2_votehistory",
"backend_improvements_writes_w3_statsdedup",
"backend_improvements_writes_w4_ranksnapshot",
"backend_improvements_writes_w5r6_photourl",
"backend_improvements_writes_w6_gamedetailttl"
],
"relation": "form",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_improvements-backend-writes.md"
},
{
"id": "prediction_vote_flow",
"label": "User Prediction Vote Flow",
"nodes": [
"backend_writes_endpoint_post_prediction",
"backend_writes_endpoint_put_prediction",
"backend_reads_repo_voterepo",
"backend_reads_rtdb_votes",
"backend_reads_rtdb_uservotes"
],
"relation": "participate_in",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_backend-writes.md"
},
{
"id": "tier1_optimizations",
"label": "Tier 1 High-Impact Low-Risk Optimizations",
"nodes": [
"opt_W1",
"opt_W2",
"opt_R1",
"opt_C1"
],
"relation": "form",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_optimization-plan.md"
},
{
"id": "tier2_optimizations",
"label": "Tier 2 Medium-Impact Optimizations",
"nodes": [
"opt_R2",
"opt_W3",
"opt_R3",
"opt_R4",
"opt_C2",
"opt_C3"
],
"relation": "form",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_optimization-plan.md"
},
{
"id": "tier3_optimizations",
"label": "Tier 3 Small / Housekeeping Optimizations",
"nodes": [
"opt_W4",
"opt_W5",
"opt_W6",
"opt_R5",
"opt_R6",
"opt_R7",
"opt_C4"
],
"relation": "form",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_optimization-plan.md"
},
{
"id": "client_applied_improvements",
"label": "Applied Client Optimizations (opt/client-rw branch)",
"nodes": [
"opt_C1",
"opt_C2",
"opt_C3",
"opt_C4",
"client_vote_repo_after",
"client_standings_provider_after",
"client_h2h_provider_after",
"client_ace_pitcher_after",
"client_current_user_after"
],
"relation": "implement",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/client_improvements-client.md"
},
{
"id": "swr_cache_adapters",
"label": "SWR Cache Adapters (4 domains)",
"nodes": [
"client_schedule_cache",
"client_game_detail_cache",
"client_day_record_cache",
"client_game_record_dates_cache"
],
"relation": "implement",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md"
},
{
"id": "client_keepalive_repos",
"label": "All Client Repositories (keepAlive)",
"nodes": [
"client_game_repo",
"client_user_repo",
"client_prediction_repo",
"client_team_record_repo",
"client_player_repo",
"client_game_detail_repo",
"client_scoreboard_repo",
"client_attendance_repo"
],
"relation": "participate_in",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md"
},
{
"id": "duplicate_call_problem",
"label": "Duplicate CF Call Pattern (C2+C3)",
"nodes": [
"client_provider_h2h",
"client_provider_rank",
"client_ep_rank",
"client_provider_ace_pitcher",
"client_provider_pitchers",
"client_ep_player"
],
"relation": "participate_in",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md"
}
]
},
"nodes": [
{
"label": "Firestore users Collection",
"file_type": "document",
"source_file": "graphify-out/tmp-corpus/backend_backend-reads.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "backend_reads_firestore_users",
"community": 2,
"norm_label": "firestore users collection"
},
{
"label": "Firestore voteHistory Subcollection",
"file_type": "document",
"source_file": "graphify-out/tmp-corpus/backend_backend-reads.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "backend_reads_firestore_votehistory",
"community": 1,
"norm_label": "firestore votehistory subcollection"
},
{
"label": "Firestore attendance Subcollection",
"file_type": "document",
"source_file": "graphify-out/tmp-corpus/backend_backend-reads.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "backend_reads_firestore_attendance",
"community": 11,
"norm_label": "firestore attendance subcollection"
},
{
"label": "Firestore pointLedger Subcollection",
"file_type": "document",
"source_file": "graphify-out/tmp-corpus/backend_backend-reads.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "backend_reads_firestore_pointledger",
"community": 11,
"norm_label": "firestore pointledger subcollection"
},
{
"label": "Firestore games Collection",
"file_type": "document",
"source_file": "graphify-out/tmp-corpus/backend_backend-reads.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "backend_reads_firestore_games",
"community": 1,
"norm_label": "firestore games collection"
},
{
"label": "Firestore kboCache Collection",
"file_type": "document",
"source_file": "graphify-out/tmp-corpus/backend_backend-reads.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "backend_reads_firestore_kbocache",
"community": 0,
"norm_label": "firestore kbocache collection"
},
{
"label": "Firestore kboLocks Collection",
"file_type": "document",
"source_file": "graphify-out/tmp-corpus/backend_backend-reads.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "backend_reads_firestore_kbolocks",
"community": 0,
"norm_label": "firestore kbolocks collection"
},
{
"label": "RTDB /votes/{gameId} Path",
"file_type": "document",
"source_file": "graphify-out/tmp-corpus/backend_backend-reads.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "backend_reads_rtdb_votes",
"community": 8,
"norm_label": "rtdb /votes/{gameid} path"
},
{
"label": "RTDB /userVotes/{uid}/{date} Path",
"file_type": "document",
"source_file": "graphify-out/tmp-corpus/backend_backend-reads.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "backend_reads_rtdb_uservotes",
"community": 1,
"norm_label": "rtdb /uservotes/{uid}/{date} path"
},
{
"label": "RTDB /cache/stats/{uid} Path",
"file_type": "document",
"source_file": "graphify-out/tmp-corpus/backend_backend-reads.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "backend_reads_rtdb_cachestats",
"community": 1,
"norm_label": "rtdb /cache/stats/{uid} path"
},
{
"label": "RTDB /scoreboardCache/{date} Path",
"file_type": "document",
"source_file": "graphify-out/tmp-corpus/backend_backend-reads.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "backend_reads_rtdb_scoreboardcache",
"community": 2,
"norm_label": "rtdb /scoreboardcache/{date} path"
},
{
"label": "RTDB /nicknames Path",
"file_type": "document",
"source_file": "graphify-out/tmp-corpus/backend_backend-reads.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "backend_reads_rtdb_nicknames",
"community": 2,
"norm_label": "rtdb /nicknames path"
},
{
"label": "RTDB /userNicknames Path",
"file_type": "document",
"source_file": "graphify-out/tmp-corpus/backend_backend-reads.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "backend_reads_rtdb_usernicknames",
"community": 2,
"norm_label": "rtdb /usernicknames path"
},
{
"label": "External KBO API (koreabaseball.com)",
"file_type": "document",
"source_file": "graphify-out/tmp-corpus/backend_backend-reads.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "backend_reads_external_kbo",
"community": 0,
"norm_label": "external kbo api (koreabaseball.com)"
},
{
"label": "In-Memory MemCache (Server-side)",
"file_type": "document",
"source_file": "graphify-out/tmp-corpus/backend_backend-reads.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "backend_reads_memcache",
"community": 8,
"norm_label": "in-memory memcache (server-side)"
},
{
"label": "gameListService (Server)",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/backend_backend-reads.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "backend_reads_svc_gamelistservice",
"community": 8,
"norm_label": "gamelistservice (server)"
},
{
"label": "rankService (Server)",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/backend_backend-reads.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "backend_reads_svc_rankservice",
"community": 0,
"norm_label": "rankservice (server)"
},
{
"label": "playerService (Server)",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/backend_backend-reads.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "backend_reads_svc_playerservice",
"community": 0,
"norm_label": "playerservice (server)"
},
{
"label": "scheduleService (Server)",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/backend_backend-reads.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "backend_reads_svc_scheduleservice",
"community": 0,
"norm_label": "scheduleservice (server)"
},
{
"label": "gameDetailService (Server)",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/backend_backend-reads.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "backend_reads_svc_gamedetailservice",
"community": 0,
"norm_label": "gamedetailservice (server)"
},
{
"label": "scoreboardService (Server)",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/backend_backend-reads.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "backend_reads_svc_scoreboardservice",
"community": 2,
"norm_label": "scoreboardservice (server)"
},
{
"label": "statsService (Server)",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/backend_backend-reads.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "backend_reads_svc_statsservice",
"community": 1,
"norm_label": "statsservice (server)"
},
{
"label": "predictionService (Server)",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/backend_backend-reads.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "backend_reads_svc_predictionservice",
"community": 8,
"norm_label": "predictionservice (server)"
},
{
"label": "judgmentService (Server)",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/backend_backend-reads.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "backend_reads_svc_judgmentservice",
"community": 1,
"norm_label": "judgmentservice (server)"
},
{
"label": "gameSyncService (Server)",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/backend_backend-reads.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "backend_reads_svc_gamesyncservice",
"community": 0,
"norm_label": "gamesyncservice (server)"
},
{
"label": "userService (Server)",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/backend_backend-reads.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "backend_reads_svc_userservice",
"community": 2,
"norm_label": "userservice (server)"
},
{
"label": "rankSnapshotService (Server)",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/backend_backend-reads.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "backend_reads_svc_ranksnapshotservice",
"community": 2,
"norm_label": "ranksnapshotservice (server)"
},
{
"label": "attendanceService (Server)",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/backend_backend-reads.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "backend_reads_svc_attendanceservice",
"community": 11,
"norm_label": "attendanceservice (server)"
},
{
"label": "kboCacheRepository (Server)",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/backend_backend-reads.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "backend_reads_repo_kbocacherepo",
"community": 0,
"norm_label": "kbocacherepository (server)"
},
{
"label": "kboRepository (Server)",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/backend_backend-reads.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "backend_reads_repo_kborepo",
"community": 0,
"norm_label": "kborepository (server)"
},
{
"label": "scoreboardCacheRepository (Server)",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/backend_backend-reads.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "backend_reads_repo_scoreboardcacherepo",
"community": 15,
"norm_label": "scoreboardcacherepository (server)"
},
{
"label": "voteRepository (Server)",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/backend_backend-reads.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "backend_reads_repo_voterepo",
"community": 8,
"norm_label": "voterepository (server)"
},
{
"label": "gameRepository (Server)",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/backend_backend-reads.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "backend_reads_repo_gamerepo",
"community": 1,
"norm_label": "gamerepository (server)"
},
{
"label": "voteHistoryRepository (Server)",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/backend_backend-reads.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "backend_reads_repo_votehistoryrepo",
"community": 1,
"norm_label": "votehistoryrepository (server)"
},
{
"label": "GET /kbo/games Endpoint",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/backend_backend-reads.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "backend_reads_endpoint_kbo_games",
"community": 8,
"norm_label": "get /kbo/games endpoint"
},
{
"label": "GET /kbo/rank Endpoint",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/backend_backend-reads.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "backend_reads_endpoint_kbo_rank",
"community": 0,
"norm_label": "get /kbo/rank endpoint"
},
{
"label": "GET /kbo/player Endpoint",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/backend_backend-reads.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "backend_reads_endpoint_kbo_player",
"community": 0,
"norm_label": "get /kbo/player endpoint"
},
{
"label": "GET /kbo/schedule Endpoint",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/backend_backend-reads.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "backend_reads_endpoint_kbo_schedule",
"community": 0,
"norm_label": "get /kbo/schedule endpoint"
},
{
"label": "GET /kbo/gameDetail Endpoint",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/backend_backend-reads.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "backend_reads_endpoint_kbo_gamedetail",
"community": 0,
"norm_label": "get /kbo/gamedetail endpoint"
},
{
"label": "GET /prediction/scoreboard Endpoint",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/backend_backend-reads.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "backend_reads_endpoint_scoreboard",
"community": 2,
"norm_label": "get /prediction/scoreboard endpoint"
},
{
"label": "GET /stats Endpoint",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/backend_backend-reads.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "backend_reads_endpoint_stats",
"community": 1,
"norm_label": "get /stats endpoint"
},
{
"label": "GET /prediction/games Endpoint",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/backend_backend-reads.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "backend_reads_endpoint_prediction_games",
"community": 1,
"norm_label": "get /prediction/games endpoint"
},
{
"label": "GET /prediction Endpoint",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/backend_backend-reads.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "backend_reads_endpoint_prediction",
"community": 8,
"norm_label": "get /prediction endpoint"
},
{
"label": "GET /prediction/summary Endpoint",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/backend_backend-reads.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "backend_reads_endpoint_prediction_summary",
"community": 8,
"norm_label": "get /prediction/summary endpoint"
},
{
"label": "kboDailyRefresh Cron (02:00 KST)",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/backend_backend-writes.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "backend_writes_cron_kbodailyrefresh",
"community": 0,
"norm_label": "kbodailyrefresh cron (02:00 kst)"
},
{
"label": "dailyArchive Cron (03:00 KST)",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/backend_backend-writes.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "backend_writes_cron_dailyarchive",
"community": 1,
"norm_label": "dailyarchive cron (03:00 kst)"
},
{
"label": "onGameCompleted Firestore Trigger",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/backend_backend-writes.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "backend_writes_trigger_ongamecompleted",
"community": 1,
"norm_label": "ongamecompleted firestore trigger"
},
{
"label": "gameResultService (Server)",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/backend_backend-writes.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "backend_writes_svc_gameresultservice",
"community": 1,
"norm_label": "gameresultservice (server)"
},
{
"label": "nicknameRepository (Server)",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/backend_backend-writes.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "backend_writes_svc_nicknameservice",
"community": 16,
"norm_label": "nicknamerepository (server)"
},
{
"label": "POST /user Endpoint (createMe)",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/backend_backend-writes.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "backend_writes_endpoint_post_user",
"community": 2,
"norm_label": "post /user endpoint (createme)"
},
{
"label": "PATCH /user Endpoint (updateMe)",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/backend_backend-writes.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "backend_writes_endpoint_patch_user",
"community": 2,
"norm_label": "patch /user endpoint (updateme)"
},
{
"label": "GET /user Endpoint (getMe)",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/backend_backend-writes.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "backend_writes_endpoint_get_user",
"community": 2,
"norm_label": "get /user endpoint (getme)"
},
{
"label": "POST /prediction Endpoint",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/backend_backend-writes.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "backend_writes_endpoint_post_prediction",
"community": 8,
"norm_label": "post /prediction endpoint"
},
{
"label": "PUT /prediction Endpoint",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/backend_backend-writes.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "backend_writes_endpoint_put_prediction",
"community": 8,
"norm_label": "put /prediction endpoint"
},
{
"label": "POST /attendance/check-in Endpoint",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/backend_backend-writes.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "backend_writes_endpoint_post_checkin",
"community": 11,
"norm_label": "post /attendance/check-in endpoint"
},
{
"label": "POST /admin/game/end Endpoint (markGameEnded)",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/backend_backend-writes.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "backend_writes_endpoint_post_admin_gameend",
"community": 1,
"norm_label": "post /admin/game/end endpoint (markgameended)"
},
{
"label": "debug/forceSync Endpoint (unauthenticated)",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/backend_backend-writes.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "backend_writes_endpoint_debug_forcesync",
"community": 0,
"norm_label": "debug/forcesync endpoint (unauthenticated)"
},
{
"label": "Client Firebase Auth",
"file_type": "document",
"source_file": "graphify-out/tmp-corpus/backend_data-lifecycle.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "backend_lifecycle_client_firebaseauth",
"community": 17,
"norm_label": "client firebase auth"
},
{
"label": "Client Remote Config (team_order_by_standing)",
"file_type": "document",
"source_file": "graphify-out/tmp-corpus/backend_data-lifecycle.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "backend_lifecycle_client_remoteconfig",
"community": 18,
"norm_label": "client remote config (team_order_by_standing)"
},
{
"label": "Client FCM / users.fcmTokens Direct Write",
"file_type": "document",
"source_file": "graphify-out/tmp-corpus/backend_data-lifecycle.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "backend_lifecycle_client_fcm",
"community": 2,
"norm_label": "client fcm / users.fcmtokens direct write"
},
{
"label": "Client SWR Cache (swr_cache.dart)",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/backend_data-lifecycle.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "backend_lifecycle_client_swrcache",
"community": 0,
"norm_label": "client swr cache (swr_cache.dart)"
},
{
"label": "Fan-out Write Pattern (stats invalidation)",
"file_type": "document",
"source_file": "graphify-out/tmp-corpus/backend_data-lifecycle.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "backend_lifecycle_concept_fanout",
"community": 1,
"norm_label": "fan-out write pattern (stats invalidation)"
},
{
"label": "Precompute Scoreboard Cache Concept",
"file_type": "document",
"source_file": "graphify-out/tmp-corpus/backend_data-lifecycle.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "backend_lifecycle_concept_precompute",
"community": 2,
"norm_label": "precompute scoreboard cache concept"
},
{
"label": "Distributed Lock (kboLocks TTL 30s)",
"file_type": "document",
"source_file": "graphify-out/tmp-corpus/backend_data-lifecycle.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "backend_lifecycle_concept_distributedlock",
"community": 0,
"norm_label": "distributed lock (kbolocks ttl 30s)"
},
{
"label": "R1: GameDayCache Memoization Fix",
"file_type": "document",
"source_file": "graphify-out/tmp-corpus/backend_improvements-backend-reads.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "backend_improvements_reads_r1_gamedaycache",
"community": 1,
"norm_label": "r1: gamedaycache memoization fix"
},
{
"label": "R4: Cache Stampede Exponential Backoff Fix",
"file_type": "document",
"source_file": "graphify-out/tmp-corpus/backend_improvements-backend-reads.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "backend_improvements_reads_r4_backoff",
"community": 0,
"norm_label": "r4: cache stampede exponential backoff fix"
},
{
"label": "R5: Scoreboard Self-User FieldMask Fix",
"file_type": "document",
"source_file": "graphify-out/tmp-corpus/backend_improvements-backend-reads.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "backend_improvements_reads_r5_fieldmask",
"community": 2,
"norm_label": "r5: scoreboard self-user fieldmask fix"
},
{
"label": "R7: Multi-Year Rank Parallel Fetch Fix",
"file_type": "document",
"source_file": "graphify-out/tmp-corpus/backend_improvements-backend-reads.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "backend_improvements_reads_r7_parallelrank",
"community": 0,
"norm_label": "r7: multi-year rank parallel fetch fix"
},
{
"label": "W1: games syncGamesForMonth getAll+diff Fix",
"file_type": "document",
"source_file": "graphify-out/tmp-corpus/backend_improvements-backend-writes.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "backend_improvements_writes_w1_diff",
"community": 0,
"norm_label": "w1: games syncgamesformonth getall+diff fix"
},
{
"label": "W2: voteHistory Double-Write Consolidation Fix",
"file_type": "document",
"source_file": "graphify-out/tmp-corpus/backend_improvements-backend-writes.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "backend_improvements_writes_w2_votehistory",
"community": 1,
"norm_label": "w2: votehistory double-write consolidation fix"
},
{
"label": "W3: Archive Stats Invalidation Fan-out Dedup Fix",
"file_type": "document",
"source_file": "graphify-out/tmp-corpus/backend_improvements-backend-writes.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "backend_improvements_writes_w3_statsdedup",
"community": 1,
"norm_label": "w3: archive stats invalidation fan-out dedup fix"
},
{
"label": "W4: Rank Snapshot Merged Into Judgment Tx Fix",
"file_type": "document",
"source_file": "graphify-out/tmp-corpus/backend_improvements-backend-writes.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "backend_improvements_writes_w4_ranksnapshot",
"community": 2,
"norm_label": "w4: rank snapshot merged into judgment tx fix"
},
{
"label": "W5+R6: getMe photoUrl Hot-Write Suppression Fix",
"file_type": "document",
"source_file": "graphify-out/tmp-corpus/backend_improvements-backend-writes.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "backend_improvements_writes_w5r6_photourl",
"community": 2,
"norm_label": "w5+r6: getme photourl hot-write suppression fix"
},
{
"label": "W6: game_detail Cache Bulk Invalidation Stopped",
"file_type": "document",
"source_file": "graphify-out/tmp-corpus/backend_improvements-backend-writes.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "backend_improvements_writes_w6_gamedetailttl",
"community": 0,
"norm_label": "w6: game_detail cache bulk invalidation stopped"
},
{
"label": "W1: Games Sync Diff Optimization",
"file_type": "document",
"source_file": "graphify-out/tmp-corpus/backend_optimization-plan.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "opt_W1",
"community": 4,
"norm_label": "w1: games sync diff optimization"
},
{
"label": "W2: voteHistory Double Write Consolidation",
"file_type": "document",
"source_file": "graphify-out/tmp-corpus/backend_optimization-plan.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "opt_W2",
"community": 9,
"norm_label": "w2: votehistory double write consolidation"
},
{
"label": "W3: Stats Invalidation Fan-out Per User",
"file_type": "document",
"source_file": "graphify-out/tmp-corpus/backend_optimization-plan.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "opt_W3",
"community": 9,
"norm_label": "w3: stats invalidation fan-out per user"
},
{
"label": "W4: Users Cron Write Deduplication",
"file_type": "document",
"source_file": "graphify-out/tmp-corpus/backend_optimization-plan.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "opt_W4",
"community": 19,
"norm_label": "w4: users cron write deduplication"
},
{
"label": "W5: getMe photoUrl Write Conservative",
"file_type": "document",
"source_file": "graphify-out/tmp-corpus/backend_optimization-plan.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "opt_W5",
"community": 20,
"norm_label": "w5: getme photourl write conservative"
},
{
"label": "W6: kboCache game_detail TTL Natural Expiry",
"file_type": "document",
"source_file": "graphify-out/tmp-corpus/backend_optimization-plan.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "opt_W6",
"community": 4,
"norm_label": "w6: kbocache game_detail ttl natural expiry"
},
{
"label": "R1: dailyArchive listByDate Sharing",
"file_type": "document",
"source_file": "graphify-out/tmp-corpus/backend_optimization-plan.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "opt_R1",
"community": 4,
"norm_label": "r1: dailyarchive listbydate sharing"
},
{
"label": "R2: getStats Incremental Aggregation",
"file_type": "document",
"source_file": "graphify-out/tmp-corpus/backend_optimization-plan.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "opt_R2",
"community": 9,
"norm_label": "r2: getstats incremental aggregation"
},
{
"label": "R3: dailyArchive userVotes Shallow Read",
"file_type": "document",
"source_file": "graphify-out/tmp-corpus/backend_optimization-plan.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "opt_R3",
"community": 4,
"norm_label": "r3: dailyarchive uservotes shallow read"
},
{
"label": "R4: Cache Stampede Polling Backoff",
"file_type": "document",
"source_file": "graphify-out/tmp-corpus/backend_optimization-plan.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "opt_R4",
"community": 14,
"norm_label": "r4: cache stampede polling backoff"
},
{
"label": "R5: Scoreboard getUser Select + Rank Cache",
"file_type": "document",
"source_file": "graphify-out/tmp-corpus/backend_optimization-plan.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "opt_R5",
"community": 21,
"norm_label": "r5: scoreboard getuser select + rank cache"
},
{
"label": "R6: createMe/updateMe Remove Secondary getUser",
"file_type": "document",
"source_file": "graphify-out/tmp-corpus/backend_optimization-plan.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "opt_R6",
"community": 22,
"norm_label": "r6: createme/updateme remove secondary getuser"
},
{
"label": "R7: Rank Multi-year getOrFetch Parallelization",
"file_type": "document",
"source_file": "graphify-out/tmp-corpus/backend_optimization-plan.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "opt_R7",
"community": 23,
"norm_label": "r7: rank multi-year getorfetch parallelization"
},
{
"label": "C1: voteSummary Polling to RTDB Subscription",
"file_type": "document",
"source_file": "graphify-out/tmp-corpus/backend_optimization-plan.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "opt_C1",
"community": 7,
"norm_label": "c1: votesummary polling to rtdb subscription"
},
{
"label": "C2: rank/h2h Duplicate Call Removal",
"file_type": "document",
"source_file": "graphify-out/tmp-corpus/backend_optimization-plan.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "opt_C2",
"community": 5,
"norm_label": "c2: rank/h2h duplicate call removal"
},
{
"label": "C3: pitchers/acePitcher Duplicate Call Removal",
"file_type": "document",
"source_file": "graphify-out/tmp-corpus/backend_optimization-plan.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "opt_C3",
"community": 5,
"norm_label": "c3: pitchers/acepitcher duplicate call removal"
},
{
"label": "C4: Uncached autoDispose Providers SWR/keepAlive",
"file_type": "document",
"source_file": "graphify-out/tmp-corpus/backend_optimization-plan.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "opt_C4",
"community": 3,
"norm_label": "c4: uncached autodispose providers swr/keepalive"
},
{
"label": "Panit Data Pattern Documentation Overview",
"file_type": "document",
"source_file": "graphify-out/tmp-corpus/backend_README.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "readme_overview",
"community": 4,
"norm_label": "panit data pattern documentation overview"
},
{
"label": "Cost Summary: Top Write/Read/Client Costs",
"file_type": "document",
"source_file": "graphify-out/tmp-corpus/backend_README.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "readme_cost_summary",
"community": 4,
"norm_label": "cost summary: top write/read/client costs"
},
{
"label": "Firestore Composite Indexes (No Gaps)",
"file_type": "document",
"source_file": "graphify-out/tmp-corpus/backend_README.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "readme_index_ok",
"community": 4,
"norm_label": "firestore composite indexes (no gaps)"
},
{
"label": "dioProvider \u2014 Single HTTP Gateway (keepAlive)",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": "lib/features/prediction/data/api_client.dart:7",
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "client_dio_provider",
"community": 12,
"norm_label": "dioprovider \u2014 single http gateway (keepalive)"
},
{
"label": "Cloud Functions Base URL (asia-northeast3-mmday-panit)",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "client_api_base",
"community": 12,
"norm_label": "cloud functions base url (asia-northeast3-mmday-panit)"
},
{
"label": "GameRepository (keepAlive)",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": "lib/features/prediction/data/game_repository.dart:11",
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "client_game_repo",
"community": 6,
"norm_label": "gamerepository (keepalive)"
},
{
"label": "UserRepository (keepAlive)",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": "lib/features/prediction/data/user_repository.dart:11",
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "client_user_repo",
"community": 3,
"norm_label": "userrepository (keepalive)"
},
{
"label": "PredictionRepository (keepAlive)",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": "lib/features/prediction/data/prediction_repository.dart:9",
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "client_prediction_repo",
"community": 7,
"norm_label": "predictionrepository (keepalive)"
},
{
"label": "TeamRecordRepository (keepAlive)",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": "lib/features/prediction/data/team_record_repository.dart:9",
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "client_team_record_repo",
"community": 5,
"norm_label": "teamrecordrepository (keepalive)"
},
{
"label": "PlayerRepository (keepAlive)",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": "lib/features/prediction/data/player_repository.dart:10",
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "client_player_repo",
"community": 5,
"norm_label": "playerrepository (keepalive)"
},
{
"label": "GameDetailRepository (keepAlive)",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": "lib/features/game_detail/data/game_detail_repository.dart:8",
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "client_game_detail_repo",
"community": 6,
"norm_label": "gamedetailrepository (keepalive)"
},
{
"label": "ScoreboardRepository (keepAlive)",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": "lib/features/scoreboard/data/scoreboard_repository.dart:12",
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "client_scoreboard_repo",
"community": 3,
"norm_label": "scoreboardrepository (keepalive)"
},
{
"label": "AttendanceRepository (keepAlive)",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": "lib/features/attendance/data/attendance_repository.dart:10",
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "client_attendance_repo",
"community": 10,
"norm_label": "attendancerepository (keepalive)"
},
{
"label": "NoticeRepository (keepAlive, mock TODO)",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": "lib/features/mypage/data/notice_repository.dart:6",
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "client_notice_repo",
"community": 24,
"norm_label": "noticerepository (keepalive, mock todo)"
},
{
"label": "CF Endpoint: GET /kbo/schedule",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": "lib/features/prediction/data/game_repository.dart:25",
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "client_ep_schedule",
"community": 6,
"norm_label": "cf endpoint: get /kbo/schedule"
},
{
"label": "CF Endpoint: GET /kbo/rank",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": "lib/features/prediction/data/team_record_repository.dart:20",
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "client_ep_rank",
"community": 5,
"norm_label": "cf endpoint: get /kbo/rank"
},
{
"label": "CF Endpoint: GET /kbo/player",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": "lib/features/prediction/data/player_repository.dart:31",
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "client_ep_player",
"community": 5,
"norm_label": "cf endpoint: get /kbo/player"
},
{
"label": "CF Endpoint: GET /kbo/gameDetail",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": "lib/features/game_detail/data/game_detail_repository.dart:23",
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "client_ep_game_detail",
"community": 6,
"norm_label": "cf endpoint: get /kbo/gamedetail"
},
{
"label": "CF Endpoint: GET /user",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": "lib/features/prediction/data/user_repository.dart:24",
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "client_ep_get_user",
"community": 3,
"norm_label": "cf endpoint: get /user"
},
{
"label": "CF Endpoint: GET /user/check-nickname",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": "lib/features/prediction/data/user_repository.dart:48",
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "client_ep_check_nickname",
"community": 3,
"norm_label": "cf endpoint: get /user/check-nickname"
},
{
"label": "CF Endpoint: POST /user (onboarding)",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": "lib/features/prediction/data/user_repository.dart:64",
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "client_ep_post_user",
"community": 3,
"norm_label": "cf endpoint: post /user (onboarding)"
},
{
"label": "CF Endpoint: PATCH /user (profile update)",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": "lib/features/prediction/data/user_repository.dart:82",
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "client_ep_patch_user",
"community": 3,
"norm_label": "cf endpoint: patch /user (profile update)"
},
{
"label": "CF Endpoint: DELETE /user",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": "lib/features/prediction/data/user_repository.dart:101",
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "client_ep_delete_user",
"community": 3,
"norm_label": "cf endpoint: delete /user"
},
{
"label": "CF Endpoint: GET /stats",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": "lib/features/prediction/data/user_repository.dart:108",
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "client_ep_stats",
"community": 3,
"norm_label": "cf endpoint: get /stats"
},
{
"label": "CF Endpoint: GET /stats/history",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": "lib/features/prediction/data/user_repository.dart:130",
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "client_ep_stats_history",
"community": 3,
"norm_label": "cf endpoint: get /stats/history"
},
{
"label": "CF Endpoint: POST /prediction",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": "lib/features/prediction/data/prediction_repository.dart:22",
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "client_ep_post_prediction",
"community": 7,
"norm_label": "cf endpoint: post /prediction"
},
{
"label": "CF Endpoint: PUT /prediction",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": "lib/features/prediction/data/prediction_repository.dart:32",
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "client_ep_put_prediction",
"community": 7,
"norm_label": "cf endpoint: put /prediction"
},
{
"label": "CF Endpoint: GET /prediction (by date)",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": "lib/features/prediction/data/prediction_repository.dart:41",
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "client_ep_get_prediction",
"community": 7,
"norm_label": "cf endpoint: get /prediction (by date)"
},
{
"label": "CF Endpoint: GET /prediction/summary (10s polling)",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": "lib/features/prediction/data/prediction_repository.dart:58",
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "client_ep_vote_summary",
"community": 7,
"norm_label": "cf endpoint: get /prediction/summary (10s polling)"
},
{
"label": "CF Endpoint: GET /prediction/scoreboard",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": "lib/features/scoreboard/data/scoreboard_repository.dart:39",
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "client_ep_scoreboard",
"community": 3,
"norm_label": "cf endpoint: get /prediction/scoreboard"
},
{
"label": "CF Endpoint: GET /attendance/month",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": "lib/features/attendance/data/attendance_repository.dart:26",
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "client_ep_attendance_month",
"community": 10,
"norm_label": "cf endpoint: get /attendance/month"
},
{
"label": "CF Endpoint: POST /attendance/check-in",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": "lib/features/attendance/data/attendance_repository.dart:52",
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "client_ep_checkin",
"community": 10,
"norm_label": "cf endpoint: post /attendance/check-in"
},
{
"label": "CF Endpoint: PATCH /users/me/notifications",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": "lib/features/attendance/data/attendance_repository.dart:76",
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "client_ep_notifications",
"community": 10,
"norm_label": "cf endpoint: patch /users/me/notifications"
},
{
"label": "AuthRepository (Google/Apple signIn)",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": "lib/features/prediction/data/auth_repository.dart",
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "client_auth_repo",
"community": 25,
"norm_label": "authrepository (google/apple signin)"
},
{
"label": "authStateChangesProvider (Live Stream, keepAlive)",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "client_auth_state_provider",
"community": 26,
"norm_label": "authstatechangesprovider (live stream, keepalive)"
},
{
"label": "Remote Config Service (team_order_by_standing)",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": "lib/core/services/remote_config_service.dart",
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "client_remote_config",
"community": 27,
"norm_label": "remote config service (team_order_by_standing)"
},
{
"label": "FCM Service (token write to Firestore)",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": "lib/core/services/fcm_service.dart:40,58",
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "client_fcm_service",
"community": 13,
"norm_label": "fcm service (token write to firestore)"
},
{
"label": "Firestore: users/{uid}.fcmTokens (direct write)",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "fs_users_fcm_tokens",
"community": 13,
"norm_label": "firestore: users/{uid}.fcmtokens (direct write)"
},
{
"label": "SWR Cache (SharedPreferences + in-memory, no TTL)",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": "lib/core/cache/swr_cache.dart",
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "client_swr_cache",
"community": 6,
"norm_label": "swr cache (sharedpreferences + in-memory, no ttl)"
},
{
"label": "ScheduleCache (monthly_schedule namespace)",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "client_schedule_cache",
"community": 6,
"norm_label": "schedulecache (monthly_schedule namespace)"
},
{
"label": "GameDetailCache (game_detail namespace)",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "client_game_detail_cache",
"community": 6,
"norm_label": "gamedetailcache (game_detail namespace)"
},
{
"label": "DayRecordCache (day_prediction_record, skip if settled)",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "client_day_record_cache",
"community": 6,
"norm_label": "dayrecordcache (day_prediction_record, skip if settled)"
},
{
"label": "GameRecordDatesCache (game_record_dates namespace)",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "client_game_record_dates_cache",
"community": 6,
"norm_label": "gamerecorddatescache (game_record_dates namespace)"
},
{
"label": "monthlySchedule Provider (keepAlive + SWR)",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "client_provider_monthly_schedule",
"community": 6,
"norm_label": "monthlyschedule provider (keepalive + swr)"
},
{
"label": "gameDetail Provider (keepAlive + SWR)",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "client_provider_game_detail",
"community": 6,
"norm_label": "gamedetail provider (keepalive + swr)"
},
{
"label": "voteSummary Provider (StreamProvider 10s poll)",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": "lib/features/prediction/presentation/providers/prediction_providers.dart:31",
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "client_provider_vote_summary",
"community": 7,
"norm_label": "votesummary provider (streamprovider 10s poll)"
},
{
"label": "currentUser Provider (autoDispose, no cache)",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "client_provider_current_user",
"community": 3,
"norm_label": "currentuser provider (autodispose, no cache)"
},
{
"label": "rank Provider (autoDispose, no cache)",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "client_provider_rank",
"community": 5,
"norm_label": "rank provider (autodispose, no cache)"
},
{
"label": "h2h Provider (autoDispose, no cache, duplicates rank call)",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "client_provider_h2h",
"community": 5,
"norm_label": "h2h provider (autodispose, no cache, duplicates rank call)"
},
{
"label": "pitchers Provider (autoDispose, no cache)",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "client_provider_pitchers",
"community": 5,
"norm_label": "pitchers provider (autodispose, no cache)"
},
{
"label": "acePitcher Provider (autoDispose, duplicate player call)",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "client_provider_ace_pitcher",
"community": 5,
"norm_label": "acepitcher provider (autodispose, duplicate player call)"
},
{
"label": "scoreboard Provider (autoDispose, no cache)",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "client_provider_scoreboard",
"community": 3,
"norm_label": "scoreboard provider (autodispose, no cache)"
},
{
"label": "userStats Provider (autoDispose, no cache)",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "client_provider_user_stats",
"community": 3,
"norm_label": "userstats provider (autodispose, no cache)"
},
{
"label": "DayPredictionRecord Provider (autoDispose + SWR skip if settled)",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "client_provider_day_prediction_record",
"community": 6,
"norm_label": "daypredictionrecord provider (autodispose + swr skip if settled)"
},
{
"label": "GameRecordDates Provider (keepAlive + SWR)",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "client_provider_game_record_dates",
"community": 6,
"norm_label": "gamerecorddates provider (keepalive + swr)"
},
{
"label": "PredictionAction Notifier (keepAlive)",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "client_provider_prediction_action",
"community": 7,
"norm_label": "predictionaction notifier (keepalive)"
},
{
"label": "CheckInController Notifier (autoDispose)",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "client_provider_checkin_controller",
"community": 10,
"norm_label": "checkincontroller notifier (autodispose)"
},
{
"label": "splash_page.dart (duplicate GET /user on start)",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": "lib/features/splash/presentation/pages/splash_page.dart:45",
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "client_splash_page",
"community": 3,
"norm_label": "splash_page.dart (duplicate get /user on start)"
},
{
"label": "RTDB: voteAggregates/{gameId} (public read)",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/client_improvements-client.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "rtdb_vote_aggregates",
"community": 7,
"norm_label": "rtdb: voteaggregates/{gameid} (public read)"
},
{
"label": "VoteRepository After C1 (RTDB onValue subscription)",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/client_improvements-client.md",
"source_location": "lib/features/prediction/data/vote_repository.dart",
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "client_vote_repo_after",
"community": 7,
"norm_label": "voterepository after c1 (rtdb onvalue subscription)"
},
{
"label": "standings Provider After C2 (single source)",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/client_improvements-client.md",
"source_location": "lib/features/prediction/application/standings_provider.dart",
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "client_standings_provider_after",
"community": 5,
"norm_label": "standings provider after c2 (single source)"
},
{
"label": "headToHead Provider After C2 (watches standings)",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/client_improvements-client.md",
"source_location": "lib/features/prediction/application/h2h_provider.dart",
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "client_h2h_provider_after",
"community": 5,
"norm_label": "headtohead provider after c2 (watches standings)"
},
{
"label": "acePitcher Provider After C3 (derived from pitchers)",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/client_improvements-client.md",
"source_location": "lib/features/prediction/application/ace_pitcher_provider.dart",
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "client_ace_pitcher_after",
"community": 5,
"norm_label": "acepitcher provider after c3 (derived from pitchers)"
},
{
"label": "currentUser Provider After C4 (keepAlive)",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/client_improvements-client.md",
"source_location": "lib/features/auth/application/current_user_provider.dart",
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "client_current_user_after",
"community": 3,
"norm_label": "currentuser provider after c4 (keepalive)"
},
{
"label": "Client Improvements Summary (C1-C4 Applied)",
"file_type": "document",
"source_file": "graphify-out/tmp-corpus/client_improvements-client.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "client_improvements_summary",
"community": 5,
"norm_label": "client improvements summary (c1-c4 applied)"
},
{
"label": "debugHandlers.ts (Unauthenticated forceSync/dailyArchive)",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/backend_optimization-plan.md",
"source_location": "debugHandlers.ts",
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "backend_debug_handlers",
"community": 4,
"norm_label": "debughandlers.ts (unauthenticated forcesync/dailyarchive)"
},
{
"label": "syncGamesForMonth (gameSyncService.ts:63)",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/backend_optimization-plan.md",
"source_location": "gameSyncService.ts:63",
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "backend_sync_games_service",
"community": 4,
"norm_label": "syncgamesformonth (gamesyncservice.ts:63)"
},
{
"label": "dailyArchive.ts (setDay + judgeDay)",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/backend_optimization-plan.md",
"source_location": "dailyArchive.ts",
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "backend_daily_archive",
"community": 4,
"norm_label": "dailyarchive.ts (setday + judgeday)"
},
{
"label": "judgeDay (judgmentService.ts:94)",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/backend_optimization-plan.md",
"source_location": "judgmentService.ts:94",
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "backend_judge_day",
"community": 9,
"norm_label": "judgeday (judgmentservice.ts:94)"
},
{
"label": "invalidateStats (/cache/stats/{uid} delete)",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/backend_optimization-plan.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "backend_invalidate_stats",
"community": 9,
"norm_label": "invalidatestats (/cache/stats/{uid} delete)"
},
{
"label": "gameResultService.ts:42 (stats fan-out on game complete)",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/backend_optimization-plan.md",
"source_location": "gameResultService.ts:42",
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "backend_game_result_service",
"community": 9,
"norm_label": "gameresultservice.ts:42 (stats fan-out on game complete)"
},
{
"label": "onGameCompleted.ts:59 (Firestore trigger)",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/backend_optimization-plan.md",
"source_location": "onGameCompleted.ts:59",
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "backend_on_game_completed",
"community": 9,
"norm_label": "ongamecompleted.ts:59 (firestore trigger)"
},
{
"label": "Firestore: games collection",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/backend_optimization-plan.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "fs_games",
"community": 4,
"norm_label": "firestore: games collection"
},
{
"label": "Firestore: voteHistory collection",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/backend_optimization-plan.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "fs_vote_history",
"community": 9,
"norm_label": "firestore: votehistory collection"
},
{
"label": "Firestore: dailyArchive collection",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/backend_optimization-plan.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "fs_daily_archive",
"community": 4,
"norm_label": "firestore: dailyarchive collection"
},
{
"label": "Firestore/Cache: /cache/stats/{uid}",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/backend_optimization-plan.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "fs_cache_stats",
"community": 9,
"norm_label": "firestore/cache: /cache/stats/{uid}"
},
{
"label": "RTDB: /userVotes (full tree, all users/dates)",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/backend_optimization-plan.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "rtdb_user_votes",
"community": 4,
"norm_label": "rtdb: /uservotes (full tree, all users/dates)"
},
{
"label": "RTDB: votes/{gameId}/counts (public read)",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/backend_optimization-plan.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "rtdb_votes_gameId",
"community": 7,
"norm_label": "rtdb: votes/{gameid}/counts (public read)"
},
{
"label": "Firestore/Cache: kboCache (game_detail__ TTL)",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/backend_optimization-plan.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "fs_kbo_cache",
"community": 4,
"norm_label": "firestore/cache: kbocache (game_detail__ ttl)"
},
{
"label": "CF: /stats (getStats Cloud Function)",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/backend_optimization-plan.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "backend_get_stats_cf",
"community": 9,
"norm_label": "cf: /stats (getstats cloud function)"
},
{
"label": "waitForCache / getOrFetchDynamic (polling lock)",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/backend_optimization-plan.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "backend_wait_for_cache",
"community": 14,
"norm_label": "waitforcache / getorfetchdynamic (polling lock)"
},
{
"label": "Cron Job: 02:00 daily (syncGamesForMonth + kboCache invalidation)",
"file_type": "code",
"source_file": "graphify-out/tmp-corpus/backend_optimization-plan.md",
"source_location": null,
"source_url": null,
"captured_at": null,
"author": null,
"contributor": null,
"id": "backend_cron_0200",
"community": 4,
"norm_label": "cron job: 02:00 daily (syncgamesformonth + kbocache invalidation)"
}
],
"links": [
{
"relation": "reads_from",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_backend-reads.md",
"source_location": "scoreboardService.ts:54",
"weight": 1.0,
"source": "backend_reads_svc_scoreboardservice",
"target": "backend_reads_firestore_users"
},
{
"relation": "writes_to",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_backend-writes.md",
"source_location": "rankSnapshotService.ts:26-54",
"weight": 1.0,
"source": "backend_reads_svc_ranksnapshotservice",
"target": "backend_reads_firestore_users"
},
{
"relation": "writes_to",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_backend-writes.md",
"source_location": "userRepository.ts:182-254",
"weight": 1.0,
"source": "backend_writes_cron_dailyarchive",
"target": "backend_reads_firestore_users"
},
{
"relation": "writes_to",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_backend-writes.md",
"source_location": "userRepository.ts:128-139",
"weight": 1.0,
"source": "backend_reads_svc_userservice",
"target": "backend_reads_firestore_users"
},
{
"relation": "writes_to",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_data-lifecycle.md",
"source_location": "fcm_service.dart:40,58",
"weight": 1.0,
"source": "backend_lifecycle_client_fcm",
"target": "backend_reads_firestore_users"
},
{
"relation": "reads_from",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_backend-reads.md",
"source_location": "voteHistoryRepository.ts:53",
"weight": 1.0,
"source": "backend_reads_repo_votehistoryrepo",
"target": "backend_reads_firestore_votehistory"
},
{
"relation": "writes_to",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_backend-writes.md",
"source_location": "dailyArchive.ts:130",
"weight": 1.0,
"source": "backend_writes_cron_dailyarchive",
"target": "backend_reads_firestore_votehistory"
},
{
"relation": "rationale_for",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_improvements-backend-writes.md",
"source_location": "commit 48a8f16",
"weight": 1.0,
"source": "backend_improvements_writes_w2_votehistory",
"target": "backend_reads_firestore_votehistory"
},
{
"relation": "reads_from",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_backend-reads.md",
"source_location": "attendanceService.ts checkIn transaction",
"weight": 1.0,
"source": "backend_reads_svc_attendanceservice",
"target": "backend_reads_firestore_attendance"
},
{
"relation": "reads_from",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_backend-reads.md",
"source_location": "pointLedger[createdAt DESC,seq DESC]",
"weight": 1.0,
"source": "backend_reads_svc_attendanceservice",
"target": "backend_reads_firestore_pointledger"
},
{
"relation": "reads_from",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_backend-reads.md",
"source_location": "gameRepository.listByDate:27-37",
"weight": 1.0,
"source": "backend_reads_repo_gamerepo",
"target": "backend_reads_firestore_games"
},
{
"relation": "reads_from",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_backend-reads.md",
"source_location": "judgmentService.ts:27-41",
"weight": 1.0,
"source": "backend_reads_svc_judgmentservice",
"target": "backend_reads_firestore_games"
},
{
"relation": "writes_to",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_backend-writes.md",
"source_location": "gameSyncService.ts:63-77",
"weight": 1.0,
"source": "backend_reads_svc_gamesyncservice",
"target": "backend_reads_firestore_games"
},
{
"relation": "writes_to",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_backend-writes.md",
"source_location": "gameResultService.ts:48-64",
"weight": 1.0,
"source": "backend_writes_endpoint_post_admin_gameend",
"target": "backend_reads_firestore_games"
},
{
"relation": "triggers",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_backend-writes.md",
"source_location": "index.ts onDocumentUpdated games/{gameId}",
"weight": 1.0,
"source": "backend_reads_firestore_games",
"target": "backend_writes_trigger_ongamecompleted"
},
{
"relation": "reads_from",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_backend-reads.md",
"source_location": "kboRepository.ts:47,32",
"weight": 1.0,
"source": "backend_reads_repo_kborepo",
"target": "backend_reads_firestore_kbocache"
},
{
"relation": "writes_to",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_backend-writes.md",
"source_location": "kboCacheRepository.ts:69-80",
"weight": 1.0,
"source": "backend_reads_repo_kbocacherepo",
"target": "backend_reads_firestore_kbocache"
},
{
"relation": "writes_to",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_backend-writes.md",
"source_location": "kboCacheRepository.ts:88-104",
"weight": 1.0,
"source": "backend_reads_repo_kbocacherepo",
"target": "backend_reads_firestore_kbolocks"
},
{
"relation": "conceptually_related_to",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_data-lifecycle.md",
"source_location": null,
"weight": 0.8,
"source": "backend_reads_firestore_kbolocks",
"target": "backend_lifecycle_concept_distributedlock"
},
{
"relation": "reads_from",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_backend-reads.md",
"source_location": "voteRepository.getCounts:23",
"weight": 1.0,
"source": "backend_reads_svc_predictionservice",
"target": "backend_reads_rtdb_votes"
},
{
"relation": "reads_from",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_backend-writes.md",
"source_location": "gameResultService.ts:25",
"weight": 1.0,
"source": "backend_writes_svc_gameresultservice",
"target": "backend_reads_rtdb_votes"
},
{
"relation": "writes_to",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_backend-writes.md",
"source_location": "voteRepository.ts:66-68",
"weight": 1.0,
"source": "backend_reads_repo_voterepo",
"target": "backend_reads_rtdb_votes"
},
{
"relation": "reads_from",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_backend-reads.md",
"source_location": "statsService.ts:200",
"weight": 1.0,
"source": "backend_reads_svc_statsservice",
"target": "backend_reads_rtdb_uservotes"
},
{
"relation": "writes_to",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_backend-writes.md",
"source_location": "voteRepository.ts:67-68",
"weight": 1.0,
"source": "backend_reads_repo_voterepo",
"target": "backend_reads_rtdb_uservotes"
},
{
"relation": "reads_from",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_backend-reads.md",
"source_location": "dailyArchive.ts:96",
"weight": 1.0,
"source": "backend_writes_cron_dailyarchive",
"target": "backend_reads_rtdb_uservotes"
},
{
"relation": "writes_to",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_backend-writes.md",
"source_location": "gameResultService.ts:33-34",
"weight": 1.0,
"source": "backend_writes_svc_gameresultservice",
"target": "backend_reads_rtdb_uservotes"
},
{
"relation": "writes_to",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_backend-reads.md",
"source_location": "statsService.ts:262",
"weight": 1.0,
"source": "backend_reads_svc_statsservice",
"target": "backend_reads_rtdb_cachestats"
},
{
"relation": "invalidates",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_backend-writes.md",
"source_location": "gameResultService.ts:42",
"weight": 1.0,
"source": "backend_writes_svc_gameresultservice",
"target": "backend_reads_rtdb_cachestats"
},
{
"relation": "rationale_for",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_improvements-backend-writes.md",
"source_location": "commit 9a59755",
"weight": 1.0,
"source": "backend_improvements_writes_w3_statsdedup",
"target": "backend_reads_rtdb_cachestats"
},
{
"relation": "invalidates",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_backend-writes.md",
"source_location": "onGameCompleted.ts:59-61",
"weight": 1.0,
"source": "backend_writes_trigger_ongamecompleted",
"target": "backend_reads_rtdb_cachestats"
},
{
"relation": "invalidates",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_backend-writes.md",
"source_location": "dailyArchive.ts reconcile",
"weight": 1.0,
"source": "backend_writes_cron_dailyarchive",
"target": "backend_reads_rtdb_cachestats"
},
{
"relation": "reads_from",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_backend-reads.md",
"source_location": "scoreboardService.ts:63-67",
"weight": 1.0,
"source": "backend_reads_svc_scoreboardservice",
"target": "backend_reads_rtdb_scoreboardcache"
},
{
"relation": "writes_to",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_backend-reads.md",
"source_location": "rankSnapshotService.ts:128-148",
"weight": 1.0,
"source": "backend_reads_svc_ranksnapshotservice",
"target": "backend_reads_rtdb_scoreboardcache"
},
{
"relation": "conceptually_related_to",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_data-lifecycle.md",
"source_location": null,
"weight": 0.8,
"source": "backend_reads_rtdb_scoreboardcache",
"target": "backend_lifecycle_concept_precompute"
},
{
"relation": "writes_to",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_backend-writes.md",
"source_location": "nicknameRepository.ts:82-90",
"weight": 1.0,
"source": "backend_reads_svc_userservice",
"target": "backend_reads_rtdb_nicknames"
},
{
"relation": "writes_to",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_backend-writes.md",
"source_location": "nicknameRepository.ts:19-57",
"weight": 1.0,
"source": "backend_reads_svc_userservice",
"target": "backend_reads_rtdb_usernicknames"
},
{
"relation": "reads_from",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_backend-reads.md",
"source_location": "game-list.ts:240",
"weight": 1.0,
"source": "backend_reads_svc_gamelistservice",
"target": "backend_reads_external_kbo"
},
{
"relation": "reads_from",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_backend-reads.md",
"source_location": "kboRepository.ts:46",
"weight": 1.0,
"source": "backend_reads_repo_kborepo",
"target": "backend_reads_external_kbo"
},
{
"relation": "reads_from",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_backend-reads.md",
"source_location": "gameDetailService.ts:29-49",
"weight": 1.0,
"source": "backend_reads_svc_gamedetailservice",
"target": "backend_reads_external_kbo"
},
{
"relation": "reads_from",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_backend-writes.md",
"source_location": "gameSyncService.ts:129",
"weight": 1.0,
"source": "backend_reads_svc_gamesyncservice",
"target": "backend_reads_external_kbo"
},
{
"relation": "caches",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_backend-reads.md",
"source_location": "gameListService.ts:22,39",
"weight": 1.0,
"source": "backend_reads_svc_gamelistservice",
"target": "backend_reads_memcache"
},
{
"relation": "caches",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_backend-reads.md",
"source_location": "scoreboardService.ts:63-67",
"weight": 1.0,
"source": "backend_reads_svc_scoreboardservice",
"target": "backend_reads_memcache"
},
{
"relation": "caches",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_backend-reads.md",
"source_location": "predictionService.ts:16",
"weight": 1.0,
"source": "backend_reads_svc_predictionservice",
"target": "backend_reads_memcache"
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_backend-reads.md",
"source_location": "game-list.ts:240",
"weight": 1.0,
"source": "backend_reads_endpoint_kbo_games",
"target": "backend_reads_svc_gamelistservice"
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_backend-reads.md",
"source_location": "kboRepository.ts:42",
"weight": 1.0,
"source": "backend_reads_endpoint_kbo_rank",
"target": "backend_reads_svc_rankservice"
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_backend-reads.md",
"source_location": "kboRepository.ts:42",
"weight": 1.0,
"source": "backend_reads_svc_rankservice",
"target": "backend_reads_repo_kborepo"
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_backend-reads.md",
"source_location": "kboRepository.ts:457-462",
"weight": 1.0,
"source": "backend_reads_endpoint_kbo_player",
"target": "backend_reads_svc_playerservice"
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_backend-reads.md",
"source_location": "kboRepository.ts:446",
"weight": 1.0,
"source": "backend_reads_svc_playerservice",
"target": "backend_reads_repo_kborepo"
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_backend-reads.md",
"source_location": "kboRepository.ts:86-92",
"weight": 1.0,
"source": "backend_reads_endpoint_kbo_schedule",
"target": "backend_reads_svc_scheduleservice"
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_backend-reads.md",
"source_location": "kboRepository.ts:282-300",
"weight": 1.0,
"source": "backend_reads_svc_scheduleservice",
"target": "backend_reads_repo_kborepo"
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_backend-reads.md",
"source_location": "gameDetailService.ts:87",
"weight": 1.0,
"source": "backend_reads_endpoint_kbo_gamedetail",
"target": "backend_reads_svc_gamedetailservice"
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_backend-reads.md",
"source_location": "gameDetailService.ts:87",
"weight": 1.0,
"source": "backend_reads_svc_gamedetailservice",
"target": "backend_reads_repo_kbocacherepo"
},
{
"relation": "rationale_for",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_improvements-backend-writes.md",
"source_location": "commit 50349e6",
"weight": 1.0,
"source": "backend_improvements_writes_w6_gamedetailttl",
"target": "backend_reads_svc_gamedetailservice"
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_backend-reads.md",
"source_location": "scoreboardService.ts:54",
"weight": 1.0,
"source": "backend_reads_endpoint_scoreboard",
"target": "backend_reads_svc_scoreboardservice"
},
{
"relation": "rationale_for",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_improvements-backend-reads.md",
"source_location": "commit 60461c4",
"weight": 1.0,
"source": "backend_improvements_reads_r5_fieldmask",
"target": "backend_reads_svc_scoreboardservice"
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_backend-reads.md",
"source_location": "statsService.ts:255",
"weight": 1.0,
"source": "backend_reads_endpoint_stats",
"target": "backend_reads_svc_statsservice"
},
{
"relation": "reads_from",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_backend-reads.md",
"source_location": "voteHistoryRepository.ts:53",
"weight": 1.0,
"source": "backend_reads_svc_statsservice",
"target": "backend_reads_repo_votehistoryrepo"
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_backend-reads.md",
"source_location": "predictionService.ts:16,112",
"weight": 1.0,
"source": "backend_reads_endpoint_prediction_summary",
"target": "backend_reads_svc_predictionservice"
},
{
"relation": "triggers",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_backend-reads.md",
"source_location": "dailyArchive.ts:87-168",
"weight": 1.0,
"source": "backend_writes_cron_dailyarchive",
"target": "backend_reads_svc_judgmentservice"
},
{
"relation": "triggers",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_backend-writes.md",
"source_location": "gameSyncService.ts:63-77",
"weight": 1.0,
"source": "backend_writes_cron_kbodailyrefresh",
"target": "backend_reads_svc_gamesyncservice"
},
{
"relation": "rationale_for",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_improvements-backend-writes.md",
"source_location": "commit b17ac4c",
"weight": 1.0,
"source": "backend_improvements_writes_w1_diff",
"target": "backend_reads_svc_gamesyncservice"
},
{
"relation": "triggers",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_backend-writes.md",
"source_location": "gameSyncService.ts forceSyncDay",
"weight": 1.0,
"source": "backend_writes_endpoint_debug_forcesync",
"target": "backend_reads_svc_gamesyncservice"
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_backend-writes.md",
"source_location": "userService.ts:120",
"weight": 1.0,
"source": "backend_writes_endpoint_post_user",
"target": "backend_reads_svc_userservice"
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_backend-writes.md",
"source_location": "userService.ts:269",
"weight": 1.0,
"source": "backend_writes_endpoint_patch_user",
"target": "backend_reads_svc_userservice"
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_backend-writes.md",
"source_location": "userService.ts:95",
"weight": 1.0,
"source": "backend_writes_endpoint_get_user",
"target": "backend_reads_svc_userservice"
},
{
"relation": "rationale_for",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_improvements-backend-writes.md",
"source_location": "commit 037baab",
"weight": 1.0,
"source": "backend_improvements_writes_w5r6_photourl",
"target": "backend_reads_svc_userservice"
},
{
"relation": "triggers",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_backend-reads.md",
"source_location": "dailyArchive.ts:163",
"weight": 1.0,
"source": "backend_writes_cron_dailyarchive",
"target": "backend_reads_svc_ranksnapshotservice"
},
{
"relation": "rationale_for",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_improvements-backend-writes.md",
"source_location": "commit 4ea1a77",
"weight": 1.0,
"source": "backend_improvements_writes_w4_ranksnapshot",
"target": "backend_reads_svc_ranksnapshotservice"
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_backend-writes.md",
"source_location": "attendanceService.ts:162,243",
"weight": 1.0,
"source": "backend_writes_endpoint_post_checkin",
"target": "backend_reads_svc_attendanceservice"
},
{
"relation": "triggers",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_backend-writes.md",
"source_location": "kboRefresh.ts:16-25",
"weight": 1.0,
"source": "backend_writes_cron_kbodailyrefresh",
"target": "backend_reads_repo_kbocacherepo"
},
{
"relation": "rationale_for",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_improvements-backend-reads.md",
"source_location": "commit 69f31ae",
"weight": 1.0,
"source": "backend_improvements_reads_r4_backoff",
"target": "backend_reads_repo_kbocacherepo"
},
{
"relation": "rationale_for",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_improvements-backend-reads.md",
"source_location": "commit e9ba36c",
"weight": 1.0,
"source": "backend_improvements_reads_r7_parallelrank",
"target": "backend_reads_repo_kborepo"
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_backend-reads.md",
"source_location": "voteRepository.getUserDateVotes:106",
"weight": 1.0,
"source": "backend_reads_endpoint_prediction",
"target": "backend_reads_repo_voterepo"
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_backend-writes.md",
"source_location": "voteRepository.ts:66",
"weight": 1.0,
"source": "backend_writes_endpoint_post_prediction",
"target": "backend_reads_repo_voterepo"
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_backend-writes.md",
"source_location": "voteRepository.ts:92-95",
"weight": 1.0,
"source": "backend_writes_endpoint_put_prediction",
"target": "backend_reads_repo_voterepo"
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_backend-reads.md",
"source_location": "gameRepository.listByDate:27-37",
"weight": 1.0,
"source": "backend_reads_endpoint_prediction_games",
"target": "backend_reads_repo_gamerepo"
},
{
"relation": "rationale_for",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_improvements-backend-reads.md",
"source_location": "src/repositories/gameRepository.ts",
"weight": 1.0,
"source": "backend_improvements_reads_r1_gamedaycache",
"target": "backend_reads_repo_gamerepo"
},
{
"relation": "caches",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_data-lifecycle.md",
"source_location": "swr_cache.dart",
"weight": 1.0,
"source": "backend_lifecycle_client_swrcache",
"target": "backend_reads_endpoint_kbo_schedule"
},
{
"relation": "caches",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_data-lifecycle.md",
"source_location": "swr_cache.dart",
"weight": 1.0,
"source": "backend_lifecycle_client_swrcache",
"target": "backend_reads_endpoint_kbo_gamedetail"
},
{
"relation": "rationale_for",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_improvements-backend-reads.md",
"source_location": "commit 5a498c3",
"weight": 1.0,
"source": "backend_improvements_reads_r1_gamedaycache",
"target": "backend_writes_cron_dailyarchive"
},
{
"relation": "triggers",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_backend-writes.md",
"source_location": "gameResultService.ts:25",
"weight": 1.0,
"source": "backend_writes_trigger_ongamecompleted",
"target": "backend_writes_svc_gameresultservice"
},
{
"relation": "conceptually_related_to",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_data-lifecycle.md",
"source_location": null,
"weight": 0.8,
"source": "backend_writes_svc_gameresultservice",
"target": "backend_lifecycle_concept_fanout"
},
{
"relation": "rationale_for",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_README.md",
"source_location": null,
"weight": 1.0,
"source": "readme_cost_summary",
"target": "opt_W1"
},
{
"relation": "optimized_by",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_optimization-plan.md",
"source_location": null,
"weight": 1.0,
"source": "opt_W1",
"target": "backend_sync_games_service"
},
{
"relation": "optimized_by",
"confidence": "INFERRED",
"confidence_score": 0.95,
"source_file": "graphify-out/tmp-corpus/backend_optimization-plan.md",
"source_location": null,
"weight": 0.9,
"source": "opt_W1",
"target": "fs_games"
},
{
"relation": "optimized_by",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_optimization-plan.md",
"source_location": null,
"weight": 1.0,
"source": "opt_W2",
"target": "backend_daily_archive"
},
{
"relation": "optimized_by",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_optimization-plan.md",
"source_location": null,
"weight": 1.0,
"source": "opt_W2",
"target": "backend_judge_day"
},
{
"relation": "optimized_by",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_optimization-plan.md",
"source_location": null,
"weight": 1.0,
"source": "opt_W3",
"target": "backend_invalidate_stats"
},
{
"relation": "optimized_by",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_optimization-plan.md",
"source_location": null,
"weight": 1.0,
"source": "opt_W6",
"target": "fs_kbo_cache"
},
{
"relation": "rationale_for",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_README.md",
"source_location": null,
"weight": 1.0,
"source": "readme_cost_summary",
"target": "opt_R1"
},
{
"relation": "optimized_by",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_optimization-plan.md",
"source_location": null,
"weight": 1.0,
"source": "opt_R1",
"target": "backend_daily_archive"
},
{
"relation": "optimized_by",
"confidence": "INFERRED",
"confidence_score": 0.95,
"source_file": "graphify-out/tmp-corpus/backend_optimization-plan.md",
"source_location": null,
"weight": 0.9,
"source": "opt_R1",
"target": "fs_games"
},
{
"relation": "optimized_by",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_optimization-plan.md",
"source_location": null,
"weight": 1.0,
"source": "opt_R2",
"target": "fs_cache_stats"
},
{
"relation": "optimized_by",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_optimization-plan.md",
"source_location": null,
"weight": 1.0,
"source": "opt_R2",
"target": "fs_vote_history"
},
{
"relation": "optimized_by",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_optimization-plan.md",
"source_location": null,
"weight": 1.0,
"source": "opt_R3",
"target": "rtdb_user_votes"
},
{
"relation": "optimized_by",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_optimization-plan.md",
"source_location": null,
"weight": 1.0,
"source": "opt_R4",
"target": "backend_wait_for_cache"
},
{
"relation": "rationale_for",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_README.md",
"source_location": null,
"weight": 1.0,
"source": "readme_cost_summary",
"target": "opt_C1"
},
{
"relation": "optimized_by",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_optimization-plan.md",
"source_location": null,
"weight": 1.0,
"source": "opt_C1",
"target": "client_provider_vote_summary"
},
{
"relation": "reads_from",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_optimization-plan.md",
"source_location": null,
"weight": 1.0,
"source": "opt_C1",
"target": "rtdb_votes_gameId"
},
{
"relation": "references",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/client_improvements-client.md",
"source_location": null,
"weight": 1.0,
"source": "client_improvements_summary",
"target": "opt_C1"
},
{
"relation": "optimized_by",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/client_improvements-client.md",
"source_location": null,
"weight": 1.0,
"source": "opt_C1",
"target": "client_vote_repo_after"
},
{
"relation": "optimized_by",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_optimization-plan.md",
"source_location": null,
"weight": 1.0,
"source": "opt_C2",
"target": "client_provider_h2h"
},
{
"relation": "references",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/client_improvements-client.md",
"source_location": null,
"weight": 1.0,
"source": "client_improvements_summary",
"target": "opt_C2"
},
{
"relation": "optimized_by",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/client_improvements-client.md",
"source_location": null,
"weight": 1.0,
"source": "opt_C2",
"target": "client_h2h_provider_after"
},
{
"relation": "optimized_by",
"confidence": "INFERRED",
"confidence_score": 0.95,
"source_file": "graphify-out/tmp-corpus/client_improvements-client.md",
"source_location": null,
"weight": 0.9,
"source": "opt_C2",
"target": "client_standings_provider_after"
},
{
"relation": "optimized_by",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_optimization-plan.md",
"source_location": null,
"weight": 1.0,
"source": "opt_C3",
"target": "client_provider_ace_pitcher"
},
{
"relation": "references",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/client_improvements-client.md",
"source_location": null,
"weight": 1.0,
"source": "client_improvements_summary",
"target": "opt_C3"
},
{
"relation": "optimized_by",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/client_improvements-client.md",
"source_location": null,
"weight": 1.0,
"source": "opt_C3",
"target": "client_ace_pitcher_after"
},
{
"relation": "optimized_by",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_optimization-plan.md",
"source_location": null,
"weight": 1.0,
"source": "opt_C4",
"target": "client_provider_current_user"
},
{
"relation": "optimized_by",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_optimization-plan.md",
"source_location": null,
"weight": 1.0,
"source": "opt_C4",
"target": "client_provider_scoreboard"
},
{
"relation": "optimized_by",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_optimization-plan.md",
"source_location": null,
"weight": 1.0,
"source": "opt_C4",
"target": "client_provider_user_stats"
},
{
"relation": "references",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/client_improvements-client.md",
"source_location": null,
"weight": 1.0,
"source": "client_improvements_summary",
"target": "opt_C4"
},
{
"relation": "optimized_by",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/client_improvements-client.md",
"source_location": null,
"weight": 1.0,
"source": "opt_C4",
"target": "client_current_user_after"
},
{
"relation": "references",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_README.md",
"source_location": null,
"weight": 1.0,
"source": "readme_overview",
"target": "readme_cost_summary"
},
{
"relation": "references",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_README.md",
"source_location": null,
"weight": 1.0,
"source": "readme_overview",
"target": "readme_index_ok"
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": "lib/features/prediction/data/api_client.dart:7",
"weight": 1.0,
"source": "client_dio_provider",
"target": "client_api_base"
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": null,
"weight": 1.0,
"source": "client_game_repo",
"target": "client_ep_schedule"
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": null,
"weight": 1.0,
"source": "client_user_repo",
"target": "client_ep_get_user"
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": null,
"weight": 1.0,
"source": "client_user_repo",
"target": "client_ep_check_nickname"
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": null,
"weight": 1.0,
"source": "client_user_repo",
"target": "client_ep_post_user"
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": null,
"weight": 1.0,
"source": "client_user_repo",
"target": "client_ep_patch_user"
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": null,
"weight": 1.0,
"source": "client_user_repo",
"target": "client_ep_delete_user"
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": null,
"weight": 1.0,
"source": "client_user_repo",
"target": "client_ep_stats"
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": null,
"weight": 1.0,
"source": "client_user_repo",
"target": "client_ep_stats_history"
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": null,
"weight": 1.0,
"source": "client_prediction_repo",
"target": "client_ep_post_prediction"
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": null,
"weight": 1.0,
"source": "client_prediction_repo",
"target": "client_ep_put_prediction"
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": null,
"weight": 1.0,
"source": "client_prediction_repo",
"target": "client_ep_get_prediction"
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": null,
"weight": 1.0,
"source": "client_prediction_repo",
"target": "client_ep_vote_summary"
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": null,
"weight": 1.0,
"source": "client_team_record_repo",
"target": "client_ep_rank"
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": null,
"weight": 1.0,
"source": "client_player_repo",
"target": "client_ep_player"
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": null,
"weight": 1.0,
"source": "client_game_detail_repo",
"target": "client_ep_game_detail"
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": null,
"weight": 1.0,
"source": "client_scoreboard_repo",
"target": "client_ep_scoreboard"
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": null,
"weight": 1.0,
"source": "client_attendance_repo",
"target": "client_ep_attendance_month"
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": null,
"weight": 1.0,
"source": "client_attendance_repo",
"target": "client_ep_checkin"
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": null,
"weight": 1.0,
"source": "client_attendance_repo",
"target": "client_ep_notifications"
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": null,
"weight": 1.0,
"source": "client_provider_monthly_schedule",
"target": "client_ep_schedule"
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": null,
"weight": 1.0,
"source": "client_provider_rank",
"target": "client_ep_rank"
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": null,
"weight": 1.0,
"source": "client_provider_h2h",
"target": "client_ep_rank"
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": null,
"weight": 1.0,
"source": "client_provider_pitchers",
"target": "client_ep_player"
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": null,
"weight": 1.0,
"source": "client_provider_ace_pitcher",
"target": "client_ep_player"
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": null,
"weight": 1.0,
"source": "client_provider_game_detail",
"target": "client_ep_game_detail"
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": null,
"weight": 1.0,
"source": "client_provider_current_user",
"target": "client_ep_get_user"
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": "lib/features/splash/presentation/pages/splash_page.dart:45",
"weight": 1.0,
"source": "client_splash_page",
"target": "client_ep_get_user"
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/client_improvements-client.md",
"source_location": null,
"weight": 1.0,
"source": "client_current_user_after",
"target": "client_ep_get_user"
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": null,
"weight": 1.0,
"source": "client_provider_user_stats",
"target": "client_ep_stats"
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": null,
"weight": 1.0,
"source": "client_provider_prediction_action",
"target": "client_ep_post_prediction"
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": null,
"weight": 1.0,
"source": "client_provider_vote_summary",
"target": "client_ep_vote_summary"
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": null,
"weight": 1.0,
"source": "client_provider_scoreboard",
"target": "client_ep_scoreboard"
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": null,
"weight": 1.0,
"source": "client_provider_checkin_controller",
"target": "client_ep_checkin"
},
{
"relation": "writes_to",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": "lib/core/services/fcm_service.dart:40,58",
"weight": 1.0,
"source": "client_fcm_service",
"target": "fs_users_fcm_tokens"
},
{
"relation": "implements",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": null,
"weight": 1.0,
"source": "client_schedule_cache",
"target": "client_swr_cache"
},
{
"relation": "implements",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": null,
"weight": 1.0,
"source": "client_game_detail_cache",
"target": "client_swr_cache"
},
{
"relation": "implements",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": null,
"weight": 1.0,
"source": "client_day_record_cache",
"target": "client_swr_cache"
},
{
"relation": "implements",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": null,
"weight": 1.0,
"source": "client_game_record_dates_cache",
"target": "client_swr_cache"
},
{
"relation": "caches",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": null,
"weight": 1.0,
"source": "client_provider_monthly_schedule",
"target": "client_schedule_cache"
},
{
"relation": "caches",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": null,
"weight": 1.0,
"source": "client_provider_game_detail",
"target": "client_game_detail_cache"
},
{
"relation": "caches",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": null,
"weight": 1.0,
"source": "client_provider_day_prediction_record",
"target": "client_day_record_cache"
},
{
"relation": "caches",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": null,
"weight": 1.0,
"source": "client_provider_game_record_dates",
"target": "client_game_record_dates_cache"
},
{
"relation": "invalidates",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md",
"source_location": null,
"weight": 1.0,
"source": "client_provider_prediction_action",
"target": "client_provider_vote_summary"
},
{
"relation": "reads_from",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/client_improvements-client.md",
"source_location": "lib/features/prediction/application/ace_pitcher_provider.dart",
"weight": 1.0,
"source": "client_ace_pitcher_after",
"target": "client_provider_pitchers"
},
{
"relation": "reads_from",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/client_improvements-client.md",
"source_location": "lib/features/prediction/data/vote_repository.dart",
"weight": 1.0,
"source": "client_vote_repo_after",
"target": "rtdb_vote_aggregates"
},
{
"relation": "semantically_similar_to",
"confidence": "INFERRED",
"confidence_score": 0.75,
"source_file": "graphify-out/tmp-corpus/client_improvements-client.md",
"source_location": null,
"weight": 0.7,
"source": "rtdb_votes_gameId",
"target": "rtdb_vote_aggregates"
},
{
"relation": "reads_from",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/client_improvements-client.md",
"source_location": "lib/features/prediction/application/h2h_provider.dart",
"weight": 1.0,
"source": "client_h2h_provider_after",
"target": "client_standings_provider_after"
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_optimization-plan.md",
"source_location": "debugHandlers.ts",
"weight": 1.0,
"source": "backend_debug_handlers",
"target": "backend_sync_games_service"
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_optimization-plan.md",
"source_location": "debugHandlers.ts",
"weight": 1.0,
"source": "backend_debug_handlers",
"target": "backend_daily_archive"
},
{
"relation": "writes_to",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_optimization-plan.md",
"source_location": "gameSyncService.ts:63",
"weight": 1.0,
"source": "backend_sync_games_service",
"target": "fs_games"
},
{
"relation": "triggers",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_optimization-plan.md",
"source_location": null,
"weight": 1.0,
"source": "backend_cron_0200",
"target": "backend_sync_games_service"
},
{
"relation": "writes_to",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_optimization-plan.md",
"source_location": "dailyArchive.ts:130",
"weight": 1.0,
"source": "backend_daily_archive",
"target": "fs_vote_history"
},
{
"relation": "reads_from",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_optimization-plan.md",
"source_location": "dailyArchive.ts:96",
"weight": 1.0,
"source": "backend_daily_archive",
"target": "fs_daily_archive"
},
{
"relation": "reads_from",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_optimization-plan.md",
"source_location": "dailyArchive.ts:96",
"weight": 1.0,
"source": "backend_daily_archive",
"target": "rtdb_user_votes"
},
{
"relation": "writes_to",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_optimization-plan.md",
"source_location": "judgmentService.ts:94",
"weight": 1.0,
"source": "backend_judge_day",
"target": "fs_vote_history"
},
{
"relation": "triggers",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_optimization-plan.md",
"source_location": "onGameCompleted.ts:59",
"weight": 1.0,
"source": "backend_on_game_completed",
"target": "backend_invalidate_stats"
},
{
"relation": "invalidates",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_optimization-plan.md",
"source_location": null,
"weight": 1.0,
"source": "backend_invalidate_stats",
"target": "fs_cache_stats"
},
{
"relation": "triggers",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_optimization-plan.md",
"source_location": "gameResultService.ts:42",
"weight": 1.0,
"source": "backend_game_result_service",
"target": "backend_invalidate_stats"
},
{
"relation": "reads_from",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_optimization-plan.md",
"source_location": null,
"weight": 1.0,
"source": "backend_get_stats_cf",
"target": "fs_vote_history"
},
{
"relation": "reads_from",
"confidence": "INFERRED",
"confidence_score": 0.95,
"source_file": "graphify-out/tmp-corpus/backend_optimization-plan.md",
"source_location": null,
"weight": 0.9,
"source": "backend_get_stats_cf",
"target": "fs_cache_stats"
},
{
"relation": "invalidates",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_optimization-plan.md",
"source_location": null,
"weight": 1.0,
"source": "backend_cron_0200",
"target": "fs_kbo_cache"
}
],
"hyperedges": [
{
"id": "kbo_cache_pipeline",
"label": "KBO External Fetch to Cache to Client Endpoint Pipeline",
"nodes": [
"backend_reads_external_kbo",
"backend_reads_firestore_kbocache",
"backend_reads_repo_kbocacherepo",
"backend_reads_firestore_kbolocks",
"backend_lifecycle_concept_distributedlock"
],
"relation": "participate_in",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_backend-reads.md"
},
{
"id": "daily_archive_write_pipeline",
"label": "dailyArchive Cron Write Pipeline",
"nodes": [
"backend_writes_cron_dailyarchive",
"backend_reads_svc_judgmentservice",
"backend_reads_firestore_votehistory",
"backend_reads_firestore_users",
"backend_reads_svc_ranksnapshotservice",
"backend_reads_rtdb_scoreboardcache",
"backend_reads_rtdb_cachestats"
],
"relation": "participate_in",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_backend-writes.md"
},
{
"id": "game_completed_fanout",
"label": "onGameCompleted Fan-out Write Pattern",
"nodes": [
"backend_writes_trigger_ongamecompleted",
"backend_writes_svc_gameresultservice",
"backend_reads_rtdb_uservotes",
"backend_reads_rtdb_cachestats",
"backend_lifecycle_concept_fanout"
],
"relation": "implement",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_backend-writes.md"
},
{
"id": "backend_read_optimization_set",
"label": "Backend Read Optimization Set R1 R4 R5 R7",
"nodes": [
"backend_improvements_reads_r1_gamedaycache",
"backend_improvements_reads_r4_backoff",
"backend_improvements_reads_r5_fieldmask",
"backend_improvements_reads_r7_parallelrank"
],
"relation": "form",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_improvements-backend-reads.md"
},
{
"id": "backend_write_optimization_set",
"label": "Backend Write Optimization Set W1 through W6",
"nodes": [
"backend_improvements_writes_w1_diff",
"backend_improvements_writes_w2_votehistory",
"backend_improvements_writes_w3_statsdedup",
"backend_improvements_writes_w4_ranksnapshot",
"backend_improvements_writes_w5r6_photourl",
"backend_improvements_writes_w6_gamedetailttl"
],
"relation": "form",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_improvements-backend-writes.md"
},
{
"id": "prediction_vote_flow",
"label": "User Prediction Vote Flow",
"nodes": [
"backend_writes_endpoint_post_prediction",
"backend_writes_endpoint_put_prediction",
"backend_reads_repo_voterepo",
"backend_reads_rtdb_votes",
"backend_reads_rtdb_uservotes"
],
"relation": "participate_in",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_backend-writes.md"
},
{
"id": "tier1_optimizations",
"label": "Tier 1 High-Impact Low-Risk Optimizations",
"nodes": [
"opt_W1",
"opt_W2",
"opt_R1",
"opt_C1"
],
"relation": "form",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_optimization-plan.md"
},
{
"id": "tier2_optimizations",
"label": "Tier 2 Medium-Impact Optimizations",
"nodes": [
"opt_R2",
"opt_W3",
"opt_R3",
"opt_R4",
"opt_C2",
"opt_C3"
],
"relation": "form",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_optimization-plan.md"
},
{
"id": "tier3_optimizations",
"label": "Tier 3 Small / Housekeeping Optimizations",
"nodes": [
"opt_W4",
"opt_W5",
"opt_W6",
"opt_R5",
"opt_R6",
"opt_R7",
"opt_C4"
],
"relation": "form",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/backend_optimization-plan.md"
},
{
"id": "client_applied_improvements",
"label": "Applied Client Optimizations (opt/client-rw branch)",
"nodes": [
"opt_C1",
"opt_C2",
"opt_C3",
"opt_C4",
"client_vote_repo_after",
"client_standings_provider_after",
"client_h2h_provider_after",
"client_ace_pitcher_after",
"client_current_user_after"
],
"relation": "implement",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/client_improvements-client.md"
},
{
"id": "swr_cache_adapters",
"label": "SWR Cache Adapters (4 domains)",
"nodes": [
"client_schedule_cache",
"client_game_detail_cache",
"client_day_record_cache",
"client_game_record_dates_cache"
],
"relation": "implement",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md"
},
{
"id": "client_keepalive_repos",
"label": "All Client Repositories (keepAlive)",
"nodes": [
"client_game_repo",
"client_user_repo",
"client_prediction_repo",
"client_team_record_repo",
"client_player_repo",
"client_game_detail_repo",
"client_scoreboard_repo",
"client_attendance_repo"
],
"relation": "participate_in",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md"
},
{
"id": "duplicate_call_problem",
"label": "Duplicate CF Call Pattern (C2+C3)",
"nodes": [
"client_provider_h2h",
"client_provider_rank",
"client_ep_rank",
"client_provider_ace_pitcher",
"client_provider_pitchers",
"client_ep_player"
],
"relation": "participate_in",
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "graphify-out/tmp-corpus/client_client-patterns.md"
}
],
"built_at_commit": "05b774a713df1682dc5cb37296fb8b522fe77e68"
}