Skip to content

ci: gist-based conflict resolution for v4 → v4-next sync#21711

Draft
AztecBot wants to merge 3 commits intonextfrom
claudebox/gist-conflict-resolution-workflow
Draft

ci: gist-based conflict resolution for v4 → v4-next sync#21711
AztecBot wants to merge 3 commits intonextfrom
claudebox/gist-conflict-resolution-workflow

Conversation

@AztecBot
Copy link
Collaborator

@AztecBot AztecBot commented Mar 17, 2026

Summary

Replaces the current v4 → v4-next conflict handling (which creates a PR with conflict markers + spams Slack/ClaudeBox on every v4 push) with a gist-based approach:

  • On conflict: Creates a GitHub gist with conflict analysis (files, diff, resolution hints) instead of a PR with conflict markers
  • Deduplication: Subsequent v4 pushes that still conflict update the same gist — no new Slack messages, no spam
  • Human-in-the-loop: Posts to #backports once, human tags @claudebox in the thread to opt-in to auto-resolve
  • Auto-cleanup: Deletes the conflict gist when a subsequent merge succeeds (conflicts resolved)
  • Prompt .txt files: All text templates (gist summary, Slack message, ClaudeBox prompt) are in .github/prompts/*.txt for easy editing

What changes vs today

Current Proposed
On conflict Creates branch + PR with conflict markers Creates gist with conflict analysis
CI Runs on the broken PR (wastes CI) No CI until resolution PR is created
Spam risk Every v4 push creates new branch/PR/notification Gist is idempotent — updated in place
ClaudeBox Auto-dispatched (spam risk) Human opts in by tagging in Slack thread
Branch noise sync/v4-into-v4-next-* branches accumulate No branches until resolution

Files

  • .github/workflows/pull-v4-into-v4-next.yml — rewritten workflow
  • .github/prompts/v4-v4next-conflict-summary.txt — gist markdown template
  • .github/prompts/v4-v4next-slack-conflict.txt — Slack notification template
  • .github/prompts/v4-v4next-claudebox-resolve.txt — ClaudeBox prompt for resolution

Based on design: https://gist.github.com/AztecBot/b44f2a2d3afaada77d1033174c49b6c4

@AztecBot AztecBot added ci-draft Run CI on draft PRs. claudebox Owned by claudebox. it can push to this PR. labels Mar 17, 2026
- Post to Slack at most once per day (new top-level message)
- Subsequent conflicts same day get thread-replies instead
- Slack thread TS/channel stored in gist's state.json file
- Thread-reply template in v4-v4next-slack-thread-reply.txt
@AztecBot AztecBot force-pushed the claudebox/gist-conflict-resolution-workflow branch from c03c49b to 373772b Compare March 17, 2026 23:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci-draft Run CI on draft PRs. claudebox Owned by claudebox. it can push to this PR.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant