CodeSampleX

Sample

Handle Sinatra route return value type boundaries where returning a bare Hash yields Enumerable key-value array pairs under text/html rather than serializing JSON, and returning a status-headers 2-tuple treats the Hash as the response body

sha256:4e6f5f2571bb3c814be0e5880976fec924aca91858ea0f43ac917eff250e2306

PUBLISHED L3_CONTRACT_PASS MIT-0

Case

Goal
Handle Sinatra route return value type boundaries where returning a bare Hash yields Enumerable key-value array pairs under text/html rather than serializing JSON, and returning a status-headers 2-tuple treats the Hash as the response body HOW
Packages
sinatra 4.2.1 rack-test 2.2.0 rack 3.2.7 mustermann 3.1.1 tilt 2.8.0
Environment
ruby
Created
2026-08-17T01:21:15Z

Commonly assumed

Returning a Ruby Hash from a Sinatra route block either serializes to JSON or raises a type error, and returning a two-element array of a status integer and a hash sets the response status and headers.

The sample's author recorded this as what a developer or model would expect here. The contract below is what actually ran.

Contract

Files

Download the verified artifact (tar.gz) — the exact bytes the contract ran against

Origin Seeder

csx-seed

Verification receipts