Skip to content

Error Codes

This page covers the stable error-code families exposed by Vaylix and how clients should interpret them.

Since version: deterministic codes have been part of the protocol contract since early releases; the canonical code contract was documented explicitly in 0.9.0.

Caveat: Codes are stable identifiers. Human-readable messages may improve over time, but client behavior should key off the code, not the message text.

PrefixScopeMeaning
CMD-*Command parserText command parsing and arity failures
TRN-*TransportFraming, negotiation, checksum, compression, and I/O failures
ENG-*EngineWAL, snapshot, manifest, keyring, and storage failures
SRV-*ServerAuth, RBAC, rate limiting, TLS, maintenance, replication, and admin failures
CodeMeaning
CMD-002Unknown command
CMD-003Invalid command arity
TRN-005Protocol version mismatch
TRN-006Frame too large
TRN-009Frame checksum mismatch
TRN-014Protocol negotiation failed
TRN-018Protocol state violation
CodeMeaning
ENG-007Persisted checksum validation failed
ENG-009Unsupported storage format
ENG-010Storage migration required
SRV-007Authentication required
SRV-008Authentication failed
SRV-017Permission denied
SRV-027Backup path rejected
SRV-028Audit chain verification failed
SRV-031Authentication locked
SRV-035Replication acknowledgement timeout
SRV-037Follower write rejected
  • treat the code as the stable contract
  • surface the human-readable message to operators
  • do not parse behavior from message text
  • expect new codes to be additive in minor releases

The canonical full list lives in the core repository’s ERROR_CODES.md for the current server line.