Skip to Content
DevelopersError referenceCommand results are not transport failures

Command results are not transport failures

A command can reach the server successfully and still be rejected by the game’s rules.

Preserve the result contract

Facility operations, inventory changes and mailbox claims carry typed result codes and authoritative state. Keep their existing envelope, lowercase codes where defined, and success or duplicate acknowledgements. Do not convert every rejection into a global error overlay or disconnect.

Facility adapter

World maps recognized FACILITY/... failures to the existing client result codes. Unknown upstream failures become facility_request_failed; inventory-authority failures become inventory_out_of_sync; recognized connection failures become facility_connection_failed. The adapter does not replay a mutation automatically.

Mailbox and rewards

A mailbox claim is determined by persisted grants, inventory state and receipts. The reward worker records explicit experience failure codes instead of matching upstream prose. Non-retryable conflicts require reconciliation, not endless replay.

Protocol scope

The current protobuf command results have not gained a full Problem object or trace ID. Adding those would be a protocol change. A shared logging shape does not authorize silently changing a wire format.