{
  "title": "Evo restaurant matching \u2014 October 2026 research benchmark",
  "evaluatedAt": "2026-10-10T06:08:54.598Z",
  "status": "In development. Candidate did not meet release criteria.",
  "scope": "Exact dish and restaurant identification from RGB photographs. Not calorie accuracy, portion estimation or depth geometry.",
  "method": "Frozen research candidate, selected before final inference; once-only held-out evaluation. 300 positive photos from 50 previously unused restaurant sources, plus 50 item-absent and 50 restaurant-absent controls. No prompt or label changed after selection. Matching used supplied candidate menus; this does not establish live nearby-menu retrieval performance.",
  "metrics": {
    "positivePhotos": 300,
    "negativeControls": 100,
    "returnedMatches": 362,
    "correctExactMatches": 220,
    "falseMatchesOnNegativeControls": 65,
    "exactPositiveRecall": 0.7333333333333333,
    "exactPrecisionIncludingNegativeControls": 0.6077348066298343,
    "negativeFalseAcceptanceRate": 0.65
  },
  "releaseCriteria": {
    "minimumExactPrecision": 0.95,
    "maximumNegativeFalseAcceptanceRate": 0.05,
    "met": false
  },
  "limitations": [
    "Controlled benchmark, not everyday-use accuracy.",
    "Research configuration, not a released production feature.",
    "Restaurant sources include virtual brands; source counts are not verified physical storefront counts.",
    "No private corpus images or case-level identifiers are included.",
    "Source photographs are promotional food imagery, not casual member captures. Candidate menus are partial, with synthetic distractors; these conditions may differ from live discovery.",
    "This identification test has no calorie or depth ground truth."
  ],
  "source": {
    "repositoryCommit": "420dcf774e8543609c564b74d4a99019f7e11cfb",
    "report": "benchmarks/restaurant-classification/heldout-v2.md",
    "aggregate": "benchmarks/restaurant-classification/results-v2/final-summary.json"
  },
  "selectedCandidate": "joint-sol",
  "metricDefinitions": {
    "exactPositiveRecall": "Correct exact dish and restaurant matches divided by all positive meal photos.",
    "exactPrecisionIncludingNegativeControls": "Correct exact matches divided by every returned match, including negative controls.",
    "negativeFalseAcceptanceRate": "Returned matches when the correct option is absent divided by all negative controls."
  }
}
