Skip to content

v2.3.0-rc.1 — The RDD root simplification

Pre-release
Pre-release

Choose a tag to compare

@Alan-TheGentleman Alan-TheGentleman released this 04 Aug 17:14
9b2cf20

Known issues, found within hours of publishing

Three defects reached this prerelease. They are being fixed now and will land in rc.2. Read this before you spend time on the testing flows below.

1. The documented negotiated invocation fails. gentle-ai review status --cwd <repo> --contract gentle-ai.review-integration/v2 --next-transition, exactly as our own orchestrator contract documents it, returns a non-retryable stop even on a fresh repository with no review authority. Adding --agent <runtime> works around it for Claude Code. Reproduced and traced to a preflight gate requiring a runtime identity the documented form never passes.

2. OpenCode and Codex are blocked by that same gate. The fail-closed transport check shipped, but the change that gives OpenCode the transport to satisfy it did not. There is no workaround for OpenCode users on this build.

3. Our own protocol tells your orchestrator to refuse this prerelease. The provider-defect handoff instructs it to resume only after "an installed released fix". Orchestrators read that as stable-only and decline to continue on a release candidate. If yours refuses, that is our wording, not your setup.

If you already installed this build and hit any of the above, you lost time because of us and we are sorry. Revert to v2.2.4 while rc.2 is prepared. Everything reported so far has been preserved and is being fixed.

Thanks to the people who tested this within hours of publication and reported precisely enough that we could reproduce all three. That is why this section exists today instead of next week.

Gentle AI v2.3.0-rc.1: The RDD root simplification

This is the largest structural change since receipt-driven development shipped. Waves 0 through 7 retired the legacy review machinery and replaced it with a single lineage, then four fixes landed on top. The result removes about a thousand more lines than it adds.

It is a prerelease for community testing. Please break it.

Why the minor bump

Three changes alter behavior you can observe, so this is not a patch:

  • gentle-ai no longer installs agent runtimes. It never did announce the sudo npm install -g it was running. It now adapts what is already on your machine and refuses when something is missing, naming the command you would run yourself. The README always said gentle-ai is not an agent installer; now that is true.
  • Six legacy review verbs are retired, along with the shadow observer, both reconcile-authority providers, and the quarantine and repair pair.
  • Delivery gates are receipt-only with default-deny.

What is new

