← The evidence ledger
Evidence row 308593
Observed , by probe.mcp/1.
- Kind
- mcp.tools
- About
- endpoint 05742371-27f2-4a1e-95f1-adc63a02ef4b
- Recorded
- Previous row
- None: the first of its kind about this subject
- Body SHA-256
- 9fd6f1ee182b882cbfad28a06f297342bd957c594ded521452363b9b8fa1f73d
- Leaf
- 0xdfa26d60c16275064c9f6541d8e127e09a4e014a4e2f2bebf1af7f12767c756b
What was observed
{
"count": 21,
"tools": [
{
"description": "Compute barrier_score (0-24) + label (PRISTINE/OPEN/COMPETITIVE/CROWDED) from competitor counts + SERP noise fraction.",
"inputSchema": {
"properties": {
"adjacentCompetitorCount": {
"default": 0,
"minimum": 0,
"type": "integer"
},
"directCompetitorCount": {
"minimum": 0,
"type": "integer"
},
"serpNoise": {
"default": 0,
"maximum": 1,
"minimum": 0,
"type": "number"
}
},
"required": [
"directCompetitorCount"
],
"type": "object"
},
"name": "compute_barrier"
},
{
"description": "Compute budget_proof_score (0-10) + label (STRONG/CONFIRMED/WEAK/ABSENT) + purchase_intent_pct from pricing hits + review-site hits + intent mentions.",
"inputSchema": {
"properties": {
"hasNamedPricing": {
"type": "boolean"
},
"pricingHitsCount": {
"minimum": 0,
"type": "integer"
},
"purchaseIntentMentions": {
"minimum": 0,
"type": "integer"
},
"reviewSiteHitsCount": {
"minimum": 0,
"type": "integer"
}
},
"required": [
"pricingHitsCount"
],
"type": "object"
},
"name": "compute_budget_proof"
},
{
"description": "Compute build_complexity_penalty (0-10, higher = worse) + per-factor breakdown. Hard tags: ml/realtime/blockchain/hardware/compliance/custom-ai/regulated/on-device-ai/iot.",
"inputSchema": {
"properties": {
"externalApisCount": {
"minimum": 0,
"type": "integer"
},
"integrationsCount": {
"minimum": 0,
"type": "integer"
},
"stackComplexityTags": {
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"externalApisCount"
],
"type": "object"
},
"name": "compute_build_complexity"
},
{
"description": "Compute 12 deterministic collection scores (0-100) + badges + death reason for an enriched idea. Pure math. No external calls.",
"inputSchema": {
"properties": {
"analysisId": {
"type": "string"
},
"enrichedData": {
"description": "EnrichedData with canonical_idea signals.",
"type": "object"
}
},
"required": [
"analysisId",
"enrichedData"
],
"type": "object"
},
"name": "compute_collection_scores"
},
{
"description": "Crossed-product audit explorer. Same input as compute_dealbreakers_v2 — returns substrate verdict (no-observer baseline) + crossed verdict (when observer supplied) + a 5-row matrix of {solo, cofounded_technical, cofounded_business, domain_expert, serial} archetype verdicts. Never persists; meant for the dashboard \"view as [archetype]\" dropdown and for previewing a verdict before committing to it.",
"inputSchema": {
"properties": {
"hasMajorContradiction": {
"default": false,
"type": "boolean"
},
"lensScores": {
"items": {
"properties": {
"confidence": {
"maximum": 1,
"minimum": 0,
"type": "number"
},
"lens": {
"enum": [
"team",
"problem_solution",
"traction",
"competition",
"gtm",
"finance"
],
"type": "string"
},
"redFlag": {
"type": "boolean"
},
"score": {
"maximum": 100,
"minimum": 0,
"type": "number"
}
},
"required": [
"lens",
"score",
"confidence"
],
"type": "object"
},
"type": "array"
},
"observer": {
"description": "Founder profile that crosses with the substrate idea to produce an observer-relative verdict. When omitted, only the substrate verdict is returned.",
"properties": {
"capital_usd_band": {
"enum": [
"under_50k",
"50k_500k",
"500k_5m",
"over_5m"
],
"type": "string"
},
"exit_goal": {
"enum": [
"lifestyle",
"acquisition",
"ipo",
"unicorn"
],
"type": "string"
},
"expertise_sectors": {
"items": {
"maxLength": 80,
"minLength": 2,
"type": "string"
},
"maxItems": 8,
"type": "array"
},
"founder_type": {
"enum": [
"solo",
"cofounded_technical",
"cofounded_business",
"domain_expert",
"serial"
],
"type": "string"
},
"risk_tolerance": {
"enum": [
"conservative",
"moderate",
"aggressive"
],
"type": "string"
},
"runway_months": {
"maximum": 60,
"minimum": 0,
"type": "integer"
},
"time_horizon_years": {
"maximum": 15,
"minimum": 1,
"type": "integer"
}
},
"required": [
"founder_type"
],
"type": "object"
},
"sector": {
"type": "string"
},
"stage": {
"enum": [
"idea",
"mvp",
"seed",
"series_a_plus"
],
"type": "string"
},
"stageProbabilities": {
"properties": {
"idea": {
"maximum": 1,
"minimum": 0,
"type": "number"
},
"mvp": {
"maximum": 1,
"minimum": 0,
"type": "number"
},
"seed": {
"maximum": 1,
"minimum": 0,
"type": "number"
},
"series_a_plus": {
"maximum": 1,
"minimum": 0,
"type": "number"
}
},
"type": "object"
},
"unresolvedContradictions": {
"default": 0,
"minimum": 0,
"type": "integer"
}
},
"required": [
"stage",
"lensScores"
],
"type": "object"
},
"name": "compute_crossed_matrix"
},
{
"description": "Methodology v2 dealbreakers — stage-aware weights + confidence-weighted lens scoring + risk-asymmetric verdict (GO requires score≥80 AND zero red flags AND avg confidence≥0.6). Optional `observer` triggers the crossed-product pipeline: substrate verdict (no-observer baseline) PLUS crossed verdict (observer-perturbed weights, risk-tolerance shifted thresholds) PLUS 5-row archetype matrix. The KILL gate (≥2 blockers / score<50) is observer-invariant — fatal stays fatal.",
"inputSchema": {
"properties": {
"hasMajorContradiction": {
"default": false,
"type": "boolean"
},
"lensScores": {
"items": {
"properties": {
"confidence": {
"maximum": 1,
"minimum": 0,
"type": "number"
},
"lens": {
"enum": [
"team",
"problem_solution",
"traction",
"competition",
"gtm",
"finance"
],
"type": "string"
},
"redFlag": {
"type": "boolean"
},
"score": {
"maximum": 100,
"minimum": 0,
"type": "number"
}
},
"required": [
"lens",
"score",
"confidence"
],
"type": "object"
},
"type": "array"
},
"observer": {
"description": "Founder profile that crosses with the substrate idea to produce an observer-relative verdict. When omitted, only the substrate verdict is returned.",
"properties": {
"capital_usd_band": {
"enum": [
"under_50k",
"50k_500k",
"500k_5m",
"over_5m"
],
"type": "string"
},
"exit_goal": {
"enum": [
"lifestyle",
"acquisition",
"ipo",
"unicorn"
],
"type": "string"
},
"expertise_sectors": {
"items": {
"maxLength": 80,
"minLength": 2,
"type": "string"
},
"maxItems": 8,
"type": "array"
},
"founder_type": {
"enum": [
"solo",
"cofounded_technical",
"cofounded_business",
"domain_expert",
"serial"
],
"type": "string"
},
"risk_tolerance": {
"enum": [
"conservative",
"moderate",
"aggressive"
],
"type": "string"
},
"runway_months": {
"maximum": 60,
"minimum": 0,
"type": "integer"
},
"time_horizon_years": {
"maximum": 15,
"minimum": 1,
"type": "integer"
}
},
"required": [
"founder_type"
],
"type": "object"
},
"sector": {
"type": "string"
},
"stage": {
"enum": [
"idea",
"mvp",
"seed",
"series_a_plus"
],
"type": "string"
},
"stageProbabilities": {
"properties": {
"idea": {
"maximum": 1,
"minimum": 0,
"type": "number"
},
"mvp": {
"maximum": 1,
"minimum": 0,
"type": "number"
},
"seed": {
"maximum": 1,
"minimum": 0,
"type": "number"
},
"series_a_plus": {
"maximum": 1,
"minimum": 0,
"type": "number"
}
},
"type": "object"
},
"unresolvedContradictions": {
"default": 0,
"minimum": 0,
"type": "integer"
}
},
"required": [
"stage",
"lensScores"
],
"type": "object"
},
"name": "compute_dealbreakers_v2"
},
{
"description": "Compute funding_momentum_score (0-10) + badge (HOT/WARM/COOL/COLD) from tier-weighted funding-article hit counts.",
"inputSchema": {
"properties": {
"hitsByTier": {
"properties": {
"presswire": {
"minimum": 0,
"type": "integer"
},
"regional": {
"minimum": 0,
"type": "integer"
},
"tier_1": {
"minimum": 0,
"type": "integer"
},
"vertical": {
"minimum": 0,
"type": "integer"
}
},
"type": "object"
},
"recent30dHits": {
"minimum": 0,
"type": "integer"
}
},
"required": [
"hitsByTier"
],
"type": "object"
},
"name": "compute_funding_momentum"
},
{
"description": "Compute hiring_demand_score (0-10) from priority-weighted ATS site hit counts (use registries/hiring-sources for priorities).",
"inputSchema": {
"properties": {
"sites": {
"items": {
"properties": {
"domain": {
"type": "string"
},
"hits": {
"minimum": 0,
"type": "integer"
},
"priority": {
"enum": [
1,
2,
3
],
"type": "integer"
}
},
"required": [
"domain",
"hits",
"priority"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"sites"
],
"type": "object"
},
"name": "compute_hiring_demand"
},
{
"description": "Compose lrs_final_100 (0-100) + label (WEAK/EMERGING/GOOD/STRONG/ELITE) + leaderboard_eligible flag + sub-percent breakdown. Weights: sv 0.25, sp 0.30, barrier 0.25, monetization 0.20.",
"inputSchema": {
"properties": {
"barrierScore": {
"maximum": 24,
"minimum": 0,
"type": "number"
},
"monetizationScore": {
"maximum": 21,
"minimum": 0,
"type": "number"
},
"searchVelocityScore": {
"maximum": 25,
"minimum": 0,
"type": "number"
},
"socialPainScore": {
"maximum": 30,
"minimum": 0,
"type": "number"
}
},
"required": [
"searchVelocityScore",
"socialPainScore",
"barrierScore",
"monetizationScore"
],
"type": "object"
},
"name": "compute_lrs_composite"
},
{
"description": "LRS composite v2 — 6 components (SV, Pain, Barrier, Monet, X-Signal, Budget-Proof). Default Python weights 0.18/0.22/0.18/0.14/0.18/0.10 sum=1.0. Returns BOTH weighted score and equal-weight baseline (per OECD Handbook + Greco 2018 — equal-weight is defensible default when no outcome calibration exists). buildComplexityPenalty 0-10 subtracted from score. sectorProfile (ai_native/creator/crypto) opt-in reshuffles SV→0.16, X→0.20. Labels: THE_ROAR (≥80) / PROMISING (≥60) / EXPERIMENTAL (≥40) / WEAK_SIGNAL (<40).",
"inputSchema": {
"properties": {
"barrierScore": {
"maximum": 24,
"minimum": 0,
"type": "number"
},
"budgetProofScore": {
"maximum": 10,
"minimum": 0,
"type": "number"
},
"buildComplexityPenalty": {
"maximum": 10,
"minimum": 0,
"type": "number"
},
"monetizationScore": {
"maximum": 21,
"minimum": 0,
"type": "number"
},
"searchVelocityScore": {
"maximum": 25,
"minimum": 0,
"type": "number"
},
"sectorProfile": {
"description": "Opt-in sector weight override. Default uses Python canonical weights.",
"enum": [
"default",
"ai_native",
"creator",
"crypto"
],
"type": "string"
},
"socialPainScore": {
"maximum": 30,
"minimum": 0,
"type": "number"
},
"xSignalScore": {
"maximum": 20,
"minimum": 0,
"type": "number"
}
},
"required": [
"searchVelocityScore",
"socialPainScore",
"barrierScore",
"monetizationScore",
"xSignalScore",
"budgetProofScore"
],
"type": "object"
},
"name": "compute_lrs_composite_v2"
},
{
"description": "Compute monetization_score (0-21) + label + has_pricing_anchors from pricing anchors + model tags + deal cycle hint.",
"inputSchema": {
"properties": {
"dealCycle": {
"description": "instant/days/weeks/months/quarters",
"type": "string"
},
"modelTags": {
"description": "e.g. [\"subscription\",\"usage\",\"marketplace\"]",
"items": {
"type": "string"
},
"type": "array"
},
"pricingAnchorsCount": {
"minimum": 0,
"type": "integer"
}
},
"required": [
"pricingAnchorsCount"
],
"type": "object"
},
"name": "compute_monetization"
},
{
"description": "Multi-source TAM consensus. Pass 2-3 sources of market-size text. Optional `estimateYear` per source — when supplied, the result includes yearRange and a hasStaleData flag (true if the span exceeds 5 years). Outliers are dropped by modified Z-score over the median absolute deviation when n≥4. Returns the extracted dollar amounts + consensus median + an agreement score 0..1, where 1 means every source lands within 20% of the median.",
"inputSchema": {
"properties": {
"inputs": {
"items": {
"properties": {
"estimateYear": {
"description": "Optional: year the estimate was published.",
"maximum": 2100,
"minimum": 1990,
"type": "integer"
},
"source": {
"type": "string"
},
"text": {
"type": "string"
}
},
"required": [
"source",
"text"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"inputs"
],
"type": "object"
},
"name": "compute_multi_source_tam"
},
{
"description": "Wave 5 N.4 — compute ppc_spend_score (0-10) + label (STRONG/CONFIRMED/WEAK/ABSENT) + market_saturation from PPC traffic projection (avgCpcUsd, totalMonthlySpendUsd, optional competitorBidders + competition). Feed numbers from dataforseo_ad_traffic.",
"inputSchema": {
"properties": {
"avgCpcUsd": {
"minimum": 0,
"type": "number"
},
"competition": {
"maximum": 1,
"minimum": 0,
"type": "number"
},
"competitorBidders": {
"minimum": 0,
"type": "integer"
},
"totalMonthlySpendUsd": {
"minimum": 0,
"type": "number"
}
},
"required": [
"avgCpcUsd",
"totalMonthlySpendUsd"
],
"type": "object"
},
"name": "compute_ppc_spend_signal"
},
{
"description": "Compute search_velocity_score (0-25) from Trends timeline values + rising queries count + geo region count.",
"inputSchema": {
"properties": {
"geoRegionCount": {
"minimum": 0,
"type": "integer"
},
"risingQueriesCount": {
"minimum": 0,
"type": "integer"
},
"timelineValues": {
"description": "Monthly Trends values 0-100 (e.g. last 10-12 months).",
"items": {
"maximum": 100,
"minimum": 0,
"type": "number"
},
"type": "array"
}
},
"required": [
"timelineValues"
],
"type": "object"
},
"name": "compute_search_velocity"
},
{
"description": "Search velocity (0-25) v2 — canonical 0.40*volume + 0.30*trend + 0.20*intent + 0.10*geo. CRITICAL: externalVolumeNorm MUST come from external sources (Amazon BSR / app store installs / job-board postings) — NOT the Trends timeline (would double-count, since Trends is itself normalized 0-100 within window). trendNorm is derived internally from trendsTimelineValues. Trends peak<50 zeroes the trend component (Yotpo SEO floor). Optional daysSinceLastSignal applies exponential freshness decay (search half-life 90d).",
"inputSchema": {
"properties": {
"daysSinceLastSignal": {
"description": "Optional: days since most recent confirming signal. Triggers exponential freshness decay (half-life 90d).",
"minimum": 0,
"type": "number"
},
"externalVolumeNorm": {
"description": "Normalized 0-1 demand volume from EXTERNAL sources (Amazon, app stores, jobs). Caller normalizes before passing.",
"maximum": 1,
"minimum": 0,
"type": "number"
},
"geoSpreadNorm": {
"description": "0-1 geographic spread (regions with interest > threshold).",
"maximum": 1,
"minimum": 0,
"type": "number"
},
"intentNorm": {
"description": "0-1 commercial/transactional intent ratio.",
"maximum": 1,
"minimum": 0,
"type": "number"
},
"trendsTimelineValues": {
"description": "Monthly Trends values 0-100. Used ONLY to derive trendNorm — never as raw volume.",
"items": {
"maximum": 100,
"minimum": 0,
"type": "number"
},
"type": "array"
}
},
"required": [
"trendsTimelineValues",
"externalVolumeNorm",
"intentNorm",
"geoSpreadNorm"
],
"type": "object"
},
"name": "compute_search_velocity_v2"
},
{
"description": "Compute social_pain_score (0-30) + total mentions + dominant perspective (business/consumer/trend/mixed).",
"inputSchema": {
"properties": {
"categoryCounts": {
"properties": {
"business": {
"minimum": 0,
"type": "integer"
},
"consumer": {
"minimum": 0,
"type": "integer"
},
"trend": {
"minimum": 0,
"type": "integer"
}
},
"type": "object"
},
"intentMentions": {
"default": 0,
"minimum": 0,
"type": "integer"
},
"painMentions": {
"minimum": 0,
"type": "integer"
},
"urgencyMentions": {
"default": 0,
"minimum": 0,
"type": "integer"
}
},
"required": [
"painMentions"
],
"type": "object"
},
"name": "compute_social_pain"
},
{
"description": "Compose composite_urgency_score (0-10) + badge (LOW/MEDIUM/HIGH/VERY_HIGH/EXTREME) from 3 sub-scores: news, pain, hiring.",
"inputSchema": {
"properties": {
"hiringSignalScore": {
"maximum": 10,
"minimum": 0,
"type": "number"
},
"newsSignalScore": {
"maximum": 10,
"minimum": 0,
"type": "number"
},
"painSignalScore": {
"maximum": 10,
"minimum": 0,
"type": "number"
}
},
"required": [
"newsSignalScore",
"painSignalScore",
"hiringSignalScore"
],
"type": "object"
},
"name": "compute_urgency_composite"
},
{
"description": "Compute x_signal_score (0-20) + recency share + positivity rate from X/Twitter mention counts.",
"inputSchema": {
"properties": {
"founderMentions": {
"minimum": 0,
"type": "integer"
},
"mentionsCount": {
"minimum": 0,
"type": "integer"
},
"recent7dCount": {
"minimum": 0,
"type": "integer"
},
"sentimentNegative": {
"minimum": 0,
"type": "integer"
},
"sentimentPositive": {
"minimum": 0,
"type": "integer"
}
},
"required": [
"mentionsCount"
],
"type": "object"
},
"name": "compute_x_signal"
},
{
"description": "Derive a falsifiable, data-driven list of kill criteria from upstream signals — the outputs of validate_unit_economics and compute_dealbreakers_v2, plus an ICP drift count. Returns one row per rule with {rule, threshold, status, evidence?}, where status is tripped_now / monitor / cleared. Replaces prose kill criteria, which are tautologies that can never fire.",
"inputSchema": {
"properties": {
"dealbreakers": {
"description": "The result of compute_dealbreakers_v2.",
"type": "object"
},
"icpDriftCount": {
"minimum": 0,
"type": "integer"
},
"unitEcon": {
"description": "The result of validate_unit_economics.",
"type": "object"
}
},
"required": [],
"type": "object"
},
"name": "derive_kill_criteria"
},
{
"description": "What this server is, what it will do for you right now without an account, and what an account adds. Call this first if you have no API key — it answers in one round trip instead of sending you to a website.",
"inputSchema": {
"properties": {},
"required": [],
"type": "object"
},
"name": "get_started"
},
{
"description": "Sanity-check a unit-economics row before publishing it in a business-model slide. Catches the math-drift class of failures (customers × ARPU ≠ revenue), enforces the LTV/CAC ≥ 1.5 floor, the cohort-positivity check, and CAC payback bounds. Returns {ok, errors[{rule, severity, detail}], derived{ratios}}. Skills MUST regenerate the row when ok=false (block-severity errors); warn-severity errors should be surfaced in the final report but do not gate publication. No LLM calls.",
"inputSchema": {
"properties": {
"annualRevenue": {
"type": "number"
},
"arpu": {
"type": "number"
},
"cac": {
"type": "number"
},
"customers": {
"type": "number"
},
"grossMargin": {
"type": "number"
},
"ltv": {
"type": "number"
},
"monthlyChurn": {
"type": "number"
}
},
"required": [
"customers",
"arpu",
"annualRevenue"
],
"type": "object"
},
"name": "validate_unit_economics"
}
]
}What the leaf hashes
{"body":"9fd6f1ee182b882cbfad28a06f297342bd957c594ded521452363b9b8fa1f73d","id":308593,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793058359545062,"prev":null,"subject":"05742371-27f2-4a1e-95f1-adc63a02ef4b","subject_kind":"endpoint"}Proof
Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (296695 rows).
- 0xdfa1f7eba4e63407c5903c985a8feb71ced3ba967c228d5d472b21224de34852
- 0xcbbc01af73702eb3fd3734cecc85dce10a7663d992b836e8fbc8f41dbb11e350
- 0x3b355e8b4bb4495aeee6057082f1f24c87a01b832e5e6c823d89cf53b03a7f69
- 0xad6bc9acd93dd793aa87067ed7705f167f1d6fa332234a40d7a2b8652b75dfea
- 0x14687dba2296f6a316b57abdde3b679667185a2537c372006301cd2536991b5a
- 0x2a0a0c4c06a1c6782bc0b196d306858345f850fb8a8417fe09a7cf4041523db2
- 0x9696a66068ae2740c678dfc7973c3b3a47a02812d498aabfe47b53b143de5534
- 0x0a1c6d3e0c6653f56b2ae5018212dfe76399c98a41e4f7a3a5bfdc01110920f6
- 0x3830eb775e688eed07a1723431045777b46580e6959e9ce587f21cb3b8015b8e
- 0x31ae1db8a7234b94d9fe5367527c887819eae31f8682d2506d2e71c84c07ccd6
- 0x81e0a64a684968fee123ac8017e882fda3952628b73684e4b974157cf7552f06
- 0x1cde596bd397df62b2525df79e5a761af7d1a292cbcfd283ea8977aecf9334e7
- 0x3fcdf7fa32ccefe771eb57ae3015142065d64e3ce732fea7d11b9a3c99dde44f
- 0x0b7541c75cc482a7134110311d7dbd02095d969ba21177de9b21a52a55981718
- 0x6dc40f983a3840a0ad927a9ca17f4ff1e3b649a6c735e2a09b140db7c2caf13b
- 0x703f95866af09c5e5d6ead7411e9a10f964a41a2aff64d4a55ff0053c023a023
- 0xd0651cb9bc8155eb52b5247d506e74b8a935057dc190ba52091702ac25ed3a40
- 0x9a9024edb5069d88a324facb310a5ce8e495214bbaa968f077bede437390194f
- 0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a
- Day root
- 0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
- Chained
- 0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
- Published
- On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae