Skip to content

gentle-pi v2.4.0

Choose a tag to compare

@Alan-TheGentleman Alan-TheGentleman released this 04 Sep 21:29
· 463 commits to main since this release
525812f

gentle-pi v2.4.0

Carries the gentle-ai v2.6.0 binary and the provider contract bundle 1.2.0. The package-local pin moves from v2.5.0 (gentle-pi 2.3.0) to it.

What's new

  • Pi has its review contract again. gentle-ai stopped writing the Pi system prompt on 2026-08-01, and a Pi session has run without a lifecycle contract since. The package now injects the mirrored orchestration/pi.md from provider contract bundle 1.2.0 into the primary session at before_agent_start, verified against the mirror's digest and outside the core prompt budget, and states the closed single-select ask_user_choice route always-on (#561). The Pi-specific contract keeps STATUS and every capture on one registered facade route, with regression coverage for the facade-only lifecycle and explicit acknowledgement (#583, thanks @decode2).
  • The loop end reminds you to preflight. With receipt-driven development on, a read-only agent_end handler sends one gentle-pi.review-preflight message naming the target identity and the exact gentle_review inspect route, once per candidate, and stays silent when the CLI is missing, the session is headless or a subagent loop, the switch reads off, or STATUS does not offer a START (#558). session_start records the session's baseline candidate so a worktree that was already dirty before the session never triggers the reminder (#570).
  • Concurrent reviewer groups. Reviewer process execution is split from native result submission, independent reviewer preparation runs concurrently while admission stays in provider order, and detached reviewer output is protected behind an unforgeable prepared-result identity (#557). gentle_review_capture_group validates a complete provider-issued group before launch and preserves restart, drift, partial-mutation, refusal, closure, and unknown-outcome reconciliation (#559). Grouped captures bind to the provider's stable phase revision instead of the advancing authority revision, keep exact review-* lens identities, and reject missing or mismatched contexts, targets, and per-slot bindings before any reviewer launches (#590, thanks @decode2).
  • CodeGraph for exploration. sdd-explore gets the constrained direct codegraph tool under an exact ordered allowlist, without the broader mcp gateway (#585).

Upgrade notes

  • Install with pi install npm:gentle-pi@2.4.0.
  • After upgrading, restart the Pi process. If an older gentle-ai build had written managed blocks into ~/.pi/agent/APPEND_SYSTEM.md, gentle-ai sync on v2.6.0 strips them; this package owns everything gentle-ai used to write there.
  • Released gentle-pi builds up to 2.3.0 pin gentle-ai v2.5.0 and decode the 1.1.0 bundle without an orchestration manifest; they keep working against v2.5.0 but never see the Pi contract. Upgrade both together.

What was fixed

  • Package-local Gentle AI pin bumped to v2.6.0: INSTALLER_VERSION, the four signed-archive asset digests verified against the release's Minisign-signed checksums.txt (trusted comment repo=Gentleman-Programming/gentle-ai;tag=v2.6.0) and their extracted-binary digests, the Windows Go SumDB module checksum and source tag resolving to c24a724a, and one NATIVE_CLI_CONTRACTS row ground-truthed against the published binary. Pi negotiates capabilities/v2.5 and decodes status/v7, which adds only the optional eligible_untracked_inventory digest on top of status/v6 (#595).
  • Package assets follow PI_CODING_AGENT_DIR. Package-owned agent home resolution aligns with Pi Subagents, GENTLE_PI_AGENT_HOME stays the explicit override, and gentle-ai-explore remains visible with its codegraph allowlist (#587, thanks @barbatdev).
  • Writer surfaces with spaces. The orchestrator's edit-surface parser fails closed: whitespace-bearing paths need whole-entry backticks, every non-empty line stays in scope until the next heading instead of being silently truncated, and absolute, traversal, home-relative, Windows-drive, UNC, and control-bearing entries stay rejected (#547, thanks @decode2).
  • Issue forms without a browser. The issue-creation skill materializes a reviewed body deterministically from the YAML form instead of requiring browser-only completion, which stays available only on explicit request (#576, thanks @decode2).
  • The README header carries the star history chart and the ecosystem links (#563, #567).

Verification

  • Exact release SHA 525812fb8f2ba5f5e26c867d4a18321b6eda46ba.
  • pnpm test on the release commit: 1219 tests, 1218 passing, zero failures, one expected skip; the provider contract mirror check (bundle 1.2.0) and the packed runtime harness passed.
  • Package verification passed with 163 required files and 68 exact byte-identical contract artifacts for the v2.6.0 runtime.
  • node scripts/test-packed-runner.mjs: packed package E2E passed (gentle-pi 2.4.0; Gentle AI 2.6.0).