From 0f055dace1219dcfdc81b79431c6a0bf2501a1b1 Mon Sep 17 00:00:00 2001 From: hbyang Date: Fri, 12 Jun 2026 17:24:29 +0900 Subject: [PATCH] Voting opens at D-5 (120h before kickoff), was D-2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit vote_open_hours_before 48 → 120. opensAt is recomputed on schedule sync, so existing matches shift to the wider window on next worker run. AI 30h lookahead is relative to opensAt, so pre-fill-before-open still holds. NOTE for deploy: set VOTE_OPEN_HOURS_BEFORE=120 in server .env (an existing 48 there would override the new default). Co-Authored-By: Claude Opus 4.8 (1M context) --- AGENTS.md | 2 +- backend/app/config.py | 4 ++-- backend/app/schedule_data.py | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index b7d60c4..63bf1d7 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -30,7 +30,7 @@ frontend/src/ ``` ## 시간/스케줄 규칙 (워커가 자동 처리) -- 투표 오픈 = 킥오프 − 48h(D-2, `VOTE_OPEN_HOURS_BEFORE`) +- 투표 오픈 = 킥오프 − 120h(D-5, `VOTE_OPEN_HOURS_BEFORE`) - 투표 마감 = 킥오프 정각(`VOTE_LOCK_MINUTES_BEFORE=0`) - 상태 전이: scheduled → open → locked → finished (`STATUS_TICK_SECONDS` 주기) - AI 예측 생성: 매일 KST `AI_GENERATE_HOUR:MINUTE` (실 LLM API 호출) diff --git a/backend/app/config.py b/backend/app/config.py index bab425a..b2974b3 100644 --- a/backend/app/config.py +++ b/backend/app/config.py @@ -50,8 +50,8 @@ class Settings(BaseSettings): public_origin: str = "http://localhost:8080" # 공유 딥링크 베이스 # ── 투표 윈도우 (도메인 규칙) ───────────────────────────── - # 오픈 = 킥오프 - VOTE_OPEN_HOURS_BEFORE (D-2 = 48h) - vote_open_hours_before: int = 48 + # 오픈 = 킥오프 - VOTE_OPEN_HOURS_BEFORE (D-5 = 120h) + vote_open_hours_before: int = 120 # 마감 = 킥오프 1시간 전 (경기 시작 1시간 전까지 투표). lock 오프셋(분). vote_lock_minutes_before: int = 60 # 데모: True 면 오픈 게이트 무시(항상 투표 가능). 운영 배포 시 False. diff --git a/backend/app/schedule_data.py b/backend/app/schedule_data.py index 25a3a6d..478470f 100644 --- a/backend/app/schedule_data.py +++ b/backend/app/schedule_data.py @@ -1,6 +1,6 @@ """경기 일정 SSOT — lib/schedule.ts(Group A 정식 일정, KST) 와 동일. -투표 오픈 = 킥오프 - settings.vote_open_hours_before (D-2 = 48h) +투표 오픈 = 킥오프 - settings.vote_open_hours_before (D-5 = 120h) 투표 마감 = 킥오프 - settings.vote_lock_minutes_before (기본 0 = 킥오프 정각) """ from __future__ import annotations