Skip to content

feat(promo): add CREATOR_CLAW promo code#1329

Open
kilo-code-bot[bot] wants to merge 1 commit intomainfrom
feat/add-creator-claw-promo-code
Open

feat(promo): add CREATOR_CLAW promo code#1329
kilo-code-bot[bot] wants to merge 1 commit intomainfrom
feat/add-creator-claw-promo-code

Conversation

@kilo-code-bot
Copy link
Contributor

@kilo-code-bot kilo-code-bot bot commented Mar 20, 2026

Summary

Adds a new self-service promo code CREATOR_CLAW to src/lib/promoCreditCategories.ts with the following configuration:

  • Credit amount: $100 (10,000 cents)
  • Credit expiry: 30 days after redemption (expiry_hours: 30 * 24)
  • Promotion ends: 2026-04-20 (1 month from now)
  • Usage limit: 30 total redemptions
  • Self-service: yes, idempotent (one redemption per user)

Follows the same encrypted self-service promo pattern as the ClawCon promos (PR #1096) and PR #1254.

Action required before merge: Replace the encrypted_credit_category placeholder with the actual encrypted value by running:

pnpm promo encrypt CREATOR_CLAW

This requires the CREDIT_CATEGORIES_ENCRYPTION_KEY environment variable (available via vercel env pull).

Verification

  • pnpm typecheck — passed (0 errors)
  • oxlint on changed file — 0 warnings, 0 errors
  • pnpm format --check — all files correctly formatted
  • Entry conforms to the EncryptedSelfServicePromoCreditCategoryConfig type shape
  • Structural pattern matches existing ClawCon promo entries

Visual Changes

N/A

Reviewer Notes

  • The encrypted_credit_category field contains a placeholder (PLACEHOLDER:NEEDS_ENCRYPTION:CREATOR_CLAW). A reviewer or maintainer with access to the CREDIT_CATEGORIES_ENCRYPTION_KEY must run pnpm promo encrypt CREATOR_CLAW and replace the placeholder before merging. This is the same workflow used historically (see commits aacccb3f and 191eabf6).
  • Key differences from ClawCon promos: $100 value (vs $10–50), 30 total redemptions (vs 2000), promotion ends 2026-04-20 (vs 2026-04-30).

Built for brian.turcotte by Kilo for Slack

},
{
// Replace with output of: pnpm promo encrypt CREATOR_CLAW
encrypted_credit_category: 'PLACEHOLDER:NEEDS_ENCRYPTION:CREATOR_CLAW',
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

CRITICAL: Placeholder promo code will crash decryption in production

selfServicePromos decrypts every encrypted_credit_category at module load, so this placeholder is not just a reminder. In non-test environments decryptPromoCode('PLACEHOLDER:NEEDS_ENCRYPTION:CREATOR_CLAW') will throw before the promo list finishes building, which can break any route that imports promoCreditCategories. Replace this with the real encrypted value before merge, or keep the entry out of the array until that value is available.

@kilo-code-bot
Copy link
Contributor Author

kilo-code-bot bot commented Mar 20, 2026

Code Review Summary

Status: 1 Issues Found | Recommendation: Address before merge

Overview

Severity Count
CRITICAL 1
WARNING 0
SUGGESTION 0

Fix these issues in Kilo Cloud

Issue Details (click to expand)

CRITICAL

File Line Issue
src/lib/promoCreditCategories.ts 680 Placeholder encrypted_credit_category will throw during module-load decryption in non-test environments.
Other Observations (not in diff)

N/A

Files Reviewed (1 files)
  • src/lib/promoCreditCategories.ts - 1 issue

Reviewed by gpt-5.4-20260305 · 412,027 tokens

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants