Expand description
Build identity of the running binary.
Between releases every dev build reports the same crate semver, so
version-keyed signals — the plan-05 “engine version changed →
re-read the tool roster” hint and the plan-02 mutation-stamp /
ENGINE_VERSION_SKEW comparison — could never fire in dogfood or
field use. build.rs captures the git commit at build time
(MEMSTEAD_BUILD_SHA, empty outside a git checkout); this module
renders the full build version every version-carrying surface
serves: CLI --version, both MCP flavours’ serverInfo.version,
the overview’s _engine_version, and the per-mem mutation stamp.
Constants§
- BUILD_
SHA - The short git sha of the commit this binary was built from, with a
-dirtysuffix when tracked files were modified at build time. Empty for builds outside a git checkout (crates.io, vendored trees) — emptiness, not absence, is the sha-less signal.
Functions§
- full_
version - The full build version of the running binary: the bare crate
semver (
crate::ENGINE_VERSION) when no build sha exists, else<semver>+g<sha>[-dirty](semver build-metadata syntax, so the value still parses as asemver::Version). Two dev builds of the same crate version compare unequal whenever their commits differ — exactly the property the skew stamp and the roster-refresh hint need.