ai-cto 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/docs/COPY.md ADDED
@@ -0,0 +1,121 @@
1
+ # 💬 AI CTO — Master Copywriting Reference (COPY.md)
2
+
3
+ > **One-Stop Reference:** This document contains every user-facing string, headline, feedback banner, rank title, and micro-copy used across **AI CTO**.
4
+
5
+ ---
6
+
7
+ ## 🎯 1. Elevator Pitches & Hero Headlines
8
+
9
+ ### Main Tagline
10
+ > **Run an AI startup for 5 minutes.**
11
+
12
+ ### Subtitle & Hook
13
+ > Every request is a business decision. Choose the cheapest model that satisfies the customer. Higher profit wins. No tutorials — learn by making mistakes.
14
+
15
+ ### Onboarding Tooltips
16
+ - *"20 requests per daily session."*
17
+ - *"Trade-off: Inference Cost vs Latency vs Output Accuracy."*
18
+ - *"Higher profits rank higher on the daily leaderboard."*
19
+
20
+ ---
21
+
22
+ ## 🤖 2. Model Tier Names, Badges & Descriptions
23
+
24
+ | Model Tier | Display Name | UI Badge Subtitle | Card Micro-Description |
25
+ | :--- | :--- | :--- | :--- |
26
+ | **Nano** | `Nano` | `Ultra Low Cost` | *"Ultra-fast, cheapest model. Great for quick text cleanup, simple parsing, and low-risk requests."* |
27
+ | **Mini** | `Mini` | `Balanced Standard` | *"Mid-tier powerhouse. Balanced speed, coding capability, and high accuracy for standard business tasks."* |
28
+ | **Large** | `Large` | `Heavyweight Reasoning` | *"Maximum reasoning & accuracy. Handles high-stakes code, complex vision OCR, and strict compliance tasks."* |
29
+
30
+ ---
31
+
32
+ ## ⚡ 3. Evaluation Feedback Copy
33
+
34
+ When a player selects a model, the engine evaluates the choice and returns one of the following short headlines & explanatory sub-texts:
35
+
36
+ ### 🟢 Success Outcomes (Positive Profits)
37
+
38
+ #### 1. Perfect Match (`reqCapabilities == model.capabilities`)
39
+ - **Headline:** `Perfect fit.`
40
+ - **Sub-text:** *"Model specs matched request requirements cleanly."*
41
+
42
+ #### 2. Maximum Margin (`Nano` chosen for Medium/High task & succeeds)
43
+ - **Headline:** `Excellent margin.`
44
+ - **Sub-text:** *"Nano pulled through! High profit margin achieved."*
45
+
46
+ #### 3. Over-Engineered (`Large` chosen for simple task)
47
+ - **Headline:** `You burned money.`
48
+ - **Sub-text:** *"Over-engineered! Large model cost cut deeply into profits."*
49
+
50
+ #### 4. Lucky Pass (Capability Gap <= 1 point & RNG roll passed)
51
+ - **Headline:** `You got lucky.`
52
+ - **Sub-text:** *"Barely passed quality check despite capability gap."*
53
+
54
+ #### 5. Slow SLA Pass (`model.latency > request.slaLatency` but customer accepts)
55
+ - **Headline:** `Barely met SLA.`
56
+ - **Sub-text:** *"Customer accepted output but complained about slow response time."*
57
+
58
+ ---
59
+
60
+ ### 🔴 Failure Outcomes (Losses / Refunds)
61
+
62
+ #### 1. Capability Deficit (Model underpowered for task)
63
+ - **Headline:** `Customer rejected output.`
64
+ - **Sub-text:** *"Model hallucinated or failed required capability checks."*
65
+
66
+ #### 2. Extreme Cost Failure (Deep capability gap)
67
+ - **Headline:** `Inference costs are eating profits.`
68
+ - **Sub-text:** *"Underpowered model failed completely on complex task."*
69
+
70
+ #### 3. Latency SLA Exceeded
71
+ - **Headline:** `Fast but sloppy.`
72
+ - **Sub-text:** *"Latency SLA exceeded and customer cancelled request."*
73
+
74
+ #### 4. High-Risk Compliance Failure
75
+ - **Headline:** `Audit refund triggered!`
76
+ - **Sub-text:** *"Severe calculation error in tax report triggered full penalty refund."*
77
+
78
+ ---
79
+
80
+ ## 🏆 4. End-of-Day Performance Tier Ranks
81
+
82
+ Calculated after Request #20 based on net profit and customer satisfaction:
83
+
84
+ | Tier | Rank Title | Subtitle Badge | Description / Trigger |
85
+ | :--- | :--- | :--- | :--- |
86
+ | **S Tier** | 👑 `S Tier AI CTO` | `Top 5% — Unicorn Founder` | Profit `> $250.00` & Trust `>= 90%` |
87
+ | **A Tier** | 🚀 `A Tier AI CTO` | `Top 15% — Profitable AI Startup` | Profit `> $150.00` |
88
+ | **B Tier** | 📊 `B Tier AI CTO` | `Top 35% — Sustainable Ops` | Profit `> $50.00` |
89
+ | **C Tier** | 💼 `C Tier AI CTO` | `Break-even — Living on Grants` | Profit `>= $0.00` |
90
+ | **F Tier** | 💀 `Bankrupt Founder` | `Inference Costs Ate Your Capital` | Profit `< $0.00` |
91
+
92
+ ---
93
+
94
+ ## 🏷️ 5. Category Badges & Task Labels
95
+
96
+ ### Category Badges
97
+ - ✍️ `Text Processing`
98
+ - 💻 `Coding`
99
+ - 👁️ `Vision OCR`
100
+ - 📜 `Long Context`
101
+ - ⚠️ `High-Risk Audit`
102
+
103
+ ### Financial HUD Labels
104
+ - 💵 `Capital` *(Available bank balance in USD)*
105
+ - ❤️ `Trust` *(Customer satisfaction percentage)*
106
+ - ⏳ `Turn Progress` *(e.g. `14 / 20`)*
107
+ - 💰 `Success Reward` *(e.g. `+$18.00`)*
108
+ - 📉 `Failure Risk` *(e.g. `-$35.00`)*
109
+ - ⚡ `Max Latency` *(e.g. `2.0s`)*
110
+
111
+ ---
112
+
113
+ ## 🔘 6. Button & Navigation Micro-Copy
114
+
115
+ - `Dispatch Nano`
116
+ - `Dispatch Mini`
117
+ - `Dispatch Large`
118
+ - `Next Incoming Request`
119
+ - `View Day Summary & Final Score`
120
+ - `Replay 5-Minute Session`
121
+ - `Restart Session`
package/docs/PLAN.md ADDED
File without changes
package/docs/PRD.md ADDED
@@ -0,0 +1,195 @@
1
+ # 🤖 AI CTO — Product Requirement Document (PRD)
2
+
3
+ > **Elevator Pitch:** Run an AI startup for five minutes. Every request is a business decision. Choose the cheapest model that satisfies the customer. Higher profit wins. No tutorials — learn by making mistakes.
4
+
5
+ ---
6
+
7
+ ## 🎯 Core Hypothesis
8
+
9
+ > Developers enjoy making AI architecture decisions and return daily to optimize their score.
10
+
11
+ ---
12
+
13
+ ## ⏱️ Session Overview
14
+
15
+ | Metric | Target |
16
+ | :--- | :--- |
17
+ | **Session Length** | 3 – 5 minutes |
18
+ | **Requests per Session** | Exactly 20 requests |
19
+ | **Game Over Condition** | Session ends after request #20 is evaluated |
20
+
21
+ ---
22
+
23
+ ## 📊 Success Metrics
24
+
25
+ ### Primary Metric
26
+ - **D1 Retention:** `> 30%`
27
+
28
+ ### Secondary Metrics
29
+ - **Average Session Duration:** `> 4 minutes`
30
+ - **Session Finish Rate:** `> 80%`
31
+ - **Replay Rate:** `> 40%`
32
+
33
+ > [!NOTE]
34
+ > **V1 Non-Goals:** Ignore revenue monetization, global user accounts, and complex multiplayer leaderboards for V1.
35
+
36
+ ---
37
+
38
+ ## 🔄 Core Loop
39
+
40
+ ```mermaid
41
+ graph TD
42
+ A[📥 Request Appears] --> B[🧐 Player Inspects Requirements]
43
+ B --> C[🤖 Player Chooses Model]
44
+ C --> D[⚡ Engine Simulates Outcome]
45
+ D --> E[💰 Money & Trust Updated]
46
+ E --> F{Request # < 20?}
47
+ F -- Yes --> A
48
+ F -- No --> G[🏁 Daily Score & Summary]
49
+ ```
50
+
51
+ ---
52
+
53
+ ## 🖼️ UI Wireframe Blueprint
54
+
55
+ ```
56
+ +-----------------------------------------------------------------------+
57
+ | 💰 Money: $124 ❤️ Satisfaction: 92% 🏆 Day Score: 8,220 |
58
+ +-----------------------------------------------------------------------+
59
+ | |
60
+ | 📥 INCOMING REQUEST (#14/20) |
61
+ | "Generate SQL query for analytics dashboard" |
62
+ | |
63
+ | 💰 Reward: +$18 | ⚡ Max Latency: 2.0s | 🎯 Quality Req: Medium |
64
+ | |
65
+ +-----------------------------------------------------------------------+
66
+ | CHOOSE INFERENCE MODEL |
67
+ | |
68
+ | [ ] Nano 💸 Cost: $0.03 ⚡ Latency: 0.4s Rating: ★★★★☆ |
69
+ | [ ] Mini 💸 Cost: $0.14 ⚡ Latency: 1.2s Rating: ★★★★★ |
70
+ | [ ] Large 💸 Cost: $0.82 ⚡ Latency: 3.8s Rating: ★★★★★ |
71
+ | |
72
+ | [ DISPATCH REQUEST ] |
73
+ +-----------------------------------------------------------------------+
74
+ ```
75
+
76
+ ---
77
+
78
+ ## 🤖 V1 Models
79
+
80
+ To avoid model bias, V1 uses generic model tiers rather than real brand names:
81
+
82
+ | Model Tier | Cost / Req | Latency | Baseline Rating | Description |
83
+ | :--- | :--- | :--- | :--- | :--- |
84
+ | **Nano** | `$0.03` | `0.4s` | ★★★★☆ | Ultra-fast, low cost. Great for basic text. |
85
+ | **Mini** | `$0.14` | `1.2s` | ★★★★★ | Balanced tier. Handles medium tasks & code. |
86
+ | **Large** | `$0.82` | `3.8s` | ★★★★★ | Heavyweight. Expensive & slow, high accuracy. |
87
+
88
+ ---
89
+
90
+ ## 🔍 Hidden Model Stats & Discovery
91
+
92
+ Models possess hidden capability vectors that are initially undisclosed to players:
93
+
94
+ - 💰 **Cost**
95
+ - ⚡ **Latency**
96
+ - 🎯 **Quality**
97
+ - 🧠 **Reasoning**
98
+ - 💻 **Coding**
99
+ - 👁️ **Vision**
100
+ - 📜 **Context Length**
101
+
102
+ > [!TIP]
103
+ > Players uncover hidden stats through trial and error. Later progression unlocks an **Encyclopedia** detailing exact model strengths.
104
+
105
+ ---
106
+
107
+ ## 📋 Request Attributes & Scenarios
108
+
109
+ Each request presents specific requirements:
110
+ - **Category:** `Text Processing`, `Coding`, `Vision`, `Long Context`, etc.
111
+ - **Difficulty:** `Low`, `Medium`, `High`
112
+ - **Max Latency SLA:** Maximum allowed time (e.g., `2.0s`)
113
+ - **Expected Quality:** Minimum required standard
114
+ - **Reward / Penalty:** Financial return vs refund risk
115
+
116
+ ### Example Scenarios
117
+
118
+ #### Scenario A: Simple Task
119
+ - **Task:** "Rewrite customer service email"
120
+ - **Reward:** `+$4.00` | **Quality:** Low | **Latency SLA:** Fast
121
+ - **Winning Choice:** **Nano** *(Maximizes profit margin)*
122
+
123
+ #### Scenario B: High-Risk Task
124
+ - **Task:** "Generate annual tax filing report"
125
+ - **Reward:** `+$80.00` | **Penalty:** `-$300.00` | **Quality:** High
126
+ - **Winning Choice:** **Large** *(Nano risks failure penalty)*
127
+
128
+ ---
129
+
130
+ ## 💬 Immediate Feedback Mechanics
131
+
132
+ Feedback is delivered instantaneously upon choice evaluation:
133
+
134
+ | Outcome | Feedback Example | Effect |
135
+ | :--- | :--- | :--- |
136
+ | **Success** | *"Great choice! Query resolved cleanly."* | Profit `+$7.00` |
137
+ | **Failure** | *"Customer rejected output. Hallucinated SQL syntax."* | Refund `-$18.00`, Trust `-5%` |
138
+
139
+ > [!IMPORTANT]
140
+ > Keep feedback concise and intriguing. Curiosity drives learning better than lectures.
141
+
142
+ ---
143
+
144
+ ## 🏁 End Screen Summary
145
+
146
+ At the conclusion of 20 requests, players receive a performance breakdown:
147
+
148
+ ```
149
+ +------------------------------------+
150
+ | DAY COMPLETE SUMMARY |
151
+ +------------------------------------+
152
+ | 💵 Gross Revenue: $214.00 |
153
+ | 📉 Inference Cost: -$63.00 |
154
+ | 😊 Customer Satisf.: 96% |
155
+ | -------------------------------- |
156
+ | 💰 NET PROFIT: $151.00 |
157
+ | 🏆 SCORE RANK: Top 28% |
158
+ +------------------------------------+
159
+ ```
160
+
161
+ ---
162
+
163
+ ## 🎲 Daily Seed & Progression
164
+
165
+ - **Daily Seed:** Every player receives the exact same sequence of 20 requests daily, creating a fair & competitive leaderboard experience.
166
+ - **Difficulty Progression:**
167
+ - **Day 1:** Simple text formatting & editing
168
+ - **Day 2:** Vision & multimodal requests
169
+ - **Day 3:** Complex coding & debugging
170
+ - **Day 4:** Long context summarization
171
+ - **Day 5:** Mixed heavy-workload scenarios
172
+
173
+ ---
174
+
175
+ ## 🚫 Out of Scope for V1
176
+
177
+ > [!WARNING]
178
+ > To ensure a weekend MVP launch, the following features are explicitly deferred:
179
+
180
+ - ❌ No RAG / Vector DBs
181
+ - ❌ No Agentic workflows
182
+ - ❌ No Caching / Prompt editing
183
+ - ❌ No Hardware / Model upgrades
184
+ - ❌ No Multiplayer or User Accounts
185
+
186
+ **Primary V1 Question to Answer:** *Is choosing models fun?*
187
+
188
+ ---
189
+
190
+ ## 🛠️ Minimal Tech Stack
191
+
192
+ - **Frontend:** React + Vite + Tailwind CSS
193
+ - **Data Source:** Single static `JSON` file describing daily requests
194
+ - **Backend:** None (100% client-side execution)
195
+ - **Persistence:** LocalStorage
package/docs/SCHEMA.md ADDED
@@ -0,0 +1,293 @@
1
+ # 📐 AI CTO — Data Schema & Architecture Specification
2
+
3
+ > **Overview:** This document defines all data models, TypeScript contracts, JSON schemas, and game engine data structures used in **AI CTO**. It includes an architectural review detailing the **Pros & Cons** of each schema design choice to guide future iteration.
4
+
5
+ ---
6
+
7
+ ## 📋 Table of Contents
8
+ 1. [Core Capabilities Vector Schema](#1-core-capabilities-vector-schema)
9
+ 2. [Model Schema (`models.json`)](#2-model-schema-modelsjson)
10
+ 3. [Request Schema (`requests.json`)](#3-request-schema-requestsjson)
11
+ 4. [Evaluation Result Schema](#4-evaluation-result-schema)
12
+ 5. [Turn History & Session State Schema](#5-turn-history--session-state-schema)
13
+ 6. [Persistence Schema (LocalStorage)](#6-persistence-schema-localstorage)
14
+ 7. [Comprehensive Pros & Cons Architectural Review](#7-comprehensive-pros--cons-architectural-review)
15
+
16
+ ---
17
+
18
+ ## 1. Core Capabilities Vector Schema
19
+
20
+ The foundational model representing both AI model capabilities and incoming request requirements across 5 capability dimensions.
21
+
22
+ ```typescript
23
+ export interface CapabilityVector {
24
+ /** Baseline quality requirement or output grade (Range: 1 to 5) */
25
+ quality: number;
26
+
27
+ /** Code generation & syntax correctness requirement (Range: 0 to 5) */
28
+ coding: number;
29
+
30
+ /** Logical deduction, step-by-step math & planning requirement (Range: 0 to 5) */
31
+ reasoning: number;
32
+
33
+ /** Image OCR, diagram understanding & visual parsing (Range: 0 to 5) */
34
+ vision: number;
35
+
36
+ /** Token window size requirement (Range: 1 to 5; 1 = short, 5 = 100k+ tokens) */
37
+ context: number;
38
+ }
39
+ ```
40
+
41
+ ---
42
+
43
+ ## 2. Model Schema (`models.json`)
44
+
45
+ Defines available inference models, their cost metrics, SLAs, and capability vectors.
46
+
47
+ ```typescript
48
+ export interface Model {
49
+ /** Unique model identifier ('nano' | 'mini' | 'large') */
50
+ id: 'nano' | 'mini' | 'large';
51
+
52
+ /** Display name shown in UI cards (e.g., "Nano") */
53
+ name: string;
54
+
55
+ /** UI badge subtitle (e.g., "Ultra Low Cost", "Heavyweight Reasoning") */
56
+ badge: string;
57
+
58
+ /** Inference cost per single request in USD ($) */
59
+ cost: number;
60
+
61
+ /** Expected latency delay in seconds (s) */
62
+ latency: number;
63
+
64
+ /** Short descriptive string highlighting strengths/weaknesses */
65
+ description: string;
66
+
67
+ /** Multidimensional vector defining model performance levels */
68
+ capabilities: CapabilityVector;
69
+ }
70
+ ```
71
+
72
+ ### Example Instance (`models.json`)
73
+
74
+ ```json
75
+ {
76
+ "id": "nano",
77
+ "name": "Nano",
78
+ "badge": "Ultra Low Cost",
79
+ "cost": 0.03,
80
+ "latency": 0.4,
81
+ "description": "Ultra-fast, cheapest model. Great for quick text cleanup, simple parsing, and low-risk requests.",
82
+ "capabilities": {
83
+ "quality": 2,
84
+ "coding": 1,
85
+ "reasoning": 1,
86
+ "vision": 0,
87
+ "context": 1
88
+ }
89
+ }
90
+ ```
91
+
92
+ ---
93
+
94
+ ## 3. Request Schema (`requests.json`)
95
+
96
+ Defines incoming customer tasks, SLA limits, financial rewards/penalties, and required capability vectors.
97
+
98
+ ```typescript
99
+ export interface RequestItem {
100
+ /** Unique request numeric ID (1 to 20) */
101
+ id: number;
102
+
103
+ /** Task headline shown to player */
104
+ title: string;
105
+
106
+ /** Detailed task context explaining customer constraints */
107
+ description: string;
108
+
109
+ /** Task classification category */
110
+ category: 'text' | 'coding' | 'vision' | 'context' | 'high_risk';
111
+
112
+ /** Relative difficulty tier */
113
+ difficulty: 'low' | 'medium' | 'high';
114
+
115
+ /** Financial payout in USD ($) awarded on successful completion */
116
+ reward: number;
117
+
118
+ /** Financial penalty / refund in USD ($) deducted on failure */
119
+ penalty: number;
120
+
121
+ /** Maximum acceptable customer SLA latency in seconds (s) */
122
+ slaLatency: number;
123
+
124
+ /** Minimum required capability vector for 100% success match */
125
+ reqCapabilities: CapabilityVector;
126
+ }
127
+ ```
128
+
129
+ ### Example Instance (`requests.json`)
130
+
131
+ ```json
132
+ {
133
+ "id": 13,
134
+ "title": "Generate annual tax filing report",
135
+ "description": "High-risk financial compliance output. Any calculation mistake triggers audit refund.",
136
+ "category": "high_risk",
137
+ "difficulty": "high",
138
+ "reward": 80.00,
139
+ "penalty": -250.00,
140
+ "slaLatency": 5.0,
141
+ "reqCapabilities": {
142
+ "quality": 5,
143
+ "coding": 3,
144
+ "reasoning": 5,
145
+ "vision": 0,
146
+ "context": 3
147
+ }
148
+ }
149
+ ```
150
+
151
+ ---
152
+
153
+ ## 4. Evaluation Result Schema
154
+
155
+ Returned by the pure TypeScript engine when a player dispatches a model choice for a request.
156
+
157
+ ```typescript
158
+ export interface EvaluationResult {
159
+ /** Boolean indicating whether customer accepted the generated output */
160
+ success: boolean;
161
+
162
+ /** Net financial delta in USD: (reward - cost) or (penalty - cost) */
163
+ profit: number;
164
+
165
+ /** Customer satisfaction / trust percentage change (-100% to +100%) */
166
+ trustDelta: number;
167
+
168
+ /** Descriptive explanation of execution outcome */
169
+ message: string;
170
+
171
+ /** Snappy status copy (e.g., "Perfect fit", "Over-engineered", "Customer rejected output") */
172
+ copyFeedback: string;
173
+
174
+ /** Breakdown of individual requirement checks */
175
+ details: {
176
+ latencyMet: boolean;
177
+ qualityMet: boolean;
178
+ reasoningMet: boolean;
179
+ codingMet: boolean;
180
+ visionMet: boolean;
181
+ contextMet: boolean;
182
+ };
183
+ }
184
+ ```
185
+
186
+ ---
187
+
188
+ ## 5. Turn History & Session State Schema
189
+
190
+ Tracks user choices across the 20-request game loop.
191
+
192
+ ```typescript
193
+ export interface TurnHistoryItem {
194
+ request: RequestItem;
195
+ model: Model;
196
+ result: EvaluationResult;
197
+ }
198
+
199
+ export interface GameState {
200
+ /** Current available capital in USD ($) */
201
+ money: number;
202
+
203
+ /** Current customer satisfaction score (0% to 100%) */
204
+ trust: number;
205
+
206
+ /** Zero-indexed current turn number (0 to 19) */
207
+ currentTurn: number;
208
+
209
+ /** Array of completed turns in chronological order */
210
+ history: TurnHistoryItem[];
211
+
212
+ /** Active modal evaluation result (null if waiting for choice) */
213
+ activeResult: EvaluationResult | null;
214
+
215
+ /** Flag set to true when turn 20 is completed */
216
+ isGameOver: boolean;
217
+ }
218
+ ```
219
+
220
+ ---
221
+
222
+ ## 6. Persistence Schema (LocalStorage)
223
+
224
+ Format used for persisting user high scores and session statistics across visits.
225
+
226
+ ```typescript
227
+ export interface SavedState {
228
+ version: string;
229
+ bestScore: number;
230
+ highestProfit: number;
231
+ sessionsCompleted: number;
232
+ unlockedEncyclopediaIds: string[];
233
+ lastPlayedDate: string; // ISO String (e.g. "2026-08-01")
234
+ }
235
+ ```
236
+
237
+ ---
238
+
239
+ ## 7. Comprehensive Pros & Cons Architectural Review
240
+
241
+ Here is an architectural review of the schema design decisions:
242
+
243
+ ### A. Multidimensional Capability Vectors (`CapabilityVector`)
244
+
245
+ - **Pros:**
246
+ - 🟢 **Generic & Scalable:** Engine logic relies on generic vector comparisons (`reqCapabilities` vs `capabilities`) rather than hardcoded `if/else` checks per request type.
247
+ - 🟢 **Extensible:** Adding new dimensions (e.g. `multilingual`, `audio`, `functionCalling`) requires only extending the vector interface without refactoring evaluation logic.
248
+ - 🟢 **Rich Trade-offs:** Allows creating nuanced requests (e.g., high coding but low vision vs high reasoning but short context).
249
+ - **Cons:**
250
+ - 🔴 **Initial Complexity:** Players must learn what each vector dimension means (Quality, Coding, Reasoning, Vision, Context) rather than a single simple star rating.
251
+ - 🔴 **Hidden Stats Obscurity:** If hidden stats aren't exposed cleanly in the UI, failure reasons can feel opaque to novice players.
252
+
253
+ ---
254
+
255
+ ### B. Fixed JSON Scenarios (`requests.json`) vs Procedural Generation
256
+
257
+ - **Pros:**
258
+ - 🟢 **Deterministic Daily Challenge:** Ensures every player gets the exact same 20 requests on a given day for fair competitive leaderboards.
259
+ - 🟢 **Handcrafted Pacing:** Allows designing specific difficulty curves (e.g., low-risk text on Turn 1, extreme high-risk tax audit on Turn 13, enterprise migration on Turn 20).
260
+ - 🟢 **Zero Runtime Overhead:** Instant load time with no RNG calculation lag or invalid request edge-cases.
261
+ - **Cons:**
262
+ - 🔴 **Finite Replayability:** Once a player memorizes the optimal model choice for the 20 fixed requests, replay value drops until new JSON packs are released.
263
+ - 🔴 **Manual Maintenance:** Modifying request balance requires manually editing JSON files.
264
+
265
+ ---
266
+
267
+ ### C. Flat Asymmetric Reward vs Penalty Schema (`reward` / `penalty`)
268
+
269
+ - **Pros:**
270
+ - 🟢 **High-Stakes Tension:** Large penalties (e.g. `Reward: +$80` vs `Penalty: -$250`) force players to think carefully about risk tolerance rather than blindly selecting the cheapest Nano model.
271
+ - 🟢 **Realistic Business Simulation:** Mirrors real AI startup dynamics where severe outages or hallucinated compliance advice destroy customer trust and revenue.
272
+ - **Cons:**
273
+ - 🔴 **Punishing First Playthrough:** Players who pick Nano on Turn 13 without understanding hidden capability requirements suffer massive negative balance drops.
274
+
275
+ ---
276
+
277
+ ### D. Client-Side LocalStorage vs Server-Side DB
278
+
279
+ - **Pros:**
280
+ - 🟢 **Zero Backend Overhead:** Zero server hosting costs, zero database management, zero latency, zero login flow required.
281
+ - 🟢 **Instant Playability:** Game starts instantly in any web browser without auth barriers.
282
+ - **Cons:**
283
+ - 🔴 **Tamper Risk:** Savvy users can manually edit `localStorage` values to spoof high scores. (Sufficient for V1 MVP validation, but would require a backend for cash prize leaderboards).
284
+
285
+ ---
286
+
287
+ ## 🔍 Review & Feedback Checklist for You
288
+
289
+ Please review the data schemas and pros/cons above:
290
+
291
+ 1. **Vector Dimension Granularity:** Do you like having 5 distinct capability dimensions (`quality`, `coding`, `reasoning`, `vision`, `context`), or would you prefer simplifying to just 3 (`quality`, `speed`, `complexity`)?
292
+ 2. **Financial Balance:** Are the high-risk penalties (e.g. `+$80` reward vs `-$250` penalty) creating the right level of tension, or should failure penalties be capped at 2x the reward?
293
+ 3. **JSON vs Procedural Requests:** Should we keep handcrafted JSON request sets, or introduce procedural request generators for infinite replayability?