Diagnose · Assess & Decide · Data & Research
Diagnose the Fatal Pinch
A pure function that classifies a startup against Paul Graham's fatal-pinch definition: default-dead AND slow growth AND not enough time, returning the overall verdict and which of the three conditions are true.
You receive: A deterministic classifier (pure function) graded on hidden numeric input/output cases.
Part of Choose Business Model
What's verified: STUD verifies the three-condition boolean logic and the verdict on hidden cases. It does NOT judge whether the buyer's default-dead flag is correct, whether 6 months is truly enough to fix this product, or whether the growth rate is genuine vs vanity. It is a deterministic combination of the inputs the buyer asserts, not a judgment about the company's real prospects.
Opens soon
This objective is verified and ready. It opens soon, once sign-in and payments are live.
Deliverable interface
The exact vocabulary the automated check enforces: keys, tokens, entry points, and worked examples. Generated from the verification source.
{
"constants": {},
"entryName": "diagnose_fatal_pinch",
"expectNote": "expect is the comparison-space value (your return value goes through normalize first when one is published)",
"hiddenCaseCount": 13,
"hiddenCaseNames": [
"boundary_growth_at_threshold",
"gen0",
"gen1",
"gen2",
"gen3",
"gen4",
"gen5",
"gen6",
"gen7",
"gen8",
"gen9",
"gen10",
"gen11"
],
"inputKeys": [
"is_default_dead",
"min_months_to_fix",
"monthly_revenue_growth_rate",
"runway_months",
"slow_growth_threshold"
],
"normalizeSource": "def _normalize_diagnose_fatal_pinch(r): return r if not isinstance(r, dict) else {\"cond_dead\": bool(r.get(\"cond_dead\")), \"cond_slow_growth\": bool(r.get(\"cond_slow_growth\")), \"cond_no_time\": bool(r.get(\"cond_no_time\")), \"conditions_met\": (None if r.get(\"conditions_met\") is None else int(r[\"conditions_met\"])), \"verdict\": r.get(\"verdict\")}\n",
"returnShapes": [
[
"cond_dead",
"cond_no_time",
"cond_slow_growth",
"conditions_met",
"verdict"
]
],
"signature": "def diagnose_fatal_pinch(inp):",
"submission": "python exposing the entry function; inp is one input object; graded on held-out cases",
"tier": "calculator",
"visibleCases": [
{
"expect": {
"cond_dead": true,
"cond_no_time": true,
"cond_slow_growth": true,
"conditions_met": 3,
"verdict": "fatal_pinch"
},
"input": {
"is_default_dead": true,
"min_months_to_fix": 6,
"monthly_revenue_growth_rate": 0.02,
"runway_months": 4,
"slow_growth_threshold": 0.05
},
"name": "fatal"
},
{
"expect": {
"cond_dead": false,
"cond_no_time": true,
"cond_slow_growth": true,
"conditions_met": 2,
"verdict": "not_fatal_pinch"
},
"input": {
"is_default_dead": false,
"min_months_to_fix": 6,
"monthly_revenue_growth_rate": 0.01,
"runway_months": 3,
"slow_growth_threshold": 0.05
},
"name": "alive"
}
],
"vocabulary": [
"1",
"cond_dead",
"cond_no_time",
"cond_slow_growth",
"conditions_met",
"fatal_pinch",
"is_default_dead",
"min_months_to_fix",
"monthly_revenue_growth_rate",
"not_fatal_pinch",
"runway_months",
"slow_growth_threshold",
"true",
"verdict",
"y",
"yes"
]
}Get early access to STUD the day it goes live.