Muzzle 1.1.0 is the first hardening release after the stable 1.0 contract. It keeps the trusted-local CLI compatible while strengthening workflow integrity, process lifecycle behavior, automation contracts, and installation safety.
Highlights
- Spools complete workflow output to disk with bounded in-process capture and explicit display-truncation metadata.
- Terminates Unix workflow process groups on timeout, cancel-file requests, and forwarded interruption, with stable exits 124 and 130.
- Adds strict manifest validation, opt-in argument enforcement, enforce-mode safety policy, checksum pins, signed policy bundles,
doctor, andintegrity. - Binds validated workflow bytes to digest-verified private execution snapshots while preserving Bash, Python, and Node script identity and sibling loading.
- Creates raw logs and reports with owner-only permissions and preserves complete evidence outside compact summaries.
- Adds versioned
muzzle.run/v1, command, and error JSON contracts with checked schemas. - Adds the versioned installer, Bash/Zsh completions, pinned Linux/macOS CI, retention controls, deterministic ordering, and expanded process/install regressions.
Verification
- Local
make quality: passed. - GitHub Actions quality matrix: passed on Ubuntu and macOS.
- Artifact guard: passed.
- Open pull requests: none.
- Open Dependabot alerts: none.
- Remote branches ahead of
main: none.
Muzzle remains a trusted-local workflow runner, not a sandbox. Kujo 1.0.0 or newer and Bash 3.2 or newer are required.
See the changelog and security model for details.