v0.18.0 — owner-signed approvals over the mesh (observe-only / dry-run, default-off)
Fleet-adoption release for the #62 owner-signed-approval pipeline. Every step below is off by default, log-only or dry-run, and inert on 0.17.0 nodes — the fleet adopts the wire format before any node acts on an approval.
- Phase A (#152) —
mesh approve … --broadcastdistributes an owner-signed grant; a receiver verifies it against the pinned owner pubkey and logsMESH_APPROVAL_OK/BAD. No action, no nonce consumed. - B1 (#153) —
act_on_approvalsopt-in (default off, operator-only, never frame-settable); when on, logsMESH_APPROVAL_WOULD_ACT, still no action. - B2a (#154) — a verified
adopt-releasegrant writes an authenticated pending-adoption record + logsMESH_ADOPT_PENDING. Receive path runs no code. - B2b-1 (#155) —
mesh adopt-supervise(operator-run, opt-in) reads a pending record, re-verifies the owner signature, detects install type, maps the pinned artifact to the op it would run, logsMESH_ADOPT_WOULDEXEC/REFUSED. Installs nothing, cycles nothing.
The real package-manager exec (B2b-2) is a separate, operator-gated slice — not in this release.