USE WHEN
FUN / RUBRIC LAB · R01
Startup Idea Stress Test
Inspect what your startup description still leaves unsupported—without pretending to predict success.
DECISION CONSOLERECIPE R01 · V1.0.0
01
STATE INPUT
Edit the supplied state
02
TYPED RESULT
Signal monitor
Illustrative fixture
Customer Specificityscore
1.50Rubric position · zero-indexedProvider confidence: 48%
Problem Specificityscore
2.70Rubric position · zero-indexedProvider confidence: 44%
Differentiationscore
1.20Rubric position · zero-indexedProvider confidence: 39%
Evidence Supportscore
0.20Rubric position · zero-indexedProvider confidence: 62%
Critical Unknownboolean
Probability of true91%
APPLICATION PATHResearch the assumptionsevidence-gap-or-critical-unknown
This labels the next validation step, not commercial success probability.
03
QUESTIONS / MODEL
Edit the bounded questions
Question edits require a new model run. Types and candidate/rubric boundaries stay locked to the recipe.
04
POLICY / LOCAL
Change the rules, not the result
↯ Policy changes are computed in this browser. Network calls added: 0.
Inspect result +
{
"origin": "fixture",
"answers": {
"customerSpecificity": {
"type": "score",
"score": 1.5,
"probabilities": {
"0": 0,
"1": 0.5,
"2": 0.5,
"3": 0,
"4": 0
}
},
"problemSpecificity": {
"type": "score",
"score": 2.7,
"probabilities": {
"0": 0,
"1": 0,
"2": 0.2999999999999998,
"3": 0.7000000000000002,
"4": 0
}
},
"differentiation": {
"type": "score",
"score": 1.2,
"probabilities": {
"0": 0,
"1": 0.8,
"2": 0.19999999999999996,
"3": 0,
"4": 0
}
},
"evidenceSupport": {
"type": "score",
"score": 0.2,
"probabilities": {
"0": 0.8,
"1": 0.2,
"2": 0,
"3": 0,
"4": 0
}
},
"criticalUnknown": {
"type": "boolean",
"probability": 0.91
}
},
"providerConfidence": {
"customerSpecificity": 0.48,
"problemSpecificity": 0.44,
"differentiation": 0.39,
"evidenceSupport": 0.62
},
"policyDecision": {
"action": "research",
"label": "Research the assumptions",
"reasonCodes": [
"evidence-gap-or-critical-unknown"
]
},
"run": null
}TypeScript export +
import { experimental_evaluate as evaluate } from 'ai';
const state = {
"idea": "An app that helps freelancers track unpaid invoices.",
"targetCustomer": "Freelancers",
"evidence": ""
};
const questions = {
"customerSpecificity": {
"type": "score",
"instructions": "How specifically does the supplied description identify the intended customer? Judge the text, not the market.",
"criteria": [
"No customer is described",
"A very broad group is named",
"A profession or business type is named",
"A narrow group and relevant situation are specified",
"A narrow group, workflow and explicit selection constraints are specified"
]
},
"problemSpecificity": {
"type": "score",
"instructions": "How concrete is the problem description in the supplied text?",
"criteria": [
"No problem is described",
"A vague inconvenience is stated",
"A recognizable problem is named",
"A concrete recurring workflow problem is described",
"The workflow, consequence and relevant situation are all explicit"
]
},
"differentiation": {
"type": "score",
"instructions": "How explicit is the proposed difference from alternatives in the supplied description? Do not invent competitors.",
"criteria": [
"No difference is described",
"Only a generic quality claim is made",
"A concrete feature difference is claimed",
"A feature difference is tied to an explicit user situation",
"The text explains a specific alternative and a relevant difference, with limitations"
]
},
"evidenceSupport": {
"type": "score",
"instructions": "How much relevant validation material is supplied in this text? This is not independent verification of the material.",
"criteria": [
"No validation material is supplied",
"Only beliefs or hypothetical demand are supplied",
"Specific user observations or interviews are reported",
"A relevant behavioral test or trial is reported with limitations",
"Relevant paid or repeated-use behavior is reported with enough context to inspect"
]
},
"criticalUnknown": {
"type": "boolean",
"instructions": "Does the supplied description leave a central demand or execution assumption untested?",
"criteria": {
"true": "A central assumption is missing evidence or is explicitly untested.",
"false": "The described central assumptions have relevant supplied evidence; this does not verify that evidence."
}
}
};
const policy = {
"evidenceFloor": 1,
"criticalUnknownThreshold": 0.6,
"specificityFloor": 2,
"differentiationFloor": 1
};
const result = await evaluate({
model: 'typesafe-ai/jev',
state,
questions,
maxRetries: 0,
providerOptions: { gateway: { zeroDataRetention: true } },
});
// Validate result.answers before applying your deterministic policy.
console.log({ answers: result.answers, policy });
DO NOT USE WHEN
You need market facts, investment advice, or independent evidence verification.
ACCEPTANCE INVARIANTS
- No business success probability is displayed.
- Empty evidence is never described as completed validation.
- Changing input invalidates the current result.
- Rule descriptions are not presented as generated model reasoning.