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 |