"# protospecs
This repository contains protobuf contracts for VulpesCloud.
The authoritative clustering API now lives in the new package vulpescloud.cluster.v2.
The legacy vulpescloud.node.v1 contract remains available only as deprecated compatibility code and is not authoritative for new controller-cluster work.
- Introduce the new
cluster.v2package with explicit cluster membership, controller lease, heartbeat, and watch APIs. - Migrate Kotlin consumers to use the new domain models and watch-based connection management.
- Replace controller ownership checks that previously relied on a mutable
Node.headflag with database-backed leader lease evaluation usingcontroller_term. - Keep remote command RPCs in a separate
RemoteCommandServiceso membership logic stays isolated. - Update implementations to persist node-state changes before publishing cluster events and to reject stale controller commands with term mismatches.
- The old
ClusterAPIServiceis retained only for compatibility and is marked deprecated. - Docker and TLS are intentionally out of scope for this change. "