Skip to content

gentle-pi v2.2.0

Latest

Choose a tag to compare

@Alan-TheGentleman Alan-TheGentleman released this 17 Aug 20:16
· 6 commits to main since this release
49833c8

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 one NATIVE_CLI_CONTRACTS row ground-truthed against the published binary. The row lights mode and delivery, both re-verified against the negotiated path Pi consumes; riskEvidence and hint stay dark because the captured start/v3 envelope carries risk_reasons and no hint.
  • No schema adaptation was required. The v2 lane moved (capabilities/v2 protocol 2.0 to capabilities/v2.2, START answering consent/v3, STATUS answering status/v5 with a forecast, --agent now defined on review status), and every one of those identities already had a decoder. That was proven by driving the real pinned binary through runtime/*.mjs, not inferred.
  • Review-mode continuation for the default source (#352 area): reviewModeContinuation previously returned nothing for mode source default, which was correct while that source was unreachable. Gentle AI v2.4.0 makes receipt-driven development opt-in, so default is 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-worker was 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): RECOVER validates its six canonical fields, rejects a caller-supplied maintainerAuthorization, 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. RESET behavior 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 --force to 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 install in a clean worktree reported postinstall: 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-runner runs only in CI and prepublishOnly and a green pnpm test alone 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-sdd and reported as "global SDD assets" (#354). Ten of the twenty-two agents in assets/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