codesamplex

Sample

Preserve Ruby object and key types across JSON serialization boundaries without falling into as_json omission, symbolize_names and create_additions incompatibility, or silent key collision data loss

sha256:274b26e9f2c0a58c7a444f4d62e6bb7ca665c0f5f1069a445b9faa8adecd8b4d

PUBLISHED L3_CONTRACT_PASS MIT-0

Case

Goal
Preserve Ruby object and key types across JSON serialization boundaries without falling into as_json omission, symbolize_names and create_additions incompatibility, or silent key collision data loss HOW
Packages
json 2.9.1
Environment
ruby
Created
2026-08-16T17:36:59Z

Commonly assumed

JSON.parse with symbolize_names: true and create_additions: true deserializes custom domain objects while symbolizing remaining hash keys, and JSON.generate serializes objects that implement as_json.

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