gentle-pi v2.0.0
·
1101 commits
to main
since this release
gentle-pi v2.0.0
The first breaking release of the RDD line: gentle-pi stops speaking gentle-ai.review-integration/v1 entirely and negotiates contract v2 only against the pinned Gentle AI v2.2.2 binary. Frozen Git trees replace the Base64 candidate payload, evidence capture becomes a first-class ordered step, and Pi can finally finalize a reviewed candidate end to end.
Highlights
- Contract v2 only, v1 lane deleted (#231):
contracts/review-integration/v2/is mirrored byte-identically from Gentle AI v2.2.2 (9 schemas, 4 fixtures), andlib/review-integration-v2.tsreplaces the old module with 11 exact-key decoders coveringcapabilities/v2,start/v3,status/v3,consent/v2,failure/v2,operation/v2,repair/v2, and the projection and artifact-subject envelopes. No v1 identity remains inlib/,runtime/, ortests/; the v1 schema files stay on disk only as$reftargets for v2 schemas. - Pi can finalize a reviewed candidate (#231):
review.capture-resultandreview.capture-evidenceare wired through the production controller. FINALIZE requires exactly onereview.capture-evidenceinput before any targeted validation, re-queries STATUS after capture, and fails closed on a prematureexternal.run_targeted_validation— the exactstatus → capture-evidence → status → finalizeordering is proven by the runtime harness against the real extension. - Reviewer dispatch binds field-wise to the frozen trees (#231): dispatch consumes the provider-issued
artifact_subject,base_tree,candidate_tree, and orderedchanged_path_manifestfromnext_transition.collect.inputs[], comparingstatus,old_mode,new_mode,deleted,type_changed,mode_only, andintended_untrackedinstead of sorted path-set equality. Mode-only and type-change drift are rejected even when paths match, and a candidate tree that diverges between START and dispatch fails closed rather than exposing a substituted view. - Lens agents get no shell (#231): the four review lens agents resolve to exactly
read,grep, andglob. Bash and every mutation tool are denied, and the candidate is reachable only throughReadagainst a chmod-read-only worktree. - All three correction outcomes execute through production (#231):
passedunlocks one provider-bound targeted-validation request,verification_failedkeeps the transaction open and charges nothing, andprocedural_tooling_failedrequires terminal escalated authority. Reused failed-evidence identity is rejected throughassertDistinctCorrectionEvidence. - Negotiation fails loud, never quiet (#231): a half-upgraded
.gentle-ai/install fails hard naming the expected v2.2.2 version instead of degrading to an older runtime, the capability cache is digest-keyed against an independently hashed executable, andGENTLE_PI_REQUIRE_NATIVE_BINARY=1turns an absent pinned binary into an exception instead of a green self-skip. - Three latent v1 decoder gaps fixed while porting (#231):
FAILURE_NEXT_ACTIONSomittedreview.repairand rejected valid failure envelopes the published schema allows;decodeEligibilitydid not acceptdispositionplusbindingforreview.retry_final_verification; anddecodeFailureContextonly ever implemented thescope_changebranch, silently dropping legitimatebinding_revisionpayloads.
Upgrade notes
- Breaking: gentle-pi no longer negotiates
gentle-ai.review-integration/v1. Installations carrying an older Gentle AI binary fail closed with an actionable error naming the expected v2.2.2 version; reinstall normally to provision it. pi install npm:gentle-pi@2.0.0provisions the pinned Gentle AI v2.2.2 binary and verifies its archive and executable SHA-256 before extraction.- RDD remains an unstable development line. The stable version without native RDD is still
pi install npm:gentle-pi@0.14.0. - Two mirrored skill assets (
skills/gentle-ai/SKILL.md,skills/_shared/review-ledger-contract.md) are deliberately left to their upstream sync; cross-process evidence-directory immutability remains provider-owned.
Verification
- The exact release boundary passed the full suite (920 tests, 919 passing, one expected Windows-only skip), the runtime harness, generated-runtime regeneration for all 4 modules, and package verification (129 required files and 64 byte-identical v2.2.2 contract artifacts).
- Independent SDD verification returned PASS against 5/5 requirements and 15/15 scenarios with zero blockers and zero critical findings, 4/4 corrective objectives proven through production callers, and TDD compliance 7/7.
- The change was archived and its delta specs folded into the main spec tree. The review gate is recorded as
disabled/unmanaged: the maintainer's global RDD switch was off at release, so no receipt approval was issued or implied.