{"jtbd":{"id":"edge-deploy","slug":"edge-deploy","name":"Global edge deploy for agent gateways","shortName":"Global edge deploy for agent gateways","problemStatement":"Low-latency thin agent gateways and tool endpoints worldwide."},"pick":{"id":"cloudflare-workers","slug":"cloudflare-workers","name":"Cloudflare Workers","tagline":"Best edge runtime for lightweight agent gateways and tools. Heavy LLM loops still belong on Modal/Fly/GPU…","website":"https://workers.cloudflare.com","overall":8.53,"scoreBand":{"low":7.9,"mid":8.5,"high":9.1,"halfWidth":0.6,"basis":"editorial_prior","display":"7.9–9.1 (editorial prior)"},"scoreLayers":{"editorialPrior":8.53,"measuredBenchmark":null,"verifiedOutcomeScore":null,"verifiedOutcomeCount":0,"accountRuntimeState":"unprobed"},"pricingLastVerifiedAt":"2026-10-21","editorialPriorAsOf":"2026-09-14","pricingNotes":"Request-based Workers + Durable Objects + R2 + Queues; generous free tier; CPU time limits.","scores":{"capabilityFit":8.6,"pricePerformance":9.2,"latencyReliability":9.2,"developerDx":8.5,"privacyPosture":8,"lockInRisk":5.5,"maturity":9.5,"overall":8.53,"kind":"curated_estimate","confidence":"high","asOf":"2026-09-14"}},"runnersUp":[{"id":"fly-io","slug":"fly-io","name":"Fly.io","tagline":"Excellent for globally distributed agent sidecars and Machines-based sandboxes. Prefer Railway/Render if you…","website":"https://fly.io","overall":8.28,"scoreBand":{"low":7.7,"mid":8.3,"high":8.9,"halfWidth":0.6,"basis":"editorial_prior","display":"7.7–8.9 (editorial prior)"},"scoreLayers":{"editorialPrior":8.28,"measuredBenchmark":null,"verifiedOutcomeScore":null,"verifiedOutcomeCount":0,"accountRuntimeState":"unprobed"},"pricingLastVerifiedAt":"2026-10-27","editorialPriorAsOf":"2026-09-14","pricingNotes":"Pay for machines/volumes/bandwidth; Firecracker VMs; scale-to-zero; Machines API for agents.","scores":{"capabilityFit":8.8,"pricePerformance":8.2,"latencyReliability":8,"developerDx":8.8,"privacyPosture":7.8,"lockInRisk":3.5,"maturity":8.5,"overall":8.28,"kind":"curated_estimate","confidence":"high","asOf":"2026-09-14"}},{"id":"vercel","slug":"vercel","name":"Vercel","tagline":"Ship the agent UI and thin API routes here. Put long-running agent workers on Modal/Fly/Railway.","website":"https://vercel.com","overall":8.1,"scoreBand":{"low":7.5,"mid":8.1,"high":8.7,"halfWidth":0.6,"basis":"editorial_prior","display":"7.5–8.7 (editorial prior)"},"scoreLayers":{"editorialPrior":8.1,"measuredBenchmark":null,"verifiedOutcomeScore":null,"verifiedOutcomeCount":0,"accountRuntimeState":"unprobed"},"pricingLastVerifiedAt":"2026-10-27","editorialPriorAsOf":"2026-09-14","pricingNotes":"Frontend/serverless PaaS; Fluid compute; AI SDK integration; usage-based; great Next.js DX.","scores":{"capabilityFit":8.4,"pricePerformance":7,"latencyReliability":9,"developerDx":9.6,"privacyPosture":7.5,"lockInRisk":6,"maturity":9.2,"overall":8.1,"kind":"curated_estimate","confidence":"high","asOf":"2026-09-14"}},{"id":"deno-deploy","slug":"deno-deploy","name":"Deno Deploy","tagline":"Nice for TS edge tools. Don't confuse isolate deploy with E2B-class untrusted code sandboxes.","website":"https://deno.com/deploy","overall":8.13,"scoreBand":{"low":7.5,"mid":8.1,"high":8.7,"halfWidth":0.6,"basis":"editorial_prior","display":"7.5–8.7 (editorial prior)"},"scoreLayers":{"editorialPrior":8.13,"measuredBenchmark":null,"verifiedOutcomeScore":null,"verifiedOutcomeCount":0,"accountRuntimeState":"unprobed"},"pricingLastVerifiedAt":"2026-10-27","editorialPriorAsOf":"2026-09-14","pricingNotes":"V8 isolate edge deploy; usage-based; TypeScript-native; limited for heavy sandboxing.","scores":{"capabilityFit":7.8,"pricePerformance":8.5,"latencyReliability":8.6,"developerDx":9,"privacyPosture":8.2,"lockInRisk":4.5,"maturity":8,"overall":8.13,"kind":"curated_estimate","confidence":"high","asOf":"2026-09-14"}}],"scoreBand":{"low":7.9,"mid":8.5,"high":9.1,"halfWidth":0.6,"basis":"editorial_prior","display":"7.9–9.1 (editorial prior)"},"scoreLayers":{"editorialPrior":8.53,"measuredBenchmark":null,"verifiedOutcomeScore":null,"verifiedOutcomeCount":0,"accountRuntimeState":"unprobed"},"whyPickOverHigherScore":{"pickId":"cloudflare-workers","pickName":"Cloudflare Workers","pickScore":8.53,"highestScoredCandidateId":"cloudflare-workers","highestScoredCandidateName":"Cloudflare Workers","highestScore":8.53,"pickHasLowerCompositeScore":false,"delta":0,"pickLeadsOnDimensions":[],"explanation":"Cloudflare Workers (8.53) holds both the highest composite score among ranked candidates and the editorial pick for Global edge deploy for agent gateways: reliability + pricePerf + global regions."},"cheapest":null,"recommendedWorkloadQuote":{"providerId":"cloudflare-workers","providerName":"Cloudflare Workers","skuId":"cloudflare-d1-rows-read","item":"D1 rows read (Workers Paid)","plan":"D1 rows read (Workers Paid) — Workers Paid: first 25 billion rows read/month included, then $0","unit":"usd_per_million_rows_read","amountUsd":0.001,"outputSkuId":null,"outputItem":null,"outputAmountUsd":null,"outputUnit":null,"sourceUrl":"https://developers.cloudflare.com/d1/platform/pricing/","asOf":"2026-10-21","pricingLastVerifiedAt":"2026-10-21","isFlagshipForJob":true,"differsFromFloorCheapest":false,"representativeQuote":{"skuId":"cloudflare-d1-rows-read","item":"D1 rows read (Workers Paid)","plan":"D1 rows read (Workers Paid) — Workers Paid: first 25 billion rows read/month included, then $0","amountUsd":0.001,"inputOrUnitUsd":0.001,"unit":"usd_per_million_rows_read","outputUsd":null,"outputUnit":null,"sourceUrl":"https://developers.cloudflare.com/d1/platform/pricing/","asOf":"2026-10-21"},"estimatedTaskCost":{"tasks":1000,"retryAndToolOverheadMultiplier":1.15,"retryToolOverheadMultiplier":1.15,"unitsPerTask":1,"baseCostPer1kTasksUsd":0.001,"totalUsd":0.0011,"estimatedTotalUsd":0.0011,"perTaskUsd":0.000001,"estimatedCostPerTaskUsd":0.000001,"formula":"$0.001 (usd_per_million_rows_read) * 1.15 overhead","assumptions":"1,000 tasks in job native unit with 1.15x retry overhead."}},"representativeQuote":{"skuId":"cloudflare-d1-rows-read","item":"D1 rows read (Workers Paid)","plan":"D1 rows read (Workers Paid) — Workers Paid: first 25 billion rows read/month included, then $0","amountUsd":0.001,"inputOrUnitUsd":0.001,"unit":"usd_per_million_rows_read","outputUsd":null,"outputUnit":null,"sourceUrl":"https://developers.cloudflare.com/d1/platform/pricing/","asOf":"2026-10-21"},"estimatedTaskCost":{"tasks":1000,"retryAndToolOverheadMultiplier":1.15,"retryToolOverheadMultiplier":1.15,"unitsPerTask":1,"baseCostPer1kTasksUsd":0.001,"totalUsd":0.0011,"estimatedTotalUsd":0.0011,"perTaskUsd":0.000001,"estimatedCostPerTaskUsd":0.000001,"formula":"$0.001 (usd_per_million_rows_read) * 1.15 overhead","assumptions":"1,000 tasks in job native unit with 1.15x retry overhead."},"freeAlternatives":[],"referenceDocs":[],"falsification":{"jtbdId":"edge-deploy","jtbdName":"Global edge deploy for agent gateways","currentPickId":"cloudflare-workers","currentPickScore":8.53,"challengerId":"fly-io","challengerScore":8.28,"currentScoreGap":0.25,"minVerifiedOutcomes":10,"requiredOutcomeMargin":0.4,"requiredSuccessRateDelta":0.15,"maxPickPriceIncreasePct":25,"whatWouldChangePick":["Fly.io (fly-io) outperforms Cloudflare Workers (cloudflare-workers) by >= 0.4 outcome points (or >= 15% worked-rate delta) across >= 10 Countersign-verified production outcomes.","A verified price increase > 25% on Cloudflare Workers's representative SKU for edge-deploy without a corresponding capability gain.","Live caller rail exhaustion (?exhausted=cloudflare-workers) or sustained >= 30% degraded/failed rate in verified production outcomes."],"frozenHoldoutPolicy":{"holdoutSplit":"20% frozen benchmark holdout tasks + 80% live production outcome receipts","requireCountersignReceipt":true,"requiredEvidenceTiers":["outcome_verified","reference_checked"],"minDistinctContributors":2,"antiGamingRule":"Unverified self-reports and seed/editorial rows never mutate picks or scores."},"triggers":[{"kind":"verified_outcomes_outperformance","challengerId":"fly-io","minVerifiedOutcomes":10,"requiredOutcomeMargin":0.4,"requiredWorkedRateDelta":0.15},{"kind":"verified_price_increase","providerId":"cloudflare-workers","maxPriceIncreasePct":25},{"kind":"live_rail_exhaustion_or_degradation","providerId":"cloudflare-workers","immediateOverrideUrl":"/api/decide?jtbd=edge-deploy&exhausted=cloudflare-workers"}],"submissionSpec":{"falsifyEndpoint":"/api/falsify?jtbd=edge-deploy","outcomesEndpoint":"POST /api/feedback","correctionsEndpoint":"POST /api/corrections","payloadTemplate":{"agentIdentity":"agent:<your-agent-id>","jtbdId":"edge-deploy","providerId":"fly-io","outcome":"worked","detail":"Comparative production evaluation on edge-deploy (n>=10 tasks) with Countersign receipt.","confidence":"high","receipt":{"countersign":{"claim_id":"cs-00000000","status":"verified","evidence_tier":"outcome_verified","counts_as_verified":true}}}}},"whatWouldChangePick":["Fly.io (fly-io) outperforms Cloudflare Workers (cloudflare-workers) by >= 0.4 outcome points (or >= 15% worked-rate delta) across >= 10 Countersign-verified production outcomes.","A verified price increase > 25% on Cloudflare Workers's representative SKU for edge-deploy without a corresponding capability gain.","Live caller rail exhaustion (?exhausted=cloudflare-workers) or sustained >= 30% degraded/failed rate in verified production outcomes."],"routePlan":{"jtbdId":"edge-deploy","primary":{"providerId":"cloudflare-workers","name":"Cloudflare Workers","overall":8.53,"scoreBand":{"low":7.9,"mid":8.5,"high":9.1,"halfWidth":0.6,"basis":"editorial_prior","display":"7.9–9.1 (editorial prior)"},"scoreLayers":{"editorialPrior":8.53,"measuredBenchmark":null,"verifiedOutcomeScore":null,"verifiedOutcomeCount":0,"accountRuntimeState":"unprobed"},"pricingLastVerifiedAt":"2026-10-21","editorialPriorAsOf":"2026-09-14","role":"primary","reason":"Editorial Depot Pick for Global edge deploy for agent gateways; healthy/eligible under caller constraints."},"fallback":[{"providerId":"fly-io","name":"Fly.io","overall":8.28,"scoreBand":{"low":7.7,"mid":8.3,"high":8.9,"halfWidth":0.6,"basis":"editorial_prior","display":"7.7–8.9 (editorial prior)"},"scoreLayers":{"editorialPrior":8.28,"measuredBenchmark":null,"verifiedOutcomeScore":null,"verifiedOutcomeCount":0,"accountRuntimeState":"unprobed"},"pricingLastVerifiedAt":"2026-10-27","editorialPriorAsOf":"2026-09-14","role":"fallback","reason":"Ranked fallback route for Global edge deploy for agent gateways."},{"providerId":"vercel","name":"Vercel","overall":8.1,"scoreBand":{"low":7.5,"mid":8.1,"high":8.7,"halfWidth":0.6,"basis":"editorial_prior","display":"7.5–8.7 (editorial prior)"},"scoreLayers":{"editorialPrior":8.1,"measuredBenchmark":null,"verifiedOutcomeScore":null,"verifiedOutcomeCount":0,"accountRuntimeState":"unprobed"},"pricingLastVerifiedAt":"2026-10-27","editorialPriorAsOf":"2026-09-14","role":"fallback","reason":"Ranked fallback route for Global edge deploy for agent gateways."},{"providerId":"deno-deploy","name":"Deno Deploy","overall":8.13,"scoreBand":{"low":7.5,"mid":8.1,"high":8.7,"halfWidth":0.6,"basis":"editorial_prior","display":"7.5–8.7 (editorial prior)"},"scoreLayers":{"editorialPrior":8.13,"measuredBenchmark":null,"verifiedOutcomeScore":null,"verifiedOutcomeCount":0,"accountRuntimeState":"unprobed"},"pricingLastVerifiedAt":"2026-10-27","editorialPriorAsOf":"2026-09-14","role":"fallback","reason":"Ranked fallback route for Global edge deploy for agent gateways."}],"disqualified":[],"expectedRegret":{"scoreDeltaVsUnconstrainedPick":0,"unconstrainedPickId":"cloudflare-workers","activePrimaryId":"cloudflare-workers","summary":"0.00 score regret: unconstrained editorial pick satisfies all caller constraints."},"evidenceAgeDays":{"editorialScoreAgeDays":43,"pricingVerifiedAgeDays":6,"editorialPriorAsOf":"2026-09-14","pricingLastVerifiedAt":"2026-10-21"},"confidenceBand":{"low":7.9,"mid":8.5,"high":9.1,"halfWidth":0.6,"basis":"editorial_prior","display":"7.9–9.1 (editorial prior)"},"constraintsApplied":false,"constraintBundle":{"task":null,"jtbd":"edge-deploy","quotaExhausted":[],"degraded":[],"healthy":[],"budgetUsd":null,"maxLatencyMs":null,"region":null,"privacy":null,"exit":[],"existing":[]}},"pricingLastVerifiedAt":"2026-10-27","editorialPriorAsOf":"2026-09-14","tie":false,"scoreGap":0.25,"decidingFactor":null,"tieNote":null,"rationale":"reliability + pricePerf + global regions.","whenNotTopPick":"Heavy CPU/GPU in request path — Modal/Fly Machines.","skipTopPick":false,"skipReason":null,"matchedConstraints":[],"pricingSummary":"Request-based Workers + Durable Objects + R2 + Queues; generous free tier; CPU time limits.","cite":"Depot Pick for edge-deploy: cloudflare-workers (asOf 2026-09-14). See GET /api/jtbds/edge-deploy + GET /api/methodology.","nextActions":[{"step":1,"title":"Inspect full JTBD + embeds","href":"/api/jtbds/edge-deploy?embed=providers","why":"Confirm pick, runners-up, and methodology notes."},{"step":2,"title":"Quote sourced SKUs","href":"/api/quote?jtbd=edge-deploy","why":"Depot Pick SKUs plus the cheapest sourced SKU whose unit matches this job. Does not change the pick. Does not blend input and output or borrow a chat rate for a non-chat job."},{"step":3,"title":"Open provider detail","href":"/api/providers/cloudflare-workers","why":"Scores, pricingNotes, strengths/weaknesses, communitySignals (claims only)."},{"step":4,"title":"Cite methodology","href":"/api/methodology","why":"Required when publishing a Depot Pick citation."},{"step":5,"title":"Grab badge SVG","href":"/api/badge?type=depot-pick&jtbd=edge-deploy","why":"Embed in README / agent passport."},{"step":6,"title":"Post production insight","method":"POST","href":"/api/insights","why":"Unverified until curated; never auto-mutates official scores."}],"honesty":["Do not invent scores or benches.","Insights are claims until curated/reviewed; they never silently mutate official scores.","lockInRisk higher = more lock-in (worse).","normalizedUsdPerMillionTokens is set only for a single sourced token row. Otherwise null, with a machine-readable reason. Do not coerce GPU, minute, or per-1k search units.","Runners-up are not Depot Picks.","Depot overall is editorial_weighted, not Arena Elo and not an Artificial Analysis index."],"asOf":"2026-09-14","depth":{"whenNotToUse":{"text":"Heavy CPU/GPU in request path — Modal/Fly Machines.","source":"editorial `whenNotTopPick` (data/jtbds.json)"},"whenNotToUseReason":null,"runnerUp":{"providerId":"fly-io","name":"Fly.io","overallForJob":8.28,"pickOverallForJob":8.53,"beatsPickOn":["capabilityFit","developerDx","lockInRisk"],"source":"first resolvable entry of the job's editorially ranked `runnersUpIds`; scores are stored job-weighted scores"},"runnerUpReason":null,"lockIn":{"pickLockInRisk":5.5,"runnerUpLockInRisk":3.5,"scale":"0–10 stored curated estimate; higher = more lock-in (worse)","pickExitSignals":[],"runnerUpExitSignals":[],"pickNotes":[],"selfHostFallback":[],"migration":"Runner-up Fly.io has lower stored lock-in risk (3.5 vs 5.5, 0–10, higher = more lock-in).","migrationReason":null,"derivedFrom":"stored lockInRisk scores, provider tags (oss, self-host, openai-compat, open-models), free rows that list this job, and verbatim provider notes. No migration guide was invented."}},"citation":{"text":"Agent Provider Depot (v0.12.150), Depot Pick for edge-deploy: cloudflare-workers, scores as of 2026-09-14, retrieved 2026-10-27. https://getagentdepot.com/jtbds/edge-deploy","markdown":"[Agent Provider Depot](https://getagentdepot.com/jtbds/edge-deploy) (v0.12.150) — Depot Pick for `edge-deploy`: **cloudflare-workers** (scores as of 2026-09-14, retrieved 2026-10-27)","fields":{"publisher":"Agent Provider Depot","version":"0.12.150","role":"depot_pick","jtbdId":"edge-deploy","providerId":"cloudflare-workers","scoreAsOf":"2026-09-14","retrievedOn":"2026-10-27","page":"https://getagentdepot.com/jtbds/edge-deploy","api":"https://getagentdepot.com/api/decide?jtbd=edge-deploy"},"howToCite":"Cite Depot as an editorial, dated recommendation, not a benchmark: name the job, the Depot Pick (or runner-up), the score asOf date and the day you retrieved it, and link the job page. Format: “Agent Provider Depot (v{version}), Depot Pick for {jobId}: {providerId}, scores as of {scoreAsOf}, retrieved {retrievedOn}. {baseUrl}/jtbds/{jobId}”. Quote prices only with their own sourceUrl and asOf. If the pick's score is stale (freshness.pick.score.stale), say so."},"freshness":{"pick":{"score":{"asOf":"2026-09-14","ageDays":43,"stale":true,"staleAfterDays":30,"reason":null},"lastReviewed":{"asOf":"2026-09-14","ageDays":43,"stale":true,"staleAfterDays":30,"reason":null},"sourceCheck":{"checkedAt":"2026-10-27","sourceUrls":2,"sourcesReachable":2,"pricingRows":3,"pricingRowsReconfirmed":0,"note":"A source re-check confirms the page is reachable and, for pricing rows, that the stored amount and SKU name appear on it. It does not re-derive or change the score.","reason":null}},"scoreAsOf":"2026-09-14","editorialPriorAsOf":"2026-09-14","pricingLastVerifiedAt":"2026-10-27","pickLastReviewed":"2026-09-14","runnersUpScoreAsOf":["2026-09-14","2026-09-14","2026-09-14"],"contractAsOf":"2026-10-03","pricingShape":"sourced_rows","normalizedUsdPerMillionTokens":null,"normalizationStatus":"unit_mismatch","normalizationReason":"unit_mismatch"},"pricingContract":{"normalizedUsdPerMillionTokens":null,"normalizationStatus":"unit_mismatch","normalizationReason":"unit_mismatch","shape":"sourced_rows","filterable":false,"priceSortEligible":false,"priceSortKeyUsdPerMillionInputTokens":null,"rows":[{"id":"cloudflare-d1-rows-read","providerId":"cloudflare-workers","sku":"D1 rows read (Workers Paid)","unit":"usd_per_million_rows_read","amountUsd":0.001,"currency":"USD","sourceUrl":"https://developers.cloudflare.com/d1/platform/pricing/","asOf":"2026-10-21","normalizationStatus":"unit_mismatch","normalizedUsdPerMillionTokens":null,"normalizationReason":"unit_mismatch_per_million_rows_read","priceSortEligible":false,"qualifier":"Workers Paid: first 25 billion rows read/month included, then $0.001 per million. Free: 5 million/day."},{"id":"cloudflare-d1-rows-written","providerId":"cloudflare-workers","sku":"D1 rows written (Workers Paid)","unit":"usd_per_million_rows_written","amountUsd":1,"currency":"USD","sourceUrl":"https://developers.cloudflare.com/d1/platform/pricing/","asOf":"2026-10-21","normalizationStatus":"unit_mismatch","normalizedUsdPerMillionTokens":null,"normalizationReason":"unit_mismatch_per_million_rows_written","priceSortEligible":false,"qualifier":"Workers Paid: first 50 million rows written/month included, then $1.00 per million. Free: 100,000/day."},{"id":"cloudflare-d1-storage","providerId":"cloudflare-workers","sku":"D1 storage (Workers Paid)","unit":"usd_per_gb_month","amountUsd":0.75,"currency":"USD","sourceUrl":"https://developers.cloudflare.com/d1/platform/pricing/","asOf":"2026-10-21","normalizationStatus":"unit_mismatch","normalizedUsdPerMillionTokens":null,"normalizationReason":"unit_mismatch_per_gb_month","priceSortEligible":false,"qualifier":"Workers Paid: first 5 GB included, then $0.75/GB-month (database storage). Free: 5 GB total. No egress charges."}],"notesExcerpt":"Request-based Workers + Durable Objects + R2 + Queues; generous free tier; CPU time limits.","notesCheck":{"status":"no_known_contradiction","pairs":[],"review":null,"note":null},"lastReviewed":"2026-09-14","scoreAsOf":"2026-09-14","website":"https://workers.cloudflare.com","doNotParse":"Do not parse pricingNotes. Use rows only. normalizedUsdPerMillionTokens is a single number only when this provider has exactly one sourced token row. Input/output, context tiers, and non-token units stay null at this level.","gap":"Partial coverage. Providers without a fetched SKU are omitted. See GET /api/pricing."},"links":{"jtbd":"/jtbds/edge-deploy","jtbdApi":"/api/jtbds/edge-deploy","leaderboard":"/api/leaderboards?jtbd=edge-deploy","methodology":"/api/methodology","badge":"/api/badge?type=depot-pick&jtbd=edge-deploy","decide":"/api/decide?jtbd=edge-deploy","humanPage":"/jtbds/edge-deploy","alternatives":"/api/alternatives?provider=cloudflare-workers","canonical":"/api/canonical","quote":"/api/quote?jtbd=edge-deploy","falsify":"/api/falsify?jtbd=edge-deploy"},"constraintBundle":{"task":null,"jtbd":"edge-deploy","quotaExhausted":[],"degraded":[],"healthy":[],"budgetUsd":null,"maxLatencyMs":null,"region":null,"privacy":null,"exit":[],"existing":[]},"stackContext":{"host":null,"framework":null,"repo":null,"lang":null,"existing":[],"volume":null,"sender":null,"detectedFromTask":[]},"keep":null,"contextAdvice":null,"communityFeedback":{"pickOnThisJob":{"failed":0,"degraded":0,"worked":0,"insights":0,"withVerifiedReceipt":0,"failureModes":{},"latestAt":null,"note":"Agent-reported claims (unverified unless a receipt is verified by Depot's re-check). They never change scores or picks."},"outcomes":{"job":{"n":0,"worked":0,"degraded":0,"failed":0,"failureModes":{},"verifiedReports":0,"contributors":0,"excluded":{"seed_editorial":0,"test":0,"notFeedback":0},"reason":"no_submitted_outcome_reports_yet"},"pick":{"providerId":"cloudflare-workers","n":0,"worked":0,"degraded":0,"failed":0,"failureModes":{},"evidenceTiers":{"agent_claim":0,"self_declared":0,"reference_checked":0,"outcome_verified":0},"reason":"no_submitted_outcome_reports_yet"},"scoresMutated":false,"more":"/api/outcomes?jtbd=edge-deploy"},"report":"POST /api/feedback {agentIdentity, outcome: failed|degraded|worked, detail, providerId, jtbdId, failureModeId?, receipt?}"}}