'use strict'; const {assert,loadAppLogic}=require('./helpers/app-source'); const AppLogic=loadAppLogic(),samples=[],storeCoefficients=[]; for(let seed=1;seed<=5000;seed++){ const level=1+(seed%10),baseScore=20+level*level*4,meta={id:`B${seed}`,seed,generatorVersion:5}, state={paths:[{startGate:0,endGate:1,cells:[[0,0],[0,1],[1,1],[1,2]]}]}, reward=AppLogic.deterministicBoardReward(baseScore,{worldSeed:0x51a7f00d,meta,state}); assert(reward.coefficient>=.8&&reward.coefficient<=1.2,'Board coefficient escaped its bound'); samples.push(reward.award); const prices=[700,1400,1800,2400].map(base=>AppLogic.deterministicStorePrice(base,0x51a7f00d,seed%97,Math.floor(seed/97),1)); assert(prices.every(entry=>entry.coefficient===prices[0].coefficient),'Products in one store received different coefficients'); storeCoefficients.push(prices[0].coefficient); } const mean=values=>values.reduce((sum,value)=>sum+value,0)/values.length, rewardMean=mean(samples),storeMean=mean(storeCoefficients); assert(storeMean>.99&&storeMean<1.01,'Store coefficient distribution is materially biased'); assert(rewardMean>100&&rewardMean<230,'Reward rebalance left the measured progression band'); assert(700<1400&&1400<1800&&1800<2400,'Cosmetics/lens/field price ladder is invalid'); assert(1400/rewardMean>5&&1400/rewardMean<15,'Score lens is either trivial or effectively mandatory'); assert(2400/rewardMean<24,'MAX field is outside a meaningful attainable score-sink range'); assert(AppLogic.deterministicBoardReward(100,{meta:{id:'B1',seed:1,generatorVersion:5},state:{paths:[]},scoreLensCount:100}).lensMultiplier===1.5,'Repeated lenses create unbounded score inflation'); console.log(`Economy simulation passed: mean reward ${rewardMean.toFixed(2)}, mean coefficient ${storeMean.toFixed(4)}`);