Skip to content

17. Wire Bindings (Non-Normative Notes)

This document specifies the protocol’s primitives, requirements, and behaviour at an abstract level. Wire bindings — the concrete encoding by which abstract primitives are exchanged between runtime, Workers, Capability Providers, and human surfaces — are deferred to companion binding documents.

A binding document for OWP-2 will specify, at minimum:

  • The transport protocol(s) supported (e.g. HTTP/2 with JSON, gRPC with Protocol Buffers, AMQP).
  • The authentication mechanism(s) (e.g. mTLS, JWT, signed message bodies).
  • The serialisation of every primitive, event, and Cost Record.
  • The wire-level error model.
  • The wire-level versioning approach.

It is anticipated that multiple bindings will exist concurrently. A runtime MAY support multiple bindings; Capability Providers and Workers register against a specific binding. A runtime that supports multiple bindings SHOULD provide bridges between them where semantics permit.

The first binding document, expected to be published as OWP-2-BIND-HTTP, will specify HTTP/2 + JSON as the baseline binding. Additional bindings may follow.

This non-normative section’s purpose is to make the binding/core distinction explicit. Implementers wishing to begin work before a binding document is published MAY define a private binding; such a binding is not interoperable and SHOULD NOT be deployed beyond development.