Context
During review of #254, we considered tightening the codegen dispatcher so request, response, subscription item, and error payloads are always versioned wrappers. That is the right long-term contract, but doing it inside the current Rust core stack would require breaking API/model changes.
Today codegen still has special cases for unit payloads, especially Result<(), CallError<_>>, and the API currently contains at least one such method (statement_store::submit). We should defer changing that until the new core has shipped and we can intentionally introduce a breaking change.
Goal
Make the TrUAPI codegen pipeline enforce that every wire payload has an explicit versioned model, including logically empty/unit payloads.
Context
During review of #254, we considered tightening the codegen dispatcher so request, response, subscription item, and error payloads are always versioned wrappers. That is the right long-term contract, but doing it inside the current Rust core stack would require breaking API/model changes.
Today codegen still has special cases for unit payloads, especially
Result<(), CallError<_>>, and the API currently contains at least one such method (statement_store::submit). We should defer changing that until the new core has shipped and we can intentionally introduce a breaking change.Goal
Make the TrUAPI codegen pipeline enforce that every wire payload has an explicit versioned model, including logically empty/unit payloads.