v2.14.0

Added

  • Bitbucket: the learning-loop store is no longer a stub (issue #906). A false-positive/wont-fix verdict (the dismiss alias included; fixed never persists on either provider) now writes a FeedbackEntry to the same .ai-pr-review/learnings.jsonl file on the ai-pr-review-bot branch GitHub already uses, injected into future review prompts as <repo-feedback> context the same way. Requires AI_FEEDBACK_LOOP=true and AI_BITBUCKET_VERDICTS=true, plus a Repository:Write scope on the Bitbucket API token. See docs/bitbucket-setup.md’s security note before enabling this. feedback/store.py’s previously GitHub-only GitBranchStore was split into a provider-neutral core (_StoreCore) plus a per-provider backend so both providers share the same retry/dedup/retention logic.

Fixed

  • A post-merge retrospective review of the #906 change set found and fixed several issues: a failed feedback-store write during Bitbucket verdict polling was silently acked and never retried; a stale duplicate env-var parser was left behind after its replacement landed; a docstring overclaimed retry behavior the code didn’t have; a malformed-API-response error was being misclassified as a retryable conflict.
  • A release-gate review found one integration-test gap: nothing exercised the feedback-store construction, verdict-persistence, and provider wiring together with the feedback loop actually enabled. Added a combined-transport test covering the full path end to end.
  • Bitbucket: Code Insights annotation posting could fail on a long finding, found live during this release’s e2e validation. The annotation summary field’s byte limit was set to 2000 instead of Bitbucket’s real 450-character cap. Unrelated to the #906 work, a pre-existing gap in the Code Insights feature.

Known issue

  • Bitbucket: a permanently-failing feedback-store write (e.g. a token missing Repository:Write) causes a duplicate “not saved” reply comment on every future run, indefinitely (issue #941). Comment/log spam only, no data loss, no security exposure. Tracked as a fast-follow.

See CHANGELOG.md for full technical detail.