gentle-pi v2.2.0
Carries the gentle-ai v2.4.0 binary. The package-local pin moves from v2.2.3, three stables back, straight to the current release.
Highlights
- Package-local Gentle AI pin bumped to v2.4.0 (#356):
INSTALLER_VERSION, the four asset digests, the Windows source tag, and oneNATIVE_CLI_CONTRACTSrow ground-truthed against the published binary. The row lightsmodeanddelivery, both re-verified against the negotiated path Pi consumes;riskEvidenceandhintstay dark because the capturedstart/v3envelope carriesrisk_reasonsand nohint. - No schema adaptation was required. The v2 lane moved (
capabilities/v2protocol 2.0 tocapabilities/v2.2, START answeringconsent/v3, STATUS answeringstatus/v5with a forecast,--agentnow defined onreview status), and every one of those identities already had a decoder. That was proven by driving the real pinned binary throughruntime/*.mjs, not inferred. - Review-mode continuation for the
defaultsource (#352 area):reviewModeContinuationpreviously returned nothing for mode sourcedefault, which was correct while that source was unreachable. Gentle AI v2.4.0 makes receipt-driven development opt-in, sodefaultis now the most common refusal there is. Without this, a fresh install would be told reviews are off with no way to turn them on. It now names--scope=global, as the native refusal does. - Edit-authority surfaces are supplied, not improvised (#352): the orchestrator contract never told the parent to derive or pass the worker's allowed edit surface, while
gentle-ai-workerwas obliged to stop without one. Every delegated write deadlocked into an unanswerable free-text prompt asking the human to author path globs. The parent now derives and passes it, and when it genuinely cannot, the escalation presents a derived candidate set to approve or narrow. - Native RECOVER is no longer gated behind the legacy RESET challenge (#212):
RECOVERvalidates its six canonical fields, rejects a caller-suppliedmaintainerAuthorization, derives the authorization binding itself, requires fresh interactive approval, and re-reads status after approval so authority that changed while the human decided is refused rather than acted on.RESETbehavior is byte-for-byte unchanged, with a regression guard. - Vendored contract artifacts re-synced to v2.4.0, plus the schema they
$ref. Without it, package verification would have claimed byte-identity with v2.4.0 while holding v2.2.3 bytes.
Upgrade notes
- Install with
pi install npm:gentle-pi@2.2.0. - Receipt-driven development is opt-in in the pinned Gentle AI v2.4.0. An explicit global enable survives the upgrade; an installation that never set it resolves to off. Turn it on with
gentle-ai review mode enable --scope global. - After upgrading, restart the Pi process and run
/gentle:install-sdd --forceto refresh the installed agent assets. Replacing the package does not refresh assets already deployed.
Verification
- Exact release SHA
49833c8255b0e4285045b3d9695491b4a0e38b1d. pnpm test: 1288 tests, 1287 passing, zero failures, one expected skip.- Package verification passed with 163 required files and 65 exact byte-identical v2.4.0 contract artifacts.
- Packed installation loaded gentle-pi 2.2.0 with Gentle AI 2.4.0 and passed all 13 runner states.
pnpm installin a clean worktree reportedpostinstall: Gentle AI v2.4.0 installed, proving the pin resolves end to end.- Every CI step was reproduced locally with the dev-binary override parked, since
test:packed-runnerruns only in CI andprepublishOnlyand a greenpnpm testalone does not cover it. - The release review disposition is
disabled/unmanaged: no review receipt was issued, validated, or implied.
Known gap
- Non-SDD assets are still installed and refreshed by
install-sddand reported as "global SDD assets" (#354). Ten of the twenty-two agents inassets/agents/are not SDD, and that co-location is what let SDD vocabulary bleed into the delegation worker in the first place.
Full changelog: v2.1.2...v2.2.0