github Gentleman-Programming/gentle-ai v2.9.1
v2.9.1 — Claude Code SDD Dispatch Restored, OpenCode Consent Without Custom Control

5 hours ago

Gentle AI v2.9.1 is a hotfix release for two runtimes. On Claude Code, every sdd-* delegation has been denied since v2.8.0 because the SDD dispatch guard minted its only allow path from a record a model-started process could forge; the guard now derives parent-confirmed preflight from the session transcript itself. On OpenCode, review consent no longer stalls when the active question schema exposes multiple but not custom.

Provenance

  • Previous stable: v2.9.0be495547
  • Release target: v2.9.19ec0cf443622f20fe511815ff5a83088c7467bff
  • Release workflow: run 34871833303
  • Verification: preflight, release, and verify jobs all succeeded.
  • Provider contract: 1.2.0

What's new

No new features are declared for v2.9.1.

Breaking changes

No breaking changes are declared for v2.9.1. The provider contract remains at 1.2.0 and previously published contract artifacts remain byte-frozen.

Upgrade now

brew upgrade gentle-ai
gentle-ai sync

Run gentle-ai sync after upgrading so managed agent, reviewer, and runtime assets match the installed binary. Claude Code users must run gentle-ai sync to receive the rewritten SDD dispatch hook; OpenCode users must run it to receive the corrected orchestrator instructions.

What was fixed

Claude Code SDD dispatch

The Claude Code PreToolUse(Agent) SDD guard denied every sdd-* dispatch since v2.8.0. Its only allow path minted authority from a PostToolUse record, and because a model-started copy of the hook command could forge that record, the guard had to refuse it. Parent-confirmed preflight is now derived at dispatch time from the transcript path and session id the hook runner supplies: the last canonical AskUserQuestion pair in root records of that session builds the ## SDD Session Preflight block, which is prepended to the child prompt. Claude Code only honors the hook invocation it started itself, so a model-started copy cannot influence the real dispatch. The PostToolUse minting, the persisted record file, and the SessionEnd cleanup are gone. The transcript scanner bounds lines at 8 MiB and skips overlong lines without aborting; missing, child-session, model-authored, malformed, unanswered, foreign-session, and sidechain authority still deny with an actionable reason.

Included work: #4575.

OpenCode review consent

The OpenCode orchestrator instructions required the custom control of the native question tool to present the review consent envelope, so a runtime whose active schema exposes multiple but not custom could not relay consent at all. The instructions are now schema-aware: an unsupported custom control is omitted rather than invented or treated as a blocker, and supported controls stay false. The contract still requires exactly one returned value uniquely matching an offered label or a permitted unambiguous ordinal alias; invalid answers authorize no provider invocation and re-present the complete native question. This native-only exception applies exclusively to gentle-ai.review-integration.consent/v3; the SDD edit-authority envelope and every other envelope keep their generic native routing and complete fallback. Installed prompts migrate through an exact managed-clause replacement that preserves user content.

Included work: #4584.

Numbers

2 non-merge commits, 2 merged pull requests, and 1 unique GitHub PR author since v2.9.0.

Install

brew install Gentleman-Programming/tap/gentle-ai

or

go install github.com/gentleman-programming/gentle-ai/v2/cmd/gentle-ai@v2.9.1

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.

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

Full changelog: v2.9.0...v2.9.1

Don't miss a new gentle-ai release

NewReleases is sending notifications on new releases.