## Gentleman-Programming/gentle-ai — v3.7.0…v4.0.0

_3725+ commits._

### Features
- **feat(codex): recommend GPT-6.1 models in the Codex presets (#5154)** (b388eb3)
- **feat(orchestrator): use evidence budgets for delegation** (991c3d0)
- **feat(pi): retire pi-mcp-adapter in favor of Pi built-in MCP (#5121)** (c4de51f)
- **feat(opencode): support OpenCode V2 plugins, SDK provisioning, partial sync, and native review (#5115)** (43af401)
- **feat(kimi): support current kimi-code config root** (8bf0841)
- **Merge pull request #5060 from egdev6/feat/730-conductor-support** (bb0b3f5)
- **feat(agent): add Conductor workspace orchestrator support** (855ea65)
- **feat(rdd): limit receipt-driven development to Claude Code, Codex and OpenCode** (5ffb65f)
- **feat(filemerge): add JSONC-aware legacy marker cleanup with comment preservation** (96bed1c)
- **feat(prompts): port Gentle Shell orchestration sections to every runtime** (1ba7d88)
- **feat(state): introduce managed-assets manifest model** (0da1ab7)

### Fixes
- **fix(ci): make Windows Full Suite green (#5174)** (ff77164)
- **Merge pull request #5151 from egdev6/fix/1658-integrate-native-recovery** (87ec395)
- **fix(review): execute native recovery from negotiated status** (b31cc49)
- **Merge pull request #5146 from egdev6/fix/1658-preserve-recovery-shape** (45aecad)
- **fix(orchestrator): render one generic model variant** (1bf107a)
- **fix(review): preserve frozen recovery shape** (f15c855)
- **Merge pull request #5138 from barbatdev/fix/5112-bug-review-clone-scope-review-mode-opt-o** (717087b)
- **fix(review): refuse with a typed diagnostic on mounts that cannot represent private POSIX modes** (d5a85cd)
- **Merge pull request #5118 from egdev6/fix/1635-integrate-registration-transfer** (5bf23ad)
- **fix(doctor): pass the Engram reachability check on Pi-only native hosts (#5135)** (b198bc8)
- **fix(engram): reconcile transfer tests with latest main** (86a180d)
- **fix(engram): coordinate Antigravity transfer and guard rollback** (0e8dc90)
- **fix(pi): ensure mcp.json on sync and migrate mcp-adapter.json servers (#5132)** (a5c209d)
- **Merge remote-tracking branch 'origin/main' into fix/1635-integrate-registration-transfer** (5c2016e)
- **Merge pull request #5116 from egdev6/fix/1635-integrate-plugin-recovery** (e63d27e)
- **fix(engram): preserve registration across Antigravity migration errors** (2c73b4d)
- **fix(engram): recover partial Antigravity plugin writes** (76e518d)
- **Merge pull request #5105 from egdev6/fix/1635-input-accounting** (c14fb06)
- **Merge remote-tracking branch 'origin/main' into fix/1635-input-accounting** (2d6bfc4)
- **Merge pull request #5109 from egdev6/fix/5086-sync-test-v4-imports** (648806d)
- **fix(cli): align sync scope test imports with v4 module** (4b7a911)
- **fix(engram): validate Antigravity input and account for failed writes** (1530d94)
- **Merge pull request #5080 from egdev6/fix/1074-sync-workspace-scope** (d96a5d4)
- **fix(sync): close workspace verification and rollback gaps** (a00ce20)
- **fix(release): align release linkage, installers and guidance with /v4** (9696205)
- **fix(sync): support workspace-scoped refresh without global writes** (d268d8a)
- **Merge pull request #5069 from egdev6/fix/981-codex-persona-marker** (b424e4b)
- **fix(codex): preserve marker ordering and user content** (4dc5d72)
- **fix(codex): wrap persona in managed marker** (f2e5522)
- **Merge pull request #5065 from egdev6/fix/797-antigravity-engram-registration** (8154efd)
- **fix(engram): ignore non-engram antigravity globals** (62b767c)
- **fix(engram): preserve antigravity plugin command** (892a6e6)
- **fix(engram): make antigravity registration plugin-owned** (3e0800c)
- **fix(kimi): declare rendered agents hub writes** (19801af)
- **fix(kimi): preserve current agents instructions** (9f219aa)
- **fix(kimi): expand current agents hub modules** (4b6e6b0)
- **fix(kimi): tighten current layout contracts** (81b7c2d)
- **fix(agent): complete Conductor review contracts** (d5d168a)
- **fix(telemetry): report knowable effort and classify Claude built-in subagents (#5050)** (e2cb2bf)
- **fix(pi): honor an absolute PI_CODING_AGENT_DIR only for the real user home (#5040)** (e8c9f59)
- **Merge pull request #5028 from Gentleman-Programming/fix/opencode-settings-writer-gaps** (d23f490)
- **fix(opencode): tolerate malformed settings during persona sync** (51a1d32)
- **fix(opencode): validate settings before engram setup and drop stale sdd paths** (371d6f3)
- **Merge pull request #5027 from Gentleman-Programming/fix/5026-codex-mcp-multiline** (a9e36e9)
- **fix(opencode): close routing and persona settings refusal gaps** (a9d4b07)
- **fix(filemerge): ignore Codex MCP headers inside TOML multiline strings** (def54b8)
- **Merge pull request #5024 from Gentleman-Programming/fix/5022-filemerge-edge-cases** (eb462d2)
- **Merge remote-tracking branch 'origin/main' into fix/5022-filemerge-edge-cases** (109351c)
- **fix(filemerge): skip chmod when the forced mode already matches** (a23ee94)
- **Merge pull request #5016 from Gentleman-Programming/fix/opencode-settings-writer-consistency** (e0744c8)
- **fix(filemerge): ignore TOML headers in multiline strings and report mode-only changes** (bb6df49)
- **fix(opencode): keep new settings refusals off other agents** (e992615)
- **Merge pull request #5019 from Gentleman-Programming/fix/codex-toml-multiline** (464fba4)
- **fix(engram): reuse the TOML scanner for multiline string detection** (21116ab)
- **fix(engram): ignore MCP headers inside TOML multiline strings** (da3bcc8)
- **Merge pull request #4914 from danielgap/fix/4882-telemetry-increment-syncs** (a596d7b)
- **Merge remote-tracking branch 'origin/main' into fix/opencode-settings-writer-consistency** (52863e0)
- **fix(opencode): keep workspace installs on the loaded settings file** (3268e4a)
- **Merge pull request #5014 from Gentleman-Programming/fix/preserve-file-mode** (533c387)
- **Merge pull request #5017 from Gentleman-Programming/fix/install-sync-convergence** (44be476)
- **Merge pull request #5012 from Gentleman-Programming/fix/hermetic-pi-tests-brew** (ed90f1e)
- **fix(filemerge): never widen forced zero modes and repair launcher exec bits** (a3c139a)
- **fix(sync): make install and sync converge on the same files** (ea0b698)
- **fix(opencode): scope settings refusals to OpenCode and port new tests** (e03e405)
- **Merge remote-tracking branch 'origin/main' into fix/preserve-file-mode** (2564eaa)
- **fix(filemerge): stop rewrites from widening existing file permissions** (6c729f3)
- **fix(opencode): keep settings comments and refuse theme symlinks** (7585680)
- **Merge remote-tracking branch 'origin/main' into fix/hermetic-e-ff** (90bbcd3)
- **fix(install): keep Pi tests hermetic and brew free of auto-update** (a67fd18)
- **Merge pull request #4899 from danielgap/fix/2995-review-store-exit** (dee8edd)
- **fix(opencode): route component settings through selected config** (3603d96)
- **Merge pull request #4965 from ardelperal/fix/4689-unix-installer-module-major** (c9d6b0f)
- **Merge pull request #3731 from ardelperal/fix/3049-reviewer-plugin-path-skew** (171b36f)
- **Merge pull request #5008 from Gentleman-Programming/fix/uninstall-opencode-agents** (6ee5df7)
- **fix(opencode): route theme writes to selected settings** (5dc4fff)
- **fix(uninstall): scope OpenCode-family cleanup by runtime and legacy ownership** (87826c1)
- **fix(uninstall): remove gentle-ai-managed OpenCode and Kilo agents** (f5b236e)
- **fix(opencode): explain non-regular settings resolution** (da00e9b)
- **fix(opencode): migrate legacy agent markers during sync** (0dc8cc6)
- **Merge pull request #5006 from Gentleman-Programming/fix/review-guidance-ownership** (263a8f6)
- **fix(opencode): record legacy migration writes even when publishing errors** (befd337)
- **fix(filemerge): accept empty OpenCode settings during marker cleanup** (d652462)
- **fix(opencode): scope review cleanup and review-contract wiring** (535fd70)
- **Merge pull request #5005 from Gentleman-Programming/fix/orchestrator-prompt-install** (6471b68)
- **fix(filemerge): require json.Valid before MarshalJSONPreservingPermissions** (2372afd)
- **fix(install): install the ODD and RDD orchestrator prompt for every runtime** (fb4b59a)
- **Merge pull request #4998 from Gentleman-Programming/fix/4471-opencode-agent-parity** (c014fbe)
- **fix(upgrade): back up OpenCode default-agent ownership at the effective path** (4552384)
- **fix(opencode): preserve settings file mode on managed rewrites** (209d886)
- **fix(skills): remove the legacy shared marker on Windows and uninstall** (3f8df51)
- **fix(kilo): restore managed agents and migrate v3.7.0 __managed_by** (57871ec)
- **fix(install): restore non-SDD assets dropped by the SDD retirement** (3d01b37)
- **fix(opencode): migrate v3.7.0 managed agents off __managed_by** (b674adf)
- **fix(opencode): restore agent parity with Gentle Shell without __managed_by** (72519ac)
- **fix(assets): probe the PATH binary on every relay and drop the mtime cache** (84062a2)
- **Merge remote-tracking branch 'upstream/main' into fix/2995-rebased** (bff0dda)
- **fix(pi): isolate CodeGraph manifest for custom agent directories (#4985)** (6c7f162)
- **fix(skills): align PR policy with verified evidence** (07a3de0)
- **fix(skills): clarify issue authority and attestations** (8f3f6de)
- **fix(update): pin cross-major beta upgrade to checked revision (#4979)** (eb79777)

### Backend
- **Merge pull request #5147 from Gentleman-Programming/feat/evidence-budget-routing** (30ff0af)
- **Merge pull request #5081 from Gentleman-Programming/chore/v4-module-migration** (9bce022)
- **Merge pull request #5071 from egdev6/docs/1021-engram-cloud-sync** (d623137)
- **Merge pull request #5063 from egdev6/feat/782-kimi-code-paths** (c9293b2)
- **Enhance README with demo video links and description (#5051)** (7ae52f7)
- **Merge pull request #4760 from ardelperal/feat/1884-doctor-state-manifest** (64173bb)
- **Merge pull request #5004 from pablon/pr-slice-1** (3a19dbf)
- **Merge pull request #4983 from Gentleman-Programming/feat/skill-friction-current** (8b52c46)

### Tests
- **test(engram): canonicalize temporary home in lock assertion** (299f7a6)
- **test(sync): isolate legacy-plugin workspace regression home** (395b823)
- **test(windows): restore native test portability (#5076)** (61692e5)
- **test(windows): preserve platform-specific assertions in release checks** (26d4615)
- **test(kimi): allow declared hub routing path** (0da79bf)
- **test(agentguidance): stub the OpenCode version probe in the hostile-environment test (#5045)** (ccbc26a)
- **test(opencode): isolate config tests from OPENCODE_CONFIG_DIR** (4e66ab0)
- **test(pi): isolate the Pi adapter tests from PI_CODING_AGENT_DIR** (f0b4215)
- **test(cli): isolate brew env assertion and copy the command environment** (fc546c3)
- **test(uninstall): pin XDG_CONFIG_HOME in OpenCode uninstall integration tests** (f00df6a)
- **test(e2e): expect the orchestrator section in theme-only installs** (81a4711)
- **test(e2e): expect RDD routing guidance only on RDD runtimes** (4d95d11)
- **test(state): merge the bundle-digest sensitivity tests into one** (9fdf84d)

### Docs
- **docs(governance): label historical docs and state that reference docs track main (#5164)** (0d2a071)
- **docs: fix silently wrong E2E run pattern and Windows stable install (#5162)** (4740983)
- **docs(engram): clarify cloud import setup** (c50e21a)
- **docs(engram): document optional cloud sync** (da46e51)
- **docs: add demo video links to README (#5048)** (af24bfd)
- **docs(odd): record bot review fixes** (b79dca8)
- **docs(odd): record workspace settings regression fix** (091c25a)
- **docs(odd): record settings writer review corrections** (bd196fd)
- **docs(odd): record OpenCode marker migration evidence** (fe4390b)
- **docs(odd): align orchestrator feature objective with RDD scoping** (3d5c5a4)
- **docs(odd): record PR review fixes for opencode agent parity** (a050969)
- **docs(odd): record opencode agent parity verification evidence** (b51df81)

### Chore
- **refactor(orchestrator): unify generic render entry point** (e7fa6fd)
- **refactor(sync): remove test-only scope wrappers** (af70edb)
- **refactor(module): move Go module path and imports to /v4** (a9f1390)
- **refactor(agentguidance): keep review-contract fallback helpers test-only** (b8f5d7b)
- **chore(deadcode): baseline updated for #4760 manifest data model** (be20c94)
- **style(skills): format contract assertions** (7d27f21)

_Recap by [Repo Wrapped](https://repowrapped.com/gh/Gentleman-Programming/gentle-ai?utm_source=github-action)._