Skip to main content

3.4.0 (2026-10-01)

Features​

3.3.0 (2026-10-01)

Features​

3.2.0 (2026-10-01)

Bug Fixes​

  • loop: report skipped ai-ready pickups with a reason (#247) (dbe9058), closes #244
  • loop: skip review claims on arms already passed or claimed (#246) (b7c7a7e), closes #243

Features​

  • loop: choose the review tier from the diff — one combined reviewer for docs-only PRs (#249) (cdf34ab), closes #241
  • loop: review Dependabot PRs labelled ai-review and recreate red ones (#248) (9412e15), closes #240

Performance Improvements​

3.1.2 (2026-09-29)​

Bug Fixes​

  • workflows: verify reviewer verdicts against the PR instead of trusting the return (#236) (8249869), closes #235

3.1.1 (2026-09-29)​

Bug Fixes​

  • deps: override serialize-javascript and uuid to patched versions (#232) (d98b626)
  • loop: leave PRs whose base isn't the default branch out of the tick (#234) (9fb413d), closes #233

3.1.0 (2026-09-29)

Features​

  • config: fix config writes unset defaults; doctor names them (#231) (a6a2d4b)

3.0.1 (2026-09-29)​

Bug Fixes​

  • loop: exclude .claude/ai-loop-status from git status in every repo the loop drives (#229) (8656f2d), closes #228

3.0.0 (2026-09-29)

Bug Fixes​

  • loop: conflict fixes merge the default branch instead of rebasing (#224) (bf73528), closes #216
  • loop: don't serialise pickups on shared doc files (#186) (5b02276), closes #180 #185 #159 #156 #152
  • loop: give each reviewer a unique review body file (#210) (4b8c23b), closes #206
  • loop: loop watch wakes only when new work appears (#184) (077c556), closes #183
  • loop: paginate the capped GitHub queries (#173) (3fef111), closes #163
  • loop: read the default branch instead of assuming origin/main (#177) (095d01b), closes #161
  • loop: rerun every failing check's run, not just the first (#213) (3c0b67b), closes #211
  • loop: resolve the default branch for the ci-runs probes (#198) (264b76c), closes #179
  • loop: scope the ci-runs probes to the ci.yml workflow endpoint (#197) (71c1a4d), closes #174
  • loop: size the pickup token reservation per agent role (#226) (d7237d6), closes #218
  • loop: warn at once when a waiting release run is stale (#225) (647e0be), closes #220
  • loop: warn when a release run has waited on approval for over a day (#187) (ed1b7ad), closes #57 #60 #153 #146
  • loop: warn when main CI runs are cancelled or pending with no jobs (#172) (78ed00c), closes #153

Features​

  • config: add humanUser for organisation-owned repos (#178) (c35ca44), closes #162
  • config: make the ci-runs workflow file configurable (#212) (713c5ff), closes #201
  • config: make the loop's limits, cadences and stall timeout configurable (#195) (fe9843b), closes #158
  • doctor: check the Claude Code allow rules the loop needs (#190) (764ef3a), closes #152
  • doctor: detect stale skills installed through the plugin (#171) (bceb367), closes #116 #132 #154
  • loop: add loop apply for handoff, send-back and cleanup transitions (#196) (e1f3a0c), closes #147
  • loop: cap concurrent agents across Workflows with maxAgents (#200) (3ae0ba6), closes #167
  • loop: keep the reviews when a conflict fix leaves the diff unchanged (#223) (ccd385d), closes #216 #216 #216 #217
  • loop: loop apply takes the review, fix and pickup claims (#199) (51625fc), closes #594 #148
  • loop: make loop watch the default driver (#189) (311e889), closes #156
  • loop: name the PR in handoff notifications (#168) (b72707b), closes #157
  • loop: re-run a failed check once before sending a PR back ci-red (#209) (15cfa95), closes #202
  • loop: resync a PR whose head lags its branch (#222) (55d259a), closes #219
  • loop: say whose turn it is in the tick summary (#182) (9901aae), closes #181
  • loop: send conflicted PRs back with an ai-conflicts label (#180) (a852151), closes #176
  • loop: warn on open high and critical security alerts (#207) (5c752a8), closes #203
  • loop: warn when the last release run failed (#208) (2d8435d), closes #204

BREAKING CHANGES​

  • the ai-loop skill no longer exports ROOT/AGENT_USER/… shell variables; it reads the tick's .env instead.
  • loop tick no longer removes worktrees; run loop apply.
  • .repo-tooling.json is no longer read; run repo-ai fix config.

2.0.0 (2026-09-26)

Bug Fixes​

  • guard: skip the node_modules rebuild when no worktree links the main checkout (#106) (70de5ef), closes #103
  • keep agentUser only in .repo-ai.json (#63) (cd7b902), closes #58 #55
  • loop: a halted tick doesn't create or retime the /ai-loop job (#110) (24aa987), closes #99
  • loop: a question a reviewer can't settle from the diff is not an ai-notes finding (#77) (4a68404), closes #76
  • loop: distinguish errors from warnings in loop tick text output (#131) (53134c8), closes #128 #128
  • loop: drop a pickup naming a file an in-flight ai-wip issue names (#123) (ab1a8d0), closes #120
  • loop: fetch without writing FETCH_HEAD so loop watch can't break a concurrent git pull (#105) (2e075c2), closes #102
  • loop: loop watch warns on an identity mismatch and prints a readable line per change (#83) (5823687), closes #82 #78 #69 #74
  • loop: only a missing status file starts from blank in loop watch (#130) (7779a43), closes #127
  • loop: report Workflow spend as outputTokensSpent, the output-only budget.spent() measure (#126) (b3718ab), closes #117
  • loop: require an explicit autoMerge opt-in before unattended merges (#143) (2b8c534), closes #142
  • loop: tell workflow agents a relayed user message is not their task (#107) (9237a3e), closes #101
  • loop: treat every agent-instruction file as non-docs (#78) (1dae93b), closes #72 #80
  • loop: treat the .windsurf/ rules directory as non-docs (#84) (3aa3edb), closes #81
  • loop: update a BEHIND PR's branch instead of sending it to a fixer (#73) (da7d982), closes #51
  • loop: wait on a passed BLOCKED PR whose required checks haven't reported yet (#113) (923d9dc), closes #112
  • statusline: drop the dead 'manual' suffix now that every tick records its next tick (#95) (f4c5468), closes #94

Features​

  • /ai-loop keeps itself going, no /loop needed (#92) (4e1a581), closes #91 #90 #50
  • add an /ai-tick skill that runs one loop tick immediately (#60) (0038e60), closes #59
  • config: publish a JSON Schema for .repo-ai.json and document every key (#70) (bf91ebd), closes #67
  • config: read agentUser/requiredSkills from .repo-ai.json (#55) (20533d1), closes #38
  • enforce the loop's budget and task caps in the Workflow scripts (#100) (3e7d02d), closes #41
  • fold ai-tick into a plain /ai-loop (#90) (b39a897), closes #89 #88 #88
  • fold ai-workflow into ai-loop as a single entry point (#88) (2cc3ddc), closes #87 #56
  • loop: add loop watch — poll the work list, print only on change (#74) (38d3c66), closes #62
  • loop: adopt any unlabelled PR authored by agentUser (#125) (839ee26), closes #115
  • loop: loop tick warns when the installed skill or workflows are older than the package's (#119) (fb4cb92), closes #116
  • loop: loop watch keeps the status file's summary current between ticks (#118) (6f9a3bc), closes #114
  • loop: one combined reviewer for docs-only PRs (#69) (bdb2848), closes #53
  • loop: pick up bug issues before other ai-ready issues (#109) (fb5de65), closes #108
  • loop: pickup Workflow runs fix rounds itself (#133) (c880616), closes #129
  • loop: stop the loop after a quiet period instead of ticking forever (#139) (cf1e888), closes #124
  • rename the ai-issue-loop skill to ai-loop (#57) (1bfb418), closes #56
  • setup: show the cost and liability notice and ask for acknowledgement (#111) (4d7542a), closes #45
  • ship the skills as a Claude Code plugin (#132) (5a6d096), closes #27
  • ship the Workflow scripts as named workflow files (#85) (626ce75), closes #40

1.1.0 (2026-09-24)

Bug Fixes​

  • loop: never strand ai-wip on a closed issue (#24) (b5e8a61), closes #1 #23

Features​

  • ai-issue-loop: show when the next tick is due, or that none is scheduled (#22) (b0313d5), closes #21

1.0.0 (2026-09-24)

Bug Fixes​

Features​


Every entry above is generated by semantic-release and published to GitHub Releases. Anything older than the first GitHub Release is recorded in CHANGELOG.md.