Versioned JSON boundary for thin foreign-language bindings. Domain behavior lives in the typed Rust stores; this module only decodes and dispatches.