Files
VerseVDI-Protocol/openspec/changes/phase3c-apollo-input-feedback/proposal.md
T

1.5 KiB

Why

The RC5 tunnel register identifies a bounded sequenced-input flow but does not define typed input state or provider-to-client feedback. The native Apollo adapter cannot safely translate keyboard, mouse, UTF-8, controller, termination, rumble, or HDR state from an untyped payload.

What Changes

  • Define a typed, versioned gateway input envelope for keyboard, mouse, UTF-8, and controller state.
  • Define bounded provider-feedback and provider-termination envelopes on the existing reliable control direction.
  • Define a separate typed clipboard envelope and Server-owned per-session direction, size, and rate policy so the gateway can prevent reflected loops without exposing provider management material.
  • Define release semantics so gateway cleanup can emit real provider key/button releases without a synthetic provider command.
  • Preserve RC5 unchanged; this change requires a new immutable Protocol version after its fixtures and consumers are final.

Capabilities

New Capabilities

  • gateway-input-feedback: Typed Phase 3C gateway input, provider feedback, termination, and release envelopes.

Modified Capabilities

  • None.

Impact

  • Protocol control and datagram registries, schemas, fixtures, and generated Go/Rust/Swift bindings.
  • Data Plane gateway input/clipboard translation and host-feedback forwarding.
  • Connection Server mints only immutable clipboard policy in authenticated provider work; it neither receives clipboard bytes nor inspects provider packet payloads.