← Back to list
01Issue
BugShippedSwamp CLIPublic
Assigneeskeeb
Relationships
#3948 Awards exceed the 10,000,000 cap once campaign and streak multipliers apply
Opened by keeb · 10/25/2026· Shipped 10/26/2026
Summary
Since awards started getting campaign and streak multipliers (swamp-club#3931), the 10,000,000 award cap only checks the base amount someone types in. The multiplied amount that lands on the ledger has no limit. A showcase approval during a x4 campaign with a x1.325 engagement multiplier paid +26,520,000 (x5.3 on the 5,000,000 base).
Where
lib/score-awarders.ts:MAX_AWARD_POINTS = 10_000_000is checked only inawardPoints(lib/app/admin/award-points.ts), againstinput.amountand before pricing.lib/app/showcase/showcase-reward.tsnever checks it.priceAward(lib/domain/scoring/award-pricing.ts) returnsround(base * campaign * engagement)with no limit. Campaign stacks up to x10 and engagement reaches about x1.66, so the ceiling is about x16.6: roughly 83M per showcase, 166M per maximum admin award.
Steps to reproduce
- Open a campaign of x2 or more covering now.
- Approve a profile showcase for an operative with an active streak.
- The award row and
swamp.score_grantsshow an amount over 10,000,000.
Expected
No single award grant lands more than 10,000,000. Apply the limit once, in the shared pricing path every award goes through, so every source is covered. Stamp the multiplier actually applied (amount / baseAmount) so the activity row stays honest.
Notes
- The grant already in prod (26,520,000) is permanent on an append-only ledger. Bringing it down to 10M would take a separate compensating grant, which is not part of this fix.
02Bog Flow
Shipped
Click a lifecycle step above to view its details.
03Sludge Pulse
Sign in to post a ripple.