cultnet error contract: one message_invalid code replaces malformed_document_put/delete #41
Loading…
Reference in a new issue
No description provided.
Delete branch "libby/error-message-invalid"
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?
Closes follow-up for cross-runtime
malformed_document_put/malformed_document_delete. Contract chosen: fold into onemessage_invalid(Q6-A ofdocs/cultnet-error-contract-cut.md), not two new per-operation codes, because the peer already knows which operation it sent and the code needs to be added to the closed enum either way. Touches write-refusal paths: do not merge until Heimdall has said so.message_invalidin thecodeenum;details.fieldnames the request field (messagewhen the frame is unreadable).CultNetErrorMessage.ForMessageInvalid; the three codeless "requires a subscriptionId or messageId" sites use it.CultNetErrorCode::MessageInvalid. TS:cultNetMessageInvalidError, code list. Python:message_invalid_error, code lists.error-vectors.json) checked by the C# test (real serializer bytes), the Rust case, the TS factory test and the Python builder test.ENOSPCstore failure still reports asmessage_invalid(server fault reported as peer's, pre-existing, noted in the cut doc). Rust cultmesh-rs RUDP server still refuses silently. CHANGELOG line in cultmesh-ts will conflict trivially with #40.🤖 Generated with Claude Code
Q6-A of docs/cultnet-error-contract-cut.md. message_invalid joins the closed cultnet.error.v0 code enum (both schema copies), with details.field naming the request field at fault ("message" when the whole frame cannot be read). C# ForMessageInvalid, Rust CultNetErrorCode::MessageInvalid, TS cultNetMessageInvalidError and Python message_invalid_error all write the same captured bytes (error-vectors.json plus the C# and Rust cases). cultmesh-py and cultmesh-ts refuse malformed puts and deletes with it; the C# subscription servers use it for the missing subscriptionId. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>0cfd319b5ea558f3ad3b