Players could set astronomical prices and still retain subscribers because
price elasticity floored at 10% for any price above $100, satisfaction
ignored pricing entirely, and churn had no price component.
Introduces perceived value per tier (model quality × reputation), replaces
the broken linear formula with sigmoid decay, adds price-aware satisfaction
blending, and applies per-tier price-based churn multipliers.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Propagate per-era duration/bottleneck, serving utilization, cash-flow nadir/peak,
and late-game revenue growth through the worker→CSV→interpret pipeline. Add
simulation health archetype classification, per-era bottleneck frequency,
unused-feature frequency table, failed-run AGI gate analysis, and log-scale
variance for exponential metrics. All new CSV columns parse defensively for
backward compatibility with older summary files.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Eliminates the 22K-object switchRegistry that caused O(n×m) scans 4x per tick.
Network health is now tracked as aggregate counts per tier (totalByTier/healthyByTier)
with RepairBatch timers, cutting late-game tick cost from ~50ms to ~0.3ms.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Fleet template is now rebuilt only when deploymentVersion changes (~68 times per
28,800-tick run instead of every tick). Reuses module-level Maps, arrays, and
utilization objects instead of allocating new ones each tick. Replaces 4x
Object.values().reduce() with single-pass aggregation and sorts fleet in-place.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Model quality for market segments and product lines now derives from deployed
model capabilities (coding, reasoning, agents, etc.) instead of requiring a
separate manual benchmark evaluation step. This eliminates an unbounded
benchmarkResults[] array that was scanned 5x per tick and removes ~480 lines
of dead-weight UI, types, and engine code.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Switch from exec() to spawn() for streaming stderr, add onProgress
callback to runner, and emit per-run progress lines from workers.
CI now shows live percentage, tick count, and era during long runs.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Research now costs money (drained per-tick) with ~2.5-3.5x longer durations by category.
Early-game talent budget costs reduced via era multiplier (startup 0.2x → bigtech 1.0x).
New seed-driven PersonaStrategy with 8 axes of variation for meaningful multi-run testing.
CI multi-run switched from greedy to persona strategy.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Remove misleading Reputation -> Era Gates connection (score 0 meant
"already sufficient," not broken). Add diagnosis and eventLabel fields
to each connection. Group output: broken links first with [!!] and
plain-language explanation, then healthy links as compact one-liners.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Adds a full simulation harness (game-simulation package) with greedy/random strategies,
36-metric diagnostics, multi-run orchestration via child processes, and a statistical
interpreter. Includes 2.3x engine performance optimizations (research bonus caching,
per-DC dirty tracking, reduced allocations in tick pipeline, single-pass loops).
Fixes a critical balance bug where training pipelines stalled on insufficient VRAM would
permanently block training slots — the engine never re-checked stalled pipelines, and the
greedy strategy didn't pre-check VRAM requirements. This caused 20-25% of seeds to get
stuck in Scale-up era. All three fixes (engine un-stalling, strategy VRAM pre-check,
stalled pipeline cancellation) bring pass rate from 75% to 100% across 20 random seeds.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add compute history time-series (capacity vs demand chart), revenue vs expenses
dual-line chart, enhanced system status (training allocation, network uptime,
model freshness), active operations panel, market position bars, and competitor
snapshot. Stat cards expand from 3 to 6 as player progresses through eras.
Graceful v9→v10 save migration preserves existing games.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The old overload policy had dead controls (maxQueueDepth, rateLimitPerCustomer never read)
and trivial flat penalties. This replaces it with a full serving pipeline where deployed
models form a fleet, requests route through priority/degradation logic, and policy choices
create meaningful strategic tradeoffs.
New serving pipeline: fleet building from deployed models (size/quant/MoE multipliers),
demand categorization by 5 priority tiers, enterprise capacity reservation, priority-ordered
serving with overflow behaviors (queue/reject/degrade), auto-degradation to faster models
under load, and Batch API to fill idle capacity at discounted rates.
4 new research nodes gate features progressively: Intelligent Request Routing, Priority
Queue System, Request Batching, and Auto-Scaling. New dedicated Serving page with pipeline
metrics, model fleet utilization, and research-gated policy controls.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Training pipeline now requires SFT specializations and alignment method configured at start — no more
mid-training configuration step. Model families support multiple size tiers (Nano/Small/Medium/Large/Flagship)
trained independently, mimicking real AI company model families. Point releases iterate on deployed models
with 40% training time and 8% capability gain. Distillation and fine-tuning variants removed — players
train smaller size tiers or configure SFT during initial training instead. Only quantization remains as
a variant type.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Lift modelsTab state into Zustand store so actions can navigate tabs
- Add toast notifications + auto-tab-switch to all 10 model actions
(train, configure SFT/alignment, distill, fine-tune, quantize, eval, deploy, open-source)
- Add actionable toast buttons with navigation (e.g., "Go to Families" on training complete)
- Fix post-training config: remove 50% deadline, show until pretraining completes,
always-visible warning prompt outside card expand, engine reminder at 75%
- PostTrainingConfig now hides already-configured sections independently
- Add tab badges: pulsing dot for active jobs, count for undeployed models, warning for no deployment
- Replace empty states with actionable buttons guiding next steps
- Stage bars show "(skip)" in warning color for unconfigured SFT/Alignment stages
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
onModelDeployed was defined but never invoked — lastModelReleaseTick
stayed at 0 so the freshness guard always returned 0. Now deployModel
updates obsolescence state, setting freshness to 1.0 with proper decay.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Create researchBonuses utility to aggregate tech tree effects into all game systems
(infrastructure energy costs, compute efficiency, training speed, model capability, reputation)
- Rework model capability from sqrt(compute) to 4-pillar formula (params + compute + data + research)
- Make context window affect benchmarks and inference speed
- Add MoE tradeoffs: 1.5x VRAM, 0.8x training speed
- Enforce research point costs as a gate for unlocking research
- Add real consequences to data contamination events (reputation hit, legal costs)
- Scale talent costs from $0.03 to $5/tick per headcount
- Scale compliance costs 100x to be meaningful
- Rework competitor acquisition: cheaper but grants headcount, RP, and reputation
- Remove dead code: sfxVolume, autoSaveInterval, notificationsEnabled,
FAST_FORWARD_BATCH_SIZE, CHINCHILLA_OPTIMAL_RATIO
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replaces the simplified single-subscriber market with a full competitive simulation:
shared TAM with softmax market shares across 4 segments, multi-tier consumer
subscriptions (Free/Plus/Pro/Team) and API tiers (Free/PAYG/Scale/Enterprise),
enterprise sales pipeline (Lead→Qualification→POC→Negotiation→Active→Renewal)
with SLA tracking, developer ecosystem flywheel, technology obsolescence pressure,
seasonal demand cycles, and two new product lines (Code Assistant, AI Agents Platform).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace the single-stage training + flat capability score with a realistic AI
development pipeline: pre-training with Chinchilla scaling laws, SFT with
specializations, alignment with safety/capability tradeoffs (RLHF/DPO/Constitutional),
model families with distillation/fine-tuning/quantization variants, named benchmark
suite with compute-costing eval jobs, and segment-specific market quality.
Phases 1-6 of the model rework plan: new types, engine rewrite, save migration,
training events/risk system, concurrent training, variant creation, benchmark
evaluation with leaderboard, and market integration.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Expand from 10 to 18 rack SKUs across NVIDIA, AMD, and custom ASIC vendors, each with
distinct training vs inference FLOPS, VRAM capacity, cooling requirements, and interconnect
technology. Adds cooling hierarchy (air/liquid/immersion) that gates rack deployment, VRAM
requirements that gate model training by generation, interconnect multipliers for distributed
training scaling, and PUE-based energy cost reduction for advanced cooling. Includes save
migration from v4 to v5, 6 new research nodes, and UI updates showing split compute stats.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace aggregate network health stats with a full 6-tier Clos topology
(ToR → T1 → T2 → T3 → T4 → T5) where every switch is an individually
tracked entity with uplinks, repair pipelines, and failure cascades.
Key mechanics:
- Bottleneck bandwidth model (min along path) affects FLOPS and satisfaction
- Rackdown on full disconnect → racks re-enter testing pipeline on recovery
- Binomial failure sampling per tier, dirty-flag cascade optimization
- Flat switch registry for performance at scale
- Three new research nodes: network-redundancy, fast-repair, hot-standby
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
These fire constantly at scale with thousands of racks, flooding the
notification panel with noise.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Campus level: "Fill All DCs" instantly fills all operational DCs with
selected SKU in one click. "Retrofit Campus" queues a staggered retrofit
with configurable concurrency (1/10%/25%/custom) so only a fraction of
DCs go offline at a time, preserving capacity during the upgrade.
Cluster level: "Fill All DCs" fills across all campuses in one action.
The game engine automatically advances the retrofit queue each tick,
promoting pending DCs as active ones complete.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
computeRacksFailed was incremented on production failure and never decremented
when repaired racks came back online, while repair cohorts also tracked the
same racks. This caused usedSlots to inflate past the DC capacity over time.
Fix: derive computeRacksFailed from repair cohorts each tick instead of
maintaining it as a running counter. Include repair cohorts in pipeline slot
accounting so all racks are counted exactly once. Also fixes power limit in
fillDCToCapacity to only count online racks (pipeline racks don't draw power).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace flat DataCenter/Rack model with Cluster > Campus > Data Center > Racks
hierarchy. Individual rack entities eliminated in favor of statistical batch
simulation using deployment cohorts. Adds tiered network topology (ToR/agg/core)
with proportional outage model, DC retrofitting, bulk operations, and drill-down
UI navigation with breadcrumbs. First cluster and campus are free to preserve
early game flow. Rebalances starting economy ($600K), funding rounds, and
cohort scaling for hypercluster-scale gameplay.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Failed racks were removed from dc.racks in Phase 3 before uptime was
calculated in Phase 4, so healthyCount always equaled totalInDc. Now
counts racks in the repair pipeline as down capacity.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
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>
Racks can now be marked for decommission from the DC view. The rack
leaves production immediately (freeing slot and power), enters the
pipeline as a timed decommission order, and is removed when complete.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Price elasticity: subscribers ignored price entirely — a $50k/month
subscription still grew. Replaced naive price/100 formula with a fair
price model (based on model quality). Overpriced subscriptions now kill
growth and drive churn at 3x the overprice ratio.
Inference utilization: was always pinned at 100% because organic API
token demand (10M base) and per-subscriber demand (100 tokens/tick)
massively exceeded any realistic compute capacity. Reduced to 500 base
organic tokens and 0.5 per subscriber so scaling compute meaningfully
reduces utilization.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The random events (GPU shortages, regulatory hearings, PR crises, etc.)
added interruption without enough gameplay value. Removed all event
types, definitions (~1800 lines of event data), the event processor,
EventModal UI, store actions, and tick integration. Updated docs to
reflect the removal. Bundle size drops ~47kB.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace flat GPU buying with a realistic data center + rack pipeline:
- 4 DC tiers (small/medium/large/mega) with construction time, dual
capacity constraints (rack slots + power budget kW), and era/research
gating
- 10 predefined rack SKUs from consumer GPUs through custom ASICs, each
with unique FLOPS, power draw, cost, and pipeline timings
- 6-stage procurement pipeline (order → mfg → receive → install → test
→ production) with Kanban UI, talent-influenced speed bonuses
- Test failures (5-25% base rate) reduced by cooling, ops talent, and QA
research; auto-repair with cost and re-test cycle
- Production failures at low per-tick rate, racks sent to repair pipeline
- Cooling and redundancy upgrades per DC (reduce failure rates)
- 4 new tech tree nodes (DC Engineering II/III/IV, Quality Assurance)
- Save version bump (1→2) with migration that resets old saves
- Updated economy system to account for rack repair costs
- Redesigned Infrastructure page with pipeline Kanban, capacity bars,
rack ordering, and DC upgrade panels
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace all crypto.randomUUID() calls with a uuid() utility that
falls back to Math.random-based generation when the Web Crypto API
is unavailable (plain HTTP contexts).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Leaderboard page with category tabs and score submission, shareable
company stats card with clipboard copy, dynamic regulation system
(compliance costs scale with capability and era, regulatory standing
tracks safety research), 6 geopolitical events (export controls, energy
crisis, natural disaster, AI safety summit, immigration policy, data
sovereignty), safety-capability tradeoff (safety score affects benchmark,
low safety triggers incidents with reputation damage), and enhanced
event consequence handling for regulation and talent types.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
VC funding system (seed through IPO with requirements gating), 15
achievements with engine checker, model tuning presets and unlockable
sliders, overload policy controls, open-source mechanic with reputation
boost, enhanced Recharts analytics (subscriber/reputation/revenue vs
expenses charts), M&A acquisition system, sidebar NEW badges on era
transitions, tutorial hints, and wired-up settings toggles.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Server app (apps/server) with Hono framework and Drizzle ORM:
- PostgreSQL schema: users, saves, leaderboard, achievements tables
- Anonymous auth with UUID tokens, optional email/password linking
- Cloud save API: list, get, upsert, delete with auto-save hook
- Leaderboard API: per-category rankings with score submission
- CORS configured for dev server ports
- Typed middleware with Hono env variables
Frontend cloud save integration:
- API client with auth token management in localStorage
- useCloudSave hook auto-saves every 300 ticks when authenticated
- Vite env type declarations for VITE_API_URL
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Tech tree with 21 research nodes across 5 categories (infrastructure,
efficiency, generation, specialization, safety). Research page with
category-grouped cards, progress tracking, prerequisite gating.
Event engine with 34 events across industry/regulatory/PR/internal/market
categories, weighted random firing, cooldowns, expiry, and choice modal
with consequence preview. Events auto-expire with default choice.
Competitor system with 3 rival AI labs (Prometheus AI, Nexus Labs, Titan
Computing), personality-driven milestone progression, and comparison UI.
Talent page with department hiring, headcount management, and key hire
recruitment from a pool of 10 named characters with special abilities.
Data marketplace with 8 purchasable datasets, user data flywheel from
subscribers, and data system processing in tick loop.
Era transition system checks revenue/capability/reputation thresholds.
All new systems integrated into tick processor with notifications.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add reusable Tooltip component and rich tooltips on all TopBar KPIs
(cash breakdown, compute utilization, reputation context). Add save
import button to Settings page. Fix game balance: reduce GPU maintenance
100x, increase organic API demand 200x, accelerate subscription revenue
timescale, boost early subscriber seeding, use sqrt scaling for model
compute factor, simplify deploy to activate all product lines at once.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Model training system: training jobs produce TrainedModels with
calculated capabilities based on compute, data, and research
- Market system: organic API demand and consumer subscriptions now
generate real revenue from deployed models
- Talent system: salary costs calculated from department headcount
- Toast notification system for game events (training complete, etc.)
- Offline catch-up: progress bar + summary screen when returning
- Market page: pricing controls for API and subscription products
- Finance page: income statement, cash charts, funding history
- Tick processor now runs all 7 systems in correct dependency order
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Turborepo monorepo with three packages:
- packages/shared: TypeScript types for all 14 game systems + balance constants + formatting utils
- packages/game-engine: Pure TS simulation engine with tick processor, economy, infrastructure, compute, research, market, and reputation systems
- apps/web: React + Vite + Tailwind + Zustand frontend with sidebar dashboard layout, new game screen, dashboard with charts, infrastructure management, and model training pages
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>