Skip to content

v0.47.1

Choose a tag to compare

@rustyconover rustyconover released this 18 Sep 20:50
· 59 commits to main since this release

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 case exchange_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.