Skip to main content
← 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_000 is checked only in awardPoints (lib/app/admin/award-points.ts), against input.amount and before pricing.
  • lib/app/showcase/showcase-reward.ts never checks it.
  • priceAward (lib/domain/scoring/award-pricing.ts) returns round(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

  1. Open a campaign of x2 or more covering now.
  2. Approve a profile showcase for an operative with an active streak.
  3. The award row and swamp.score_grants show 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
✓OPEN✓TRIAGED✓IN PROGRESS✓SHIPPED+ 1 MOREASSIGNED+ 9 MOREREVIEW+ 9 MOREPR_MERGED+ 2 MORESESSION_SUMMARIZED

Shipped

10/26/2026, 12:42:50 AM

Click a lifecycle step above to view its details.

03Sludge Pulse
keeb assigned keeb10/25/2026, 11:44:14 PM

Sign in to post a ripple.