Skip to content

The Verdict object

Everything DoesItARM returns is built from one object: the Verdict. Learn it once and every endpoint and MCP tool reads the same. Concept first — the why behind these fields is How verdicts work.

type Verdict = {
slug: string // canonical id on doesitarm.com
title: string
kind: "app" | "game"
status: "native" | "rosetta2" | "translation" | "unsupported" | "unknown"
translationLayer?: "gptk" | "crossover" | "whisky" | "vm" | null
confidence: "high" | "medium" | "low"
basis: ("binary" | "automated_test" | "crowd" | "vendor" | "curator")[]
macosVersion: string // e.g. "26", "27"
chip: string // "apple_silicon" | "m1" | "m2" | "m3" | "m4"
caveats: string[]
breaksAtRosettaEol: boolean
lastVerified: string // ISO date
stale: boolean
signals: Signal[] // contributing reports/tests, newest first
alternatives?: Alternative[] // native equivalents, mainly when unsupported/unknown
}
  • status — the answer. unknown means Needs more data, a real verdict, not a failure. We assert positives/negatives only on strong evidence (a negative needs a reproduced failure), so unknown is the honest default.
  • translationLayer — set only when status is translation; names the layer (gptk, crossover, whisky, vm). null or absent otherwise.
  • confidence + basis — how sure we are, and how we know (binary inspection, automated test, crowd reports, vendor statement, curator note).
  • macosVersion + chip — the scope this answer applies to.
  • caveats — qualifiers like “no online play” or “low FPS”.
  • breaksAtRosettaEoltrue when the title only survives via Rosetta 2 and will break at macOS 28 (fall 2027).
  • lastVerified + stale — the freshness fields. See Caching & freshness.
  • signals — the evidence trail, newest first.
  • alternatives — native equivalents, surfaced mainly when a title is unsupported or unknown.
{
"slug": "adobe-photoshop", "title": "Adobe Photoshop", "kind": "app",
"status": "native", "confidence": "high",
"basis": ["binary", "vendor", "automated_test"],
"macosVersion": "26", "chip": "apple_silicon",
"caveats": [], "breaksAtRosettaEol": false,
"lastVerified": "2026-06-21", "stale": false,
"signals": [{ "id": "sig_01", "kind": "test", "status": "native",
"confidence": "high", "macosVersion": "26", "chip": "m3",
"at": "2026-06-21T00:00:00Z",
"ref": "https://doesitarm.com/adobe-photoshop#test-01" }],
"alternatives": []
}

The related shapes — Signal and Alternative — are nested inside the Verdict and render in full on the generated lookupVerdict reference.