| name | usage-ledger-guard |
| description | Protect usage accounting behavior for generation and export events. |
Trigger
- Use when generation/export flow or usage endpoints change.
- "์ฌ์ฉ๋", "usage", "ledger", "๊ณผ๊ธ"
Read First
docs/ref/SCHEMA-INDEX.md โ UsageLedger ์ํฐํฐ, API contract
src/app/api/usage/me/route.ts โ ์ฌ์ฉ๋ ์กฐํ API ๊ตฌํ
src/app/api/projects/[id]/generate/route.ts โ ์์ฑ ์ usage ๊ธฐ๋ก ๋ก์ง
docs/status/FEATURE-MATRIX.md
Do
1. ์ด๋ฒคํธ ํ์
ํ์ธ
UsageLedger์ ๊ธฐ๋ก๋๋ ์ด๋ฒคํธ ํ์
:
text_generation โ ํ
์คํธ ์์ฑ 1ํ
image_generation โ ์ด๋ฏธ์ง ์์ฑ 1ํ
export โ ๋ด๋ณด๋ด๊ธฐ 1ํ
- ๊ฐ ์ด๋ฒคํธ๋ API route handler์์
UsageLedger.create() ํธ์ถ๋ก ๊ธฐ๋ก
2. ์ง๊ณ ๋ก์ง ํ์ธ
/api/usage/me โ ํ์ฌ ์ ๊ธฐ์ค ์ง๊ณ
- ์ง๊ณ ๊ธฐ์ค:
createdAt >= ์ด๋ฒ ๋ฌ 1์ผ 00:00 UTC
- ๋ฐํ ํ์:
{ used: number, limit: number, plan: string }
solo_free ํ๋์ ์ ํ์ PlanCatalog ํ
์ด๋ธ์์ ์กฐํ
3. ๋ณ๊ฒฝ ์ํฅ ๊ฒ์ฆ
- generation/export route ์์ ์ UsageLedger.create() ํธ์ถ์ด ์ ์ง๋๋์ง ํ์ธ
- ์ ์ด๋ฒคํธ ํ์
์ถ๊ฐ ์
/api/usage/me ์ง๊ณ์ ๋ฐ์๋๋์ง ํ์ธ
- ์๋ฌ ๋ฐ์ ์์๋ ์ฌ์ฉ๋์ด ์ฐจ๊ฐ๋์ง ์๋์ง ํ์ธ (์ฑ๊ณต ํ์๋ง ๊ธฐ๋ก)
4. ๋ฌธ์ ๋๊ธฐํ
- ์ด๋ฒคํธ ํ์
์ถ๊ฐ/๋ณ๊ฒฝ ์ SCHEMA-INDEX์ ๋ฐ์
Validation
/api/usage/me ์๋ต์ด ๋ฌธ์์ ํธํ
- ๋ชจ๋ ๊ณผ๊ธ ์ด๋ฒคํธ๊ฐ ์ฑ๊ณต ์์๋ง ๊ธฐ๋ก
- ์๊ฐ ์ง๊ณ๊ฐ ์ ํ