github Gentleman-Programming/gentle-ai v4.5.0
v4.5.0 — Stopped Reviews Report Their Findings, Windows 10 22H2 Installs

42 minutes ago

Gentle AI v4.5.0 is a minor release over v4.4.0. A review that stops at correction_required or escalated now returns the findings it admitted as non-blocking to a client that explicitly opts in, and a correction-plan request that cannot be built reports correction_request_unavailable instead of a corrupted authority. The Separate installer qualifies Windows 10 22H2 (build 19045) on amd64, Codex receives the core-plus-on-demand module split, and Gentle Shell stops refusing a normally used Windows installation on runtime-state byte counts while keeping one recent replacement backup. One verification method now serves the installed runtimes instead of a copy that only OpenCode carried. The provider contract moves to 1.5.0 with an additive stop reason; the review integration contract stays at v2, its capability identity stays capabilities/v2.6, and the module path stays at /v4.

Provenance

  • Previous stable: v4.4.0 → 55240afb100ad6d2ef5fbe16f7be33a7693f77ad
  • Release target: v4.5.0 → f2f7d7b16c2cf1afe5e07f717cf8265946ac3feb
  • Release workflow: run 43523988281
  • Verification: preflight, release, and verify jobs all succeeded.
  • Provider contract: 1.5.0

What's new

Stopped reviews report their non-blocking findings

A correction_required or escalated closure returned only the findings to correct. The informational, follow-up and refuted findings it admitted existed only inside the transaction state, while the approved branch already returned them. review status now returns them as non_blocking_findings with claims when the caller passes --non-blocking-findings and negotiates --contract gentle-ai.review-integration/v2. STATUS v9 declares the field as optional, the approved closure keeps its existing payload, and every frozen v1 response is unchanged.

Included work: #6092, #6107, #6108 (issue #6088).

Windows 10 22H2 qualifies for the Separate installer

The Separate installer required Windows build 22000 or newer on amd64, so a supported Windows 10 22H2 workstation was refused with a diagnostic that named only the rejected build. UserKernelCheck now accepts build 19045 and newer on amd64, and the refusal names the accepted range. ARM64, Windows Server and older builds keep the fail-closed refusal.

Included work: #5989 (issue #5927).

Codex receives the core-plus-on-demand module split

Codex now gets the same split runtime guidance as the other hosts — a core orchestrator plus modules delivered on demand — and its deprecated capability configuration is replaced with the current multi-agent form. The other runtimes keep their existing rendering.

Included work: #6121 (issue #5256).

The provider contract adds one stop reason

A correction-plan request that cannot be built used to be indistinguishable from corrupted authority. The shipped continuation contract now carries the stop reason correction_request_unavailable, and an eligible manual release is offered only where the existing read-only eligibility check permits it. The change is additive, which is why the contract moves to 1.5.0.

Included work: #6087, #6101 (issue #6086).

Breaking changes

No breaking changes are declared for v4.5.0. The module path stays at /v4, the review integration contract stays at v2, its capability identity stays capabilities/v2.6, and no existing review CLI flag changed; --non-blocking-findings is a new opt-in flag and non_blocking_findings is an optional STATUS v9 field. The provider contract moves from 1.4.0 to 1.5.0 additively, and the frozen v1 review schemas are unchanged.

Installed assets changed even without a breaking API change: the orchestrator and subagent prompts, the ODD tracking and resume rules, the verification method, three skill texts, the managed Engram protocol and the provider contract bundle all moved in this release. Run gentle-ai sync after upgrading so the installed prompts, contracts and runtime assets match the binary.

Upgrade now

brew upgrade gentle-ai
gentle-ai sync

Windows and other source installs:

go install github.com/gentleman-programming/gentle-ai/v4/cmd/gentle-ai@v4.5.0
gentle-ai sync

Run gentle-ai sync after upgrading so managed agent, reviewer, and runtime assets match the installed binary. Claude Code, Codex, Cursor, Kiro, Antigravity, OpenCode and Pi installations all receive changed guidance, skills or contract text in this release.

What was fixed

Correction STATUS now matches the schema it publishes

STATUS v9's closed schema rejected the two conditional correction-release stops, an unbuildable correction request was reported as corrupted_or_unverifiable_authority, and the frozen v1 serializer emitted v2-only fields. A bound committed-range correction STATUS could also replace the frozen empty intended-untracked exclusion with an unrelated live untracked file. Each stop now validates against the published closed schema, the frozen v1 response keeps its truthfully applicable shape, and the frozen exclusion survives a bound correction status. The corrections are slices of the same recovery path, not a schema change: historical schemas stay frozen.

