35 lines
1.6 KiB
Markdown
35 lines
1.6 KiB
Markdown
# VerseVDI-Protocol
|
|
|
|
The Phase 3A Protocol repository is the sole source of VerseVDI wire contracts.
|
|
OpenAPI, JSON Schema, Protobuf, registries, and conformance fixtures live here;
|
|
the Connection Server consumes generated Go bindings and remains the authority
|
|
for authentication, authorization, persistence, licensing, and provider policy.
|
|
|
|
## Scope
|
|
|
|
Phase 3A defines versioned control requests/responses, native device contracts,
|
|
subject-scoped resources, broker actions, gateway-only manifests, resumable
|
|
control events, registered control datagrams, and bounded text clipboard. It
|
|
does not implement a gateway, provider transport, media forwarding, file
|
|
transfer, or a second authentication or datastore path.
|
|
|
|
## Verification
|
|
|
|
Run `make verify` after editing a source schema, registry, Protobuf definition,
|
|
or fixture. The command validates source bounds and scope, regenerates Go/Rust/
|
|
Swift bindings and Protobuf descriptors, compiles generated bindings, runs the
|
|
shared Go/Rust/Swift corpus, checks datagram frames, and fails if regeneration
|
|
would dirty the checkout.
|
|
|
|
Generated files under `gen/` are never edited by hand. `VERSION`,
|
|
`compatibility.json`, and the content-addressed fixture manifest identify the
|
|
release inputs. A Protocol release candidate is not valid until all consumers
|
|
report the same fixture hash and clean-checkout regeneration evidence.
|
|
|
|
## Private Go module
|
|
|
|
The canonical Go module is
|
|
`git.sechmachine.io.vn/sechmachine/VerseVDI-Protocol`. Private consumers must
|
|
resolve an exact Gitea tag and must not use a filesystem `replace`; the Gitea
|
|
workflow verifies this module identity and builds the Go packages on Linux.
|