Repository navigation
v0.47.1
Conformance: exchange input metadata
The conformance suite now checks that a server hands an exchange method each input batch's own custom metadata — every turn, over every transport, HTTP continuations included — without the transport's bookkeeping keys (vgi_rpc.stream_state#b64, vgi_rpc.call_state#b64, vgi_rpc.cancel), and that an externalized input carries the resolved payload's metadata plus vgi_rpc.location.source / vgi_rpc.location.fetch_ms, not the pointer's.
- New fixture method
exchange_input_metadata(the conformance protocol grows to 89 methods, so its hash changes:4b0269208a5a…). - New cases
TestExchangeStream::test_input_metadata,TestExternalInputRoutes::test_exchange_external_input_carries_the_payloads_metadata, and runner caseexchange_stream.input_metadata.
Nothing covered this before, and three ports failed it: the C++ port dropped the metadata over HTTP (breaking the VGI result cache's conditional revalidation), and the Java and TypeScript ports handed methods the transport's tokens. All six ports are fixed and serve the new fixture method in their releases alongside this one.