macp-runtime 0.7.4

MACP reference runtime: a coordination kernel and gRPC server enforcing session boundaries, message validation, append-only history, modes, and governance policy.
Documentation
# release-plz configuration.
#
# release-plz owns VERSIONING and GIT: on every push to main it opens (or
# updates) a "release PR" that bumps the workspace version and updates
# CHANGELOG.md from the conventional-commit history; merging that PR creates the
# git tags and a GitHub Release. It does NOT upload to crates.io — `publish =
# false` below. The actual crates.io upload is done by publish.yml, which runs
# `cargo publish --workspace` (correct dependency ordering + index-propagation
# waits, which release-plz's own publisher does not do for this 7-crate graph).
# release-plz.yml CALLS publish.yml directly (workflow_call) after cutting a
# release. It is not triggered by the tag: GitHub does not start workflow runs
# from events created with the default GITHUB_TOKEN, so tags pushed here are
# invisible to a tag trigger — that is why 0.6.1 was tagged 2026-07-12 and
# never published.
[workspace]
# Run cargo-semver-checks while computing the release PR, where the version
# bumps actually happen. An API break that rides an unmarked commit blocks the
# release PR instead of only surfacing later. (0.x minor bumps still permit
# breaking changes per cargo's semver interpretation.)
semver_check = true

# Label the release PRs release-plz opens.
pr_labels = ["release"]

# Do not publish to crates.io from release-plz — publish.yml owns that (see the
# header comment). release-plz still creates git tags and the GitHub Release.
publish = false

# One GitHub Release per version, on the umbrella crate only (enabled per-package
# below); suppress the six per-crate releases to avoid seven-releases-per-version
# noise. Per-crate git *tags* are still created (release-plz reads them to
# compute the next version), and `macp-runtime-v{version}` is what triggers
# publish.yml.
git_release_enable = false

# Lockstep versioning: macp-runtime is one runtime split across seven crates
# that must be consumed as a coherent set — shared vocabulary flows across
# crate boundaries via macp-core / macp-pb, and a fresh resolver must never mix
# release generations. Putting every member in one `version_group` makes
# release-plz assign them all the same next version, bumping the whole family
# together (even unchanged crates). The version itself lives once in
# [workspace.package] (root Cargo.toml) and each member inherits it via
# `version.workspace = true`; the internal-lockstep CI guard in ci.yml verifies
# the result. `semver_check` above still guards real API breaks.
[[package]]
name = "macp-pb"
version_group = "macp"
[[package]]
name = "macp-core"
version_group = "macp"
[[package]]
name = "macp-policy"
version_group = "macp"
[[package]]
name = "macp-storage"
version_group = "macp"
[[package]]
name = "macp-auth"
version_group = "macp"
[[package]]
name = "macp-modes"
version_group = "macp"
[[package]]
name = "macp-runtime"
version_group = "macp"
# The one GitHub Release per version rides the umbrella crate's tag
# (`macp-runtime-v{version}`).
git_release_enable = true