Fix compute utilization bug and add subscriber saturation cap
CI / build-and-push (push) Successful in 34s
CI / build-and-push (push) Successful in 34s
Three intertwined fixes: 1. Zero-capacity utilization: when inference allocation was 0%, the guard clause returned 0% utilization instead of 100%, so the market system never penalized satisfaction and subscribers never churned. 2. Stale compute in market: restructured tick order so capacity is computed before market runs, giving satisfaction calculations current-tick demand/capacity ratio instead of previous tick's. 3. Subscriber growth: replaced pure compound growth (reached billions in minutes) with logistic saturation curve. Era-based market caps: startup 10K, scaleup 1M, bigtech 20M, agi 100M. Quality and reputation expand the effective cap. Also tuned FLOPS-to-tokens multiplier (10 → 26) for balanced demand/capacity feel across all eras, and added market saturation indicator to the Market page. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -28,9 +28,24 @@ export const CONSUMER_QUALITY_GROWTH_MULTIPLIER = 0.01;
|
||||
export const CONSUMER_PRICE_ELASTICITY = -0.5;
|
||||
export const CONSUMER_BASE_CHURN = 0.001;
|
||||
|
||||
export const CONSUMER_TOKENS_PER_SUBSCRIBER = 0.5;
|
||||
|
||||
export const API_TOKENS_PER_REQUEST = 500;
|
||||
export const API_REVENUE_PER_MTOK = 1.0;
|
||||
|
||||
export const MARKET_SIZE_CAP: Record<string, number> = {
|
||||
startup: 10_000,
|
||||
scaleup: 1_000_000,
|
||||
bigtech: 20_000_000,
|
||||
agi: 100_000_000,
|
||||
};
|
||||
export const MARKET_CAP_QUALITY_BONUS = 0.3;
|
||||
export const MARKET_CAP_REPUTATION_BONUS = 0.2;
|
||||
|
||||
export const FLOPS_TO_TOKENS_MULTIPLIER = 26;
|
||||
|
||||
export const OVERLOAD_PENALTY_EXPONENT = 1.5;
|
||||
|
||||
export const ERA_THRESHOLDS = {
|
||||
scaleup: { revenue: 10_000, capability: 15, reputation: 30 },
|
||||
bigtech: { revenue: 1_000_000, capability: 50, reputation: 60 },
|
||||
|
||||
Reference in New Issue
Block a user