Skip to content

v2.1.9

Choose a tag to compare

@github-actions github-actions released this 19 Jul 21:26
21f5418

What's New

Gentle AI v2.1.9 hardens the native review-authority lifecycle. A new shared, cross-worktree maintenance lock closes a concurrency race on movable authority lineages, gate-denied approved receipts now persist their invalidation and stay recovery-eligible, and cumulative authority composes correctly across overlapping recovery corrections. Community contributions pin GGA installs to tagged releases, fix SDD profile fallbacks, tighten doctor diagnostics, and add a first-class workflow skill for external contributors.

Changes

Review Authority and Concurrency

  • Shared authority maintenance lock: one Git-common-dir-scoped shared/exclusive lock sits above every movable lineage and version directory, closing a flock inode race where maintenance renaming a lineage could run concurrently with a native writer. Ordinary writers acquire shared mode, maintenance acquires exclusive, with canonical ordering, bounded acquisition, and fail-closed conflict handling on Unix and Windows. (#1474)
  • Approved invalidation persists on semantic denials: a gate that returns invalidated for an approved receipt now persists that invalidation to authority state, so it becomes recovery-eligible instead of stranding as neither committable nor recoverable. Infrastructure faults still fail closed. (#1461)
  • Cumulative authority across overlapping recovery: cumulative 4R authority composes with a bounded overlapping recovery correction, enforced per publication segment and re-derived under lock at final authorization. (#1459)
  • Legacy lock tolerance confined: the release gate tolerates ambiguous-lock residue attached to an already-invalid legacy-v1 entry while still failing closed on genuine current corruption. (#1472)
  • Dual-anomaly recovery reconciliation: gentle-ai review repairs a single compact-v2 recovery edge that carries an unchanged target and a pre-contract free-form authorization at once, without weakening validation. (#1465)
  • Malformed legacy freeze events quarantined, frozen findings ledger bound in compact gate contexts, audited pristine-lineage abandonment, retired recovered-start field tolerated read-only, and staged review supported on an unborn HEAD. (#1456, #1450, #1451, #1447, #1457)
  • Windows maintenance-lock hardening: legacy quarantine releases the per-lineage lock handle before renaming the lineage directory (Windows cannot rename a directory with an open handle inside), with test and CI robustness for the maintenance lock's added latency on slow runners. (#1479, #1482, #1483)

Risk Classification

  • Process boundaries classify as high risk: a concrete subprocess/process-boundary integration now escalates to high risk and the canonical 4R lens set, with a fail-safe bounded content scan. (#1473)

SDD

  • Compact remediation budget preserved across failed-verify remediation. (#1458)
  • Profile agent assignments fall back to global when a per-profile assignment is empty, so sdd-onboard-homework and peers keep their model. (#1444)

Installer, Doctor, and Sync

  • GGA installs pin to the tagged release instead of tracking a moving branch, matching the upgrade path. (#1435)
  • Doctor derives required agents from state.json and tightens duplicate detection to match exec.LookPath semantics. (#1467)
  • Managed OpenCode and Kilocode review plugins refresh on sync. (#1448)

Contributor Experience

  • New gentle-ai-collab-perfect workflow skill captures the issue-first, one-type:*-label, review-budget contribution flow for external contributors. (#1171)

Contributors

Huge thanks to the community contributors who shipped in this release:

  • @ardelperal — pinned GGA installs to tagged releases (#1435), fixed SDD profile model fallback (#1444), hardened doctor agent diagnostics (#1467), and authored the external-contributor workflow skill (#1171).
  • @franruiz0986-ai — reconciled dual-anomaly recovery edges (#1465).

Upgrade

brew upgrade gentle-ai && gentle-ai sync

Links