package api

// CurrentProtocolVersion is the wire-format version this build speaks.
//
// Bump this only when an incompatible wire-format change lands —
// adding a new optional field does NOT count, removing or repurposing
// one does. The server enforces MinAgentProtocolVersion against this
// value at hello time. See spec.md §6.2 ("Protocol versioning").
const CurrentProtocolVersion = 1

// MinAgentProtocolVersion is the lowest agent protocol_version this
// server accepts in a hello. Agents below this are disconnected with
// a structured error pointing at the upgrade docs.
const MinAgentProtocolVersion = 1

// Phase 5 (P2R-03..P2R-08, branch p2r-phase5-maintenance, 2026-05) reshaped
// CommandRunPayload (RetentionPolicy removed, ForgetGroups added, RequiresAdminCreds added),
// ConfigUpdatePayload (Slot added), and RepoStatsPayload (full reshape).
// The protocol version was deliberately NOT bumped because:
//  1. This project deploys agent and server in lockstep from the same release.
//  2. There is no supported "rolling upgrade" path with mixed agent/server versions.
//  3. The smoke env restage block in CLAUDE.md restages the agent binary on
//     every server build for exactly this reason.
//
// If a multi-version protocol path is ever introduced, every Phase 5 wire
// change is a breaking change and the version must bump to 2 at that time.
