cultnet error message parity: TS type + Python builder/decoder, shared C#/Rust vectors #14
Loading…
Reference in a new issue
No description provided.
Delete branch "libby/cultnet-error-parity"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Brings cultnet-ts and cultnet-py to the cultnet.error.v0 contract (routingHint, closed
codeenum incl. null, details {field,value,asOf,current}; every key on the wire).CULTNET_ERROR_CODES+CultNetErrorCodeclosed union. Refusal of unknown codes was already done by the Ajv schema; a test now pins the union to the schema enum. Legacy gamecult.networking.v0 error decode fills the new fields with null.error_message()builder (byte-identical to the C# captures),CULTNET_ERROR_CODES, andparse_messagenow refuses cultnet.error.v0 bodies with an unknown code, missing keys, or malformed details.Known, not changed: cultnet-py
interop_peer.unsupported_schema_version_erroremits codeunsupported_schema_version(outside the closed enum, no routingHint) andschema_catalog.pystill describes the error schema as {error, code:string, details}. Both need a ruling (add a code to the enum across all runtimes, or retire the emission) before they can conform.TS has one failing test unrelated to this change (esbuild content bundle, environment).
🤖 Generated with Claude Code