Error shape
message is the real error string from the backend. The code distinguishes protocol errors from runtime failures:
These codes are part of the generated contract:
JsonRpcError.code in the OpenAPI reference carries the same enum, regenerated from the backend facade XML (./gradlew :runtime:component:darpan:generateApiContract).
Business validation
Facade business validation does not use the error object. It returns a success envelope withresult.ok: false and the failures in result.errors[]. Treat ok: false as a failed call even though no error object is present.