Included work: #6103, #6104, #6122 (issues #6086, #6058).

Guidance no longer contradicts itself or the runtime

The wording ported from Gentle Shell landed in parts, so the routing block, the persistence contract and the runtime-specific assets disagreed. Every writer launch now carries its allowed edit surfaces, parallel writer units are stated as launched together in one turn (the measured difference was 989 s with one launch per turn against 373 s with the launches together), resuming no longer re-reads sources or reports the whole suite, an explicit user request wins over a handoff's RDD rule, the provider's review_due decision is honored with the explicit-user-review exception intact, the managed Engram protocol asks for one mem_save per request instead of one per trigger, and ODD tracking writes keep the task file as the source instead of replaying comparison scripts.

Included work: #6069, #6070, #6073, #6084, #6090, #6091, #6110 (issue #6067).

Verification follows the kind of change

The verifier re-ran the writer's suite instead of applying a method to the change, so a prompt-text change and an external-tool change were verified the same way and neither reproduced the real case. Verification now follows the change kind: a real-case reproduction for external tools and the environment, a sentence-by-sentence comparison for prompt and contract text, and targeted probes for other code, without re-running the writer's suite. Three skill texts were also aligned with the wording Gentle Shell corrected, and the Claude, Cursor and Kiro lens sources now state the JSON-only result rule the OpenCode sources already carried. The lens-source change touches only agent frontmatter and changes no installed behavior.

Included work: #6068, #6071, #6072 (issue #6067).

One verification method is installed instead of copied

The canonical verification method lived inside the OpenCode verifier body, so runtimes without that body carried their own copy or nothing. The method is now installed once and referenced by the runtime assets, the exploration guidance is deduplicated without changing the byte ceilings, and an installation made by the intermediate slice still matches: the pre-refactor verifier entry stays recognized, so upgrade and uninstall do not leave a stale user-owned file behind.

Included work: #6112, #6113, #6114 (issue #6074).

The skill registry has one byte-identical writer

The CLI and Gentle Shell wrote different registry bytes and incompatible cache fingerprints to the same .atl/skill-registry.md, so each writer kept replacing the other's output. The CLI now renders the same disk-only registry as Gentle Shell, byte for byte.

Included work: #6059 (issue #6037).

Gentle Shell installs and updates on Windows and macOS

A normally used Windows installation could no longer be updated or reinstalled: the installer's full-tree verification counted runtime state written after publication (Go and npm caches, temp, Pi sessions) against the artefact byte bounds and refused with a pathless message. Runtime state is now exempt from those bounds. Windows also keeps the newly created .replaced-<UTC> backup and the newest older candidate under clock skew, prunes only backups that pass the validated removal boundary, and reports an uncertain tree without retracting a valid installation. An in-session Pi self-update rewrote the authenticated prefix and made every later launch refuse; the provisioner now re-provisions the authenticated graph instead. On macOS the session's RLIMIT_NPROC headroom derives from the shared 512-task budget instead of a fixed 64, so forks no longer fail with EAGAIN. On the Unix/macOS lane the Stable install now takes npm's latest resolution directly, reviewed supplier digests are advisory warnings, and every transport anchor (SRI, shape, registry, companion) stays hard.

Included work: #5998, #5999, #6081, #6089, #6099, #6100, #6102, #6120 (issues #5994, #5996, #6061, #5812, #6098, #6119).

Numbers

78 non-merge commits, 32 merged pull requests, and 2 unique GitHub PR authors since v4.4.0. The range changes 171 files with 6,557 insertions and 696 deletions. Thanks to @decode2 for the nine Gentle Shell installer pull requests in this release.

Install

brew install Gentleman-Programming/tap/gentle-ai

or

go install github.com/gentleman-programming/gentle-ai/v4/cmd/gentle-ai@v4.5.0

Windows remains supported through the Go installation path. Official Windows binary archives and Scoop publication remain unavailable; Windows upgrades fail closed to Go-based guidance rather than downloading unsigned binaries, except that an existing Scoop-owned installation updates through Scoop itself.

Signed platform archives below: linux_amd64, linux_arm64, darwin_amd64, darwin_arm64, with checksums.txt and its minisign signature.

Full changelog: v4.4.0...v4.5.0

Don't miss a new gentle-ai release

NewReleases is sending notifications on new releases.