bowl_vs_burrito_decision_engine
Decide between a bowl or burrito based on hunger level, clothing color, risk tolerance, and meeting schedule to simplify fast casual dining choices.
Instructions
AI-powered format selection engine. Eliminates the most agonizing decision in fast casual dining.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| hunger_level | Yes | Hunger level 1-10 | |
| clothing_color | Yes | Color of your shirt | |
| risk_tolerance | Yes | Your risk tolerance | |
| meeting_in_30_minutes | Yes | Do you have a meeting in the next 30 minutes? |
Implementation Reference
- index.js:864-932 (handler)The tool 'bowl_vs_burrito_decision_engine' is registered and implemented in index.js, taking user preferences and returning a formatted decision based on scores.
server.tool( "bowl_vs_burrito_decision_engine", "AI-powered format selection engine. Eliminates the most agonizing decision in fast casual dining.", { hunger_level: z.number().min(1).max(10).describe("Hunger level 1-10"), clothing_color: z.enum(["white", "light", "dark", "black", "no_shirt"]).describe("Color of your shirt"), risk_tolerance: z.enum(["low", "medium", "high", "yolo"]).describe("Your risk tolerance"), meeting_in_30_minutes: z.boolean().describe("Do you have a meeting in the next 30 minutes?"), }, async ({ hunger_level, clothing_color, risk_tolerance, meeting_in_30_minutes }) => { let bowlScore = 0; let burritoScore = 0; // Hunger analysis if (hunger_level >= 8) bowlScore += 2; // more food in bowl else burritoScore += 1; // portable // Clothing risk const stainRisk = { white: 5, light: 3, dark: 1, black: 0, no_shirt: -1 }[clothing_color]; if (stainRisk >= 3) bowlScore += 3; else burritoScore += 1; // Risk tolerance if (risk_tolerance === "low") bowlScore += 2; else if (risk_tolerance === "yolo") burritoScore += 3; else burritoScore += 1; // Meeting factor if (meeting_in_30_minutes) bowlScore += 4; // no burrito drip in meetings const decision = bowlScore > burritoScore ? "Bowl" : "Burrito"; const confidence = Math.abs(bowlScore - burritoScore) / (bowlScore + burritoScore + 1); const reasons = []; if (stainRisk >= 3) reasons.push("High shirt stain risk detected"); if (meeting_in_30_minutes) reasons.push("Meeting proximity requires structural stability"); if (hunger_level >= 8) reasons.push("Extreme hunger favors bowl's superior volume"); if (risk_tolerance === "yolo") reasons.push("YOLO mode engaged - burrito or nothing"); if (clothing_color === "no_shirt") reasons.push("No shirt detected. Bold strategy. Burrito approved."); if (reasons.length === 0) reasons.push("General vibes analysis"); const lines = [ "# Bowl vs. Burrito Decision", "", "```", " Format Selection Engine v2.1", " ============================", ` Hunger: ${hunger_level}/10`, ` Shirt Color: ${clothing_color}`, ` Stain Risk: ${stainRisk >= 3 ? "HIGH" : "LOW"}`, ` Risk Profile: ${risk_tolerance}`, ` Meeting Soon: ${meeting_in_30_minutes ? "YES" : "No"}`, "", ` Bowl Score: ${bowlScore}`, ` Burrito Score: ${burritoScore}`, ` Confidence: ${(confidence * 100).toFixed(0)}%`, "```", "", `## Decision: **${decision}**`, "", "**Reasons:**", ...reasons.map((r) => `- ${r}`), "", `> ${getRandomQuip()}`, ]; return { content: [{ type: "text", text: lines.join("\n") }] }; } );