Review

  • Provider-owned lens context (#2459). Any orchestrator can now obtain a reviewer's complete context from the provider instead of assembling it by hand. The reviewer's instruction and result schema travel with the block, so a runtime with no adapter delivers a real review rather than an approximation. The receipt records which mechanism actually delivered the context, observed rather than declared, so a run cannot claim a mechanism that never executed.
  • Direct start refuses uncompletable reviews (#2447). review start without --contract could create a lineage nothing could ever finish, because only the negotiated form publishes the repository_context its lenses need, and a bare status call could never find it again. It now refuses before persisting anything and names the call that works.

Install and recovery

  • No agent auto-install (#2450). Eight agents that cannot be installed via CLI at all were previously a silent no-op. Their explanations existed, were tested, and were unreachable. You will now actually see them.
  • Rollback validates against the right root (#2451). Rollback checked every path against your home directory, so a workspace-scoped install could not roll back, and that refusal replaced the real error. You lost the diagnosis and the recovery at once. This one is reachable on v2.2.4, so it is the strongest reason to try this build.

Codex

Codex will not receive runtime interception, and the reasoning is on #2418. The probe said yes, then the qualifications ruled it out: the spawn tool is chosen by the model, two of the three tiers we ship use an encrypted message field that cannot be rewritten, and the hook path fails open silently. Codex rides the provider command instead, and its receipts say so honestly.

Installing it

This prerelease does not update Homebrew, and the binaries are unsigned. Integrity comes only from SHA256SUMS.txt, so verify before running.

Linux and macOS

# pick your platform: linux_amd64, linux_arm64, darwin_amd64, darwin_arm64
PLATFORM=linux_amd64
VERSION=2.3.0-rc.1

curl -fsSLO "https://github.com/Gentleman-Programming/gentle-ai/releases/download/v${VERSION}/gentle-ai_${VERSION}_${PLATFORM}"
curl -fsSLO "https://github.com/Gentleman-Programming/gentle-ai/releases/download/v${VERSION}/SHA256SUMS.txt"

# verify before running it
sha256sum --ignore-missing -c SHA256SUMS.txt

chmod +x "gentle-ai_${VERSION}_${PLATFORM}"
sudo mv "gentle-ai_${VERSION}_${PLATFORM}" /usr/local/bin/gentle-ai
gentle-ai --version   # expect: gentle-ai 2.3.0-rc.1

On macOS, Gatekeeper will quarantine an unsigned binary. Clear it with xattr -d com.apple.quarantine /usr/local/bin/gentle-ai.

Windows (PowerShell)

$Version = "2.3.0-rc.1"
Invoke-WebRequest -Uri "https://github.com/Gentleman-Programming/gentle-ai/releases/download/v$Version/gentle-ai_${Version}_windows_amd64.exe" -OutFile gentle-ai.exe
Invoke-WebRequest -Uri "https://github.com/Gentleman-Programming/gentle-ai/releases/download/v$Version/SHA256SUMS.txt" -OutFile SHA256SUMS.txt

# compare this against the windows line in SHA256SUMS.txt
Get-FileHash gentle-ai.exe -Algorithm SHA256 | Format-List

.\gentle-ai.exe --version

Going back

Keep your current binary before overwriting it, or reinstall the stable release with brew install gentleman-programming/tap/gentle-ai. This build writes nothing that a v2.2.4 binary cannot read, except review receipts created by lineages that used the new lens context surface.

What we want you to try

Ordered by how much we want the answer. If you only have time for one, do the first.

1. A missing runtime, on purpose. Uninstall or rename one agent runtime, then run an install targeting it. You should get a refusal naming the exact command to run yourself, and gentle-ai should install nothing. Then run that printed command, retry, and confirm it proceeds. Tell us if any printed command is wrong, because a wrong command is worse than the behavior we removed.

2. Rollback on a failed workspace install. Run an install with --scope workspace and make it fail partway. Rollback should restore your files and you should see the real error. On v2.2.4 you get a home-directory complaint instead and no rollback. If you have a custom OpenClaw workspace, try it with the default scope too, since that path also writes outside home.

3. A full review on each runtime you use. Take a real change through review on OpenCode, Claude Code, and Codex. The reviewer should get its complete context regardless of which one you use. Tell us if a reviewer ever seems to be working from a prompt someone assembled by hand instead of the provider's.

4. Agents that cannot be installed by CLI. Configure Cursor, Windsurf, or Antigravity without having the app. Previously nothing happened at all. You should now get a clear explanation of why gentle-ai cannot help.

5. Delivery gates end to end. Commit, push, open a PR, and try a release, with and without an approved receipt. The gates should validate the same receipt and never reopen review for unchanged content.

6. Upgrading with existing state. Try this build on a repository with in-flight reviews from v2.2.4. Lineages created by the direct route are the interesting case, since recognizing them is a known gap tracked in #2447.

Report anything at the issue tracker. Include your OS, gentle-ai --version, and the exact command. If a refusal sent you somewhere that did not work, that is the highest-value report you can file, because a dead end is worse than a bug.

Validation

Two honest notes about how this was verified, since both cost us time today. The install pipeline tests passed on a developer machine and failed in CI on the identical commit, because they silently depended on which agent runtimes happened to be installed. And the shell E2E suite runs Tier 1 only on pull requests, so the tiers that broke were never exercised before the merge. Both are now filed as #2466.

Distribution

No Homebrew update for this prerelease. Download the platform binary from the assets below, verify it against SHA256SUMS.txt, and run it.