Skip to content

v0.2.5

Choose a tag to compare

@coo1white coo1white released this 13 Jul 17:40
· 435 commits to main since this release

MCP clients now receive real typed tool-input schemas with required-field lists, when-to-use behavior hints, and protocol-version negotiation, and a drive round can run its endpoint agents concurrently via --concurrency.

  • Capability: A hardening-and-cleanup release from four audit campaigns (61 PRs, #441#500). Release trust chain: the signed reviewer-verdict backstop is no longer bypassable — the verdict now binds the reviewed SHA in CI, the pubkey is pinned to main, the gate runs from main's tree (not the tag's own), two review-gate bypasses are closed, and CW_NEVER_FORWARD_ENV keeps CW's own secrets out of every spawned child, fail-closed. Robustness: 24 verified findings fixed — a run-scoped drive mutex, locked appends for messages.jsonl and the attestation ledger, a torn-tail merge guard, vendor-process reaping on agent timeout, hardened child termination, quiet EPIPE exits. Perf: commit snapshots stop copying the whole run, trust-audit appends go O(1) through a tail cache, and a drive round runs its endpoint agents concurrently. Also: real MCP tool input schemas, isError results, behavior hints and protocol-version negotiation; CLI and workbench UX fixes; a hard JS/TS-only policy with an enforcing gate (every shell script is now node); a repo slim-down (dead files deleted, doc drift fixed); npm now ships all four vendor plugin manifests (.gemini-plugin/, .opencode-plugin/ added); and a trust-audit lost-write race at log creation is fixed (#497).
  • Implementation: The trust-chain work is in the release scripts and workflows (verdict-SHA binding, main-pinned pubkey) plus buildChildEnv's fail-closed env backstop. The lock and append fixes concentrate in shell/fs-atomic.ts (bounded backoff acquire), shell/coordinator-io.ts, shell/telemetry-ledger-io.ts, and shell/trust-audit.ts (tail cache; the missing-log create is now O_CREAT without O_TRUNC). MCP schema and hint work is in mcp-server.ts; the language gate is scripts/lang-policy-check.js.
  • Tests: conformance 106/106, unit 169/169, full smoke suite 236/236 (up from 204 — every fix landed with its own pinning smoke). CI green on Node 18+22 × x64+arm64 for every PR.
  • Risk: Low to moderate — the changes are fail-closed guards, lock serialization, perf work behind unchanged surfaces, and additive UX/docs; one packaging change (npm ships two more vendor manifest dirs, additive). No schema or --json shape changed. Zero new runtime dependencies.

Provenance & audit

Released through the gated flow: deterministic gate → independent release-reviewer (verdict above) → provenance-attested npm publish.