Commit Graph

2 Commits (39766bae55bae19f43f63a7280c9187648df29bd)

Author SHA1 Message Date
Haewon Kam e43cc08429 Voting window decided: open D-2 (kickoff-48h), close at kickoff
- types/schedule: add opensAt (kickoff-48h), lockAt = kickoff (정각)
- Arena: 3-state gating (곧 오픈 / 활성 / 예측 마감), DEMO_FORCE_OPEN flag
- seed.mjs, BACKEND.md, 기능정의서: lock semantics = kickoff, opensAt added
- error codes: MATCH_NOT_OPEN (422) before opensAt, MATCH_LOCKED (423) at kickoff

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-09 11:18:26 +09:00
Haewon Kam 1b9dbd2276 Add Backend Readiness Pack (firestore rules/indexes, env, seed, firebase init, BACKEND.md)
- firestore.rules, firestore.indexes.json, firebase.json, .firebaserc.example
- .env.example, lib/firebase.ts (client init), scripts/seed.mjs
- docs/BACKEND.md: R1 scope, API contracts, scoring, Resend, deploy, test checklist
- Decisions: new Firebase project (self), prize rules deferred to R2, email via Resend

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-09 09:02:41 +09:00