Skip to content

chore(repo): sync develop into next - #7210

Merged
supabase-cli-releaser[bot] merged 3 commits into
nextfrom
sync/develop-into-next
Oct 16, 2026
Merged

supabase-cli-releaser[bot] merged 3 commits into
nextfrom
sync/develop-into-next

Conversation

@supabase-cli-releaser

Copy link
Copy Markdown
Contributor

Merging develop into next conflicts. This branch starts at the tip of develop (f01410e); next is at 3f3cdfa.

Conflicting files:

  • apps/cli-go/pkg/config/templates/Dockerfile

To resolve:

git fetch origin
git switch sync/develop-into-next
git merge origin/next
# resolve the conflicts, then commit
git push origin sync/develop-into-next

Approve to fast-forward next; do not use the merge button.

supabase-cli-releaser Bot and others added 2 commits October 16, 2026 14:42
This bumps realtime from v2.144.3-r0 to v2.144.4-r0.


https://github.com/supabase/slim-services/releases/tag/realtime-v2.144.4-r0

Planned after supabase/slim-services published v2.144.4-r0. This branch
is rewritten from develop whenever a newer relevant release arrives.

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
…oves (#7205)

## Summary

**TL;DR:** Since #7124, no Claude-resolved `sync/develop-into-next` PR
has been auto-approved by `supabase-oss`. Claude's repair commit moves
the head past the only AI review, so the approval gate (review head must
equal PR head) never passes. This adds one bounded AI re-review after a
repair, and when `next` moves and conflicts at fast-forward time, Claude
re-resolves the same PR instead of asking a maintainer.

**Before**

```mermaid
flowchart LR
  A[AI review on X] --> B[Claude repair pushes Y]
  B --> C{"review head == Y?"}
  C -- no --> D[skip forever]
  D --> E[human approves]
  F[next moved + conflict] --> G[ask human to resolve]
```

**After**

```mermaid
flowchart LR
  A[AI review on X] --> B[Claude repair pushes Y]
  B --> C[one AI re-review on Y]
  C -- "clean or all answered" --> D[supabase-oss approves]
  C -- "needs a fix / CI red" --> E[maintainer]
  F[next moved + conflict] --> G["Claude re-resolves same PR<br/>(max 2 resyncs)"]
  G --> A
```

### Why

On #7158, the AI review saw `39034946` and the repair pushed `b064c720`.
Every later `sync-repair` run then logged "Nothing to repair; the AI
review did not see this head." until a maintainer approved it. On #7112,
`next` moved after approval and the resync conflicted, which left the PR
waiting on a person.

### What changed

- A resolution is everything after the latest resolve comment (from the
first Claude resolve or a resync). Repair rounds count per resolution,
using release-bot comments and reviews sorted by time.
- After a repair push, `sync-repair` posts a re-review marker, and a
separate `actions: write` job dispatches the AI review once. The job
that runs Claude never gets that permission. If the dispatch fails, it
tags maintainers.
- After the re-review, rounds can only reply to findings. Claude
declines repeats by pointing at its earlier replies. If a finding needs
a fix or CI fails, the PR goes to a maintainer. Nothing is pushed in
these rounds.
- `fast-forward`: if `next` moved and merging it into an approved
`develop`→`next` sync conflicts, it dispatches `sync-branches.yml` with
a new `resync_pr` input. That re-runs the resolve, check, fix and
publish steps on the same branch and PR. The limit is 3 resolutions. A
PR resolved by hand counts as one. If the dispatch fails, or the limit
is reached, it falls back to today's "resolve by hand" message.
- `resync_pr` only accepts an open same-repository
`sync/develop-into-next` → `next` PR.
- On a `sync/develop-into-next` PR, the AI review gets
`sync-resolution.diff`: each sync merge as `--remerge-diff`, plus the
commits made on the sync branch. Both prompts and the adjudicator limit
findings to what that resolution introduced, or to code on one side that
uses something the other side removed. Previously the review re-checked
all of `develop` since the last sync, and most of its findings were
dismissed as "not from the merge".
- `release-process.md` documents the new rules.

## Linked issue

- [x] I'm a Supabase maintainer.

## Checklist

- [x] The PR title follows Conventional Commits.
- [x] Tests added or updated for the change.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
@supabase-cli-releaser supabase-cli-releaser Bot added the do not merge Approve to apply; do not merge. label Oct 16, 2026
@supabase-cli-releaser
supabase-cli-releaser Bot requested a review from a team as a code owner October 16, 2026 15:38
@supabase-cli-releaser supabase-cli-releaser Bot added the do not merge Approve to apply; do not merge. label Oct 16, 2026
# Conflicts:
#	apps/cli-go/pkg/config/templates/Dockerfile
@supabase-cli-releaser

Copy link
Copy Markdown
Contributor Author

Claude resolved the merge of next

next deleted apps/cli-go and moved the service Dockerfile to apps/cli/src/shared/services/Dockerfile. develop's edit to the old copy is already in the new one: the two files are byte-identical, including the realtime v2.144.4 bump. So I deleted the old file, and nothing else in the tree reads that path.

Deleted: apps/cli-go/pkg/config/templates/Dockerfile.

Quick checks. The merged tree passes check:all and unit tests.

Approve to fast-forward next once checks pass (workflow run).

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 AI Review

Both independent reviews completed and reported no findings. I verified that the sole merge resolution deletes the obsolete Go Dockerfile, whose contents exactly match the relocated TypeScript Dockerfile. The realtime v2.144.4 update remains consistent with the artifact catalog, and the generator and image workflows use the relocated path. No sync-introduced issues found.

Findings

No issues found.

Stats

Claude findings: 0 · Codex findings: 0 · Confirmed: 0 · Refuted: 0 · Uncertain: 0


Models: claude-opus-5-5 + gpt-6.1-sol · Trigger: manual · Workflow run

This review runs once per PR. A maintainer can request another with a /ai-review comment.

@supabase-oss supabase-oss left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

CI is green and the AI review raised nothing the merge introduced, so this approves Claude's resolution of the sync (https://github.com/supabase/cli/actions/runs/38926411916).

@supabase-cli-releaser
supabase-cli-releaser Bot merged commit 10cdf54 into next Oct 16, 2026
49 of 50 checks passed
@supabase-cli-releaser
supabase-cli-releaser Bot deleted the sync/develop-into-next branch October 16, 2026 15:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

do not merge Approve to apply; do not merge.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants