Skip to content

Cycle for Zcode 1.0.11

Latest

Choose a tag to compare

@jannotix jannotix released this 23 Sep 10:57
· 9 commits to main since this release

Cycle for Zcode 1.0.11

Governed delivery for ZCode: an architect plans, an executor implements inside an
isolated worktree, two independent reviewers judge the frozen candidate, and an
arbiter decides - with every gate result and verdict written to a hash-chained,
signature-checkpointed ledger.

1.0.11 lets an update replace the daemon it is updating. It carries every fix
in 1.0.10
and adds one that 1.0.10's own campaign found in its first step.

Fixed

An update could not replace the daemon it was updating. The daemon outlives
ZCode sessions, so after updating from the Plugin Marketplace the previous
version's daemon is usually still running. 1.0.10, installed as an update over a
running 1.0.9, received "workflowd 1.0.9 is incompatible with plugin 1.0.10"
and tried to stop it through a workflowd.pid file that nothing has ever
written. The old daemon kept the data directory, every new one failed to start,
and every Cycle call ended in "workflowd did not become healthy within 15
seconds"
. The history was untouched throughout: with the old daemon stopped by
hand, 1.0.10 verified all 162 ledger entries and both checkpoint signatures
from 1.0.9.

The bridge now finds the daemons serving its data directory - a workflowd
process whose --data-dir is exactly that directory - and stops one older than
itself. It never stops a newer one, and says so. A version mismatch is reported
at once rather than after a fifteen-second wait. The qualification battery now
also stops the daemons its hook starts; it had been leaving one per iteration.

If you installed 1.0.10 over 1.0.9 and Cycle does not respond, stop the old
daemon once (Stop-Process -Name workflowd, or restart Windows) or update to
1.0.11, which does it for you.

Also in this release, from 1.0.10

A secret-scan gate that read names and never values; a verification abandoned by
any gate that could not start; a freeze refusal that told the run to revert the
operator's project; per-role model assignment blocked by its own documentation,
now documented with the URI-encoded provider form and third-party models; the
disabled reasoning level; the provider recorded as ZCode resolves it; and
ZCode's own .zcodeignore kept out of the freeze. See the
changelog.

Windows: the daemon is unsigned, and will stay so

workflowd.exe is not Authenticode signed and no release will be. The README
section Windows SmartScreen and the unsigned daemon explains how to verify this
download (checksum below, then gh attestation verify), how to let Windows run
it, where the daemon runs from, and what Smart App Control does not allow.

Verification

Rust 309 tests on Windows and 308 on Linux with no failure, MCP 49,
qualification 30, clippy and cargo fmt clean. The deterministic qualification
battery passed 20/20 on both platforms. Built, sealed, clean-installed on Ubuntu
22.04, Ubuntu 24.04 and Windows 11, and attested with build provenance by
release-candidate run 35849686091 from b1536e2; the CI-built daemons are
imported in bc6e179, the commit the signed tag v1.0.11 names.

artifact SHA-256
zcode-cycle-1.0.11.zip 966a1ca97c1c78a1e6c44f535254533f177aa09e846d47a51bfc4eb83a864f20
zcode-cycle-native-linux-x64-1.0.11.tgz 3d4089cadd5f1749f0797445cce7882f750cf01c86483954cfca2057e05b0500
zcode-cycle-native-win32-x64-1.0.11.tgz 187706907f53cb8d0b2619f76d17890023cecf4d9ad9c15ce00f84b8d7a92818

Live certification

1.0.11 passed all thirteen scenarios of the live campaign on Windows 11 x64,
ZCode Desktop 3.14.3.7762 with its bundled CLI 0.16.9, installed from this exact
archive through the Plugin Marketplace. The campaign included a real update from
a running 1.0.10 with no manual step, a hard kill and resume, a forced repair, a
schema-forward-compatibility check, uninstall and reinstall over preserved
history, and per-role models on both Z.ai and a third-party provider.

The signed receipt, its signature and every piece of evidence it names are
attached as zcode-live-certification-1.0.11.tgz. To check them yourself:

gh release download v1.0.11 --repo jannotix/zcode-cycle-plugin --dir release
tar -xzf release/zcode-live-certification-1.0.11.tgz -C receipt
gpg --import docs/releases/release-signing-key.asc
node scripts/release/verify-zcode-live-receipt.mjs --receipt receipt/zcode-live-certification.json --signature receipt/zcode-live-certification.json.asc --signer-fingerprint 29CB2E3FA61B8A2FFE97BF87CC4D1A39CE15684F --sealed release

The published-release workflow runs the same check and refuses a release marked
stable without it.

Linux x64 is certified by CI (the 20-iteration battery on Ubuntu 22.04 and clean
installs on Ubuntu 22.04 and 24.04); the live ZCode campaign ran on Windows only.