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 -git 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 startwithout--contractcould create a lineage nothing could ever finish, because only the negotiated form publishes therepository_contextits 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.1On 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 --versionGoing 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
- Source:
9b2cf201c0c1848da80c73058530e454349cd213 - CI: run 30931681226 passed every job on this exact commit, including the shell E2E suites on ubuntu, arch and fedora at 494 tests each, both Organic Runtime E2E platforms, and the Darwin and Windows runtimes.
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.