Cycle for Zcode 1.0.10
Pre-releaseCycle for Zcode 1.0.10
Superseded by 1.0.11 - do not update to this version from 1.0.9. An
update leaves the 1.0.9 daemon running, and 1.0.10 cannot stop it: every Cycle
call then fails with workflowd did not become healthy within 15 seconds. If
you already updated, stop the old daemon (Stop-Process -Name workflowd, or
restart Windows); your history is intact. 1.0.11 fixes this.
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.10 closes what the first fully isolated live campaign found. 1.0.9 was
carried through all thirteen scenarios of that campaign on ZCode Desktop
3.14.3.7762, and passed every one. Passing is not the same as finding nothing:
the campaign found the defects below, several of them only because a scenario
exercised a path no test had put two components through together.
Fixed
The secret-scan gate read the name and never the value. A Stripe-shaped live
key asked for inline went into two files, and the mandatory scan reported no
credential-like content: the rule matched a handful of assignment names, and the
key sat under a camelCase name and after ||. Worse, the security reviewer saw
the literal and cleared it because the scan had passed. The gate now also reads
the value: a quoted literal carrying a conventional credential prefix, or a PEM
private key block, is refused wherever it appears on a changed line.
A gate that could not start abandoned the whole verification. A planned
command whose program does not exist (start is a cmd.exe builtin) was recorded
as a failed gate with no exit code; the evidence validator refused that pairing,
and the refusal surfaced as "candidate evidence identifiers do not match the
plan" - false, and it sent the run chasing it. A failure may now carry no exit
code, and a refused record names the gate and the rule.
A freeze refusal told the run to revert the operator's project. Told to
"commit or revert the project", an orchestrator that cannot commit deleted an
untracked file it had not created. The refusal and the orchestration skill now
say the project directory belongs to the operator and no role may touch it.
Per-role models were blocked by their own documentation. Since 1.0.7 the code
accepts any well-formed model reference; the command text and manual still listed
three and refused the rest, and the orchestrating model obeyed the text. The
documentation now describes the real format, including the URI encoding ZCode
requires for a provider id that contains a colon
(custom:account%3Azai-individual-coding-plan:GLM-5.3) and a third-party model
(custom:minimax:MiniMax-M3). The campaign ran the arbiter on each while every
other role ran on the session's model, proven from the host's own model logs.
The disabled reasoning level is now accepted, and the ledger records the
provider as ZCode resolves it.
ZCode's own search-index file blocked the next freeze. .zcodeignore, written
by the host when its search palette opens, is now kept out of the project's
change set the same way the role profiles are.
Windows: the daemon is unsigned, and will stay so
workflowd.exe is not Authenticode signed and no release will be. SmartScreen,
Defender or Smart App Control may object. 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 actually runs from, and what Smart App Control does not allow.
Verification
Rust 309 tests on Windows and 308 on Linux with no failure, MCP 46,
qualification 30, clippy and cargo fmt clean. The deterministic qualification
battery passed 20/20 on both platforms in CI, and 20/20 again locally on
Windows against the shipped daemon. Built, sealed, clean-installed on Ubuntu
22.04, Ubuntu 24.04 and Windows 11, and attested with build provenance by
release-candidate run 35840484393 from 45ea243; the CI-built daemons are
imported in cd9bab1, the commit the signed tag v1.0.10 names.
| artifact | SHA-256 |
|---|---|
zcode-cycle-1.0.10.zip |
f5bbbc1b2628974f10f7ee81a5f33cfb1a89755b19d0876c8b41cb7b103a6be1 |
zcode-cycle-native-linux-x64-1.0.10.tgz |
c0be90ae06ed3db16926d219ad8c16a9c21c51591709368eecd8ae33c9426fec |
zcode-cycle-native-win32-x64-1.0.10.tgz |
3911ea1168a01091a034c3547562e68c9e1b1e8a33f1855389ad4d508fd029cc |
Not yet claimed
The daemon and the MCP bridge changed, so the 1.0.9 campaign does not cover these
bytes. Until 1.0.10 has been carried through the thirteen-scenario live campaign
against this exact archive, it is a sealed and reproducible candidate rather than
a certified release, and it is marked as a pre-release for that reason.