IsDev reports an unstamped identity: Version/Commit left at the
`go run` / `go test` defaults. Makefile and GoReleaser always override
both. Empty strings are not IsDev — a peer that omitted handshake
headers is a missing identity, not a dev process.
type Info struct {
Version string `json:"version"`
Commit string `json:"commit"`
Date string `json:"date"`
GoVersion string `json:"go_version"`
Dirty bool `json:"dirty,omitempty"`